如何選擇適合本身的編程語言

學習一種新的編程語言不只能夠提高你的專業能力、處理信息和分析數據的能力,也能讓你走上一條新的職業道路。甚至你還能夠將在學習語言時學到的計算思惟能力和解決問題的能力應用到各個領域。前端

然而,選擇編程語言不只要看我的興趣,還要考慮這個語言是否與目標職業崗位匹配等衆多因素。那麼,java

你應該如何選擇適合本身的編程語言呢?python


1.PHPgit

PHP是目前最流行的編程語言之一,也是一門很是適合初學者的語言 ,同時它也爲有經驗的程序員提供了不少高級功能。程序員

PHP能夠實現多任務並行處理,它能夠生成動態頁面內容,同時,也能夠對服務器上的全部文件進行建立(create)、打開(open)、讀取(read)、輸入(write)、關閉(close)等操做。web

使用理由算法

若是你打算寫一個網頁,而且有像Laravel, Symphony 2, Zend, CodeIgniter, CakePHP這樣的框架以及各類支持工具,用PHP就再適合不過了。 和其餘語言相比,PHP能更快速地執行動態網頁,並且隨着不斷的改進,它變得愈來愈容易部署。數據庫

因爲PHP被普遍使用,因此世界各地都有大量的PHP用戶。而若是你想了解更多關於PHP的知識,能夠加入當地的PHP羣組。編程

使用公司後端

不少服務器提供商都使用PHP服務器,它爲超過2000萬個網站服務,並被不少公司使用,好比:Facebook;Etsy;Drupal;WordPress;Whatsapp;Tumblr;SnapChat;Hootsuite;Nokia等。

使用崗位

PHP開發人員;軟件工程師;全棧開發人員;前端開發人員。

2.JavaScript

JavaScript這幾年來愈來愈流行。它是一門基於原型、函數先行的語言,也是一門多範式的語言。

它支持面向對象編程,命令式編程,以及函數式編程,被開發人員結合着HTML和CSS普遍使用。

使用理由

JavaScript 能夠被認爲是網頁的行爲端,它嵌入在大多數瀏覽器中,用於網頁廣告、網頁分析和網頁窗口小部件的製做。 JavaScript也能夠用來創建網站上的自動完成功能、解決佈局問題和加強HTML框,這樣可讓用戶自行預設,添加文本。 JavaScript既能夠用於後臺腳本,也能夠用於前端腳本,如今很難找到一個不運行js的設備,它幾乎無處不在。 JavaScript也是一種快速、靈活且富有表現力的編程語言,它有Angular和React等這些流行框架,你能夠用它來編寫可重用的組件,這些組件能夠插入到應用程序中,從而控制一個「堅固」的框架。好比,開源平臺Node.js,它就是創建在Chrome 的 JavaScript運行時刻上的,對於建立快速的可擴展的網絡app很是便利。

使用公司

Airbnb;Yahoo;Snapchat;LinkedIn;FitBit;Opsview;Adstream;PaySafe;Sky;Eurostar;HSBC;Thomas Cook等。基本上使用網站的公司都使用JavaScript。

使用崗位

JavaScript開發人員;前端開發人員;Web開發人員;軟件開發人員;Web技術分析師;全棧JavaScript開發人員(Full Stack JavaScript Developer)

3.Java

儘管名字類似,但Java與JavaScript沒有任何關係。 Java自1995年開始被使用,是關於網站開發最先的編程語言之一,它到如今仍然很是流行,在TIOBE編程語言排行榜中連續兩年都排名第一。

Java是一門很是靈活的語言,它可用於開發Web應用程序、桌面程序和移動應用程序,還可應用於製做網絡遊戲、上傳照片、參與虛擬旅行和使用交互式地圖等。

使用理由

Java能夠說是Android的基礎,它推進着Android應用程序的開發,因此對那些想進入移動開發行業的人來講,Java是一個很好的選擇。 因爲Java這門語言歷史悠久,因此它有大量的圖書和大量的文件可供你在學習時查閱參考。 而且Java軟件有一個開源版本的Java編譯器,程序員能夠在Java平臺上的開源應用上交流合做。 Java語言還有優良的工具,並且它爲了讓初學者學起Java來更容易,正在進行進一步改良。

使用公司

從Lloyds Bank Group, Credit Suisse, Financial Times, HSBC, Deutsche Bank, Goldman Sachs等金融銀行到Facebook, Ebay, Netflix, Uber, DigitasLBi, BBC, Sky和Right move等知名網站,Java被大量的企業所使用。

使用崗位

Java開發人員;軟件開發人員;後端開發工程師;Java軟件架構師等。

4.Objective-C

和Java同樣,Objective-C能夠用來編寫桌面軟件和移動應用程序。 它是一種基於C語言的面向對象編程語言,被蘋果開發人員用於開發iOS和Mac OS的移動應用程序。

使用理由

在Swift出現以前, Objective-C是iPhone原生應用程序的首選語言。 它有強大的界面生成器,支持泛型編程如Java,Scala 或 C#。 若是你想進入蘋果公司,確定須要學習Objective-C。

使用公司

Apple;Instagram;Uber;Slack;Snapchat;9gag;TimeHop;Zillow;Weebly;FitBit;Luminosity等

使用崗位

全棧開發人員;軟件開發人員;Objective-C開發人員;軟件架構師;後端開發人員;IOS開發人員;應用程序開發人員;移動應用程序開發人員等

5.Swift

Swift於2014被引進,用來部分替代Objective-C。從Mac、iPad和iPhone到Apple Watch和Apple TV應用程序,Swift幾乎參與了全部蘋果產品的開發。

若是你想從事蘋果技術開發崗位,須要同時學習Objective-C 和Swift,由於這兩種語言一般被應用於同一個應用程序。

使用緣由

和Objective-C同樣, Swift也是蘋果承認的語言。它被認爲是一種新的創新型編程語言。它的源代碼的開放性和易用性,旨在給開發人員提供更多的自由。 Swift支持推斷類型(inferred types),這使得代碼獲得簡化,並且由於這一語言中嵌入了強大的錯誤處理工具,因此在使用它的過程當中不易犯錯。

使用公司

Apple;Artsy;Lyft;DeloitteUK;Microsoft;Shazam;TransferWise;First Utility;On the Beach;BBC;http://comparethemarket.com;Amazon等

使用崗位

iOS開發人員;軟件開發人員;iOS應用開發人員;移動應用開發人員;前端開發人員等

6.Python

Python和PHP同樣是服務器端和非編譯動態編程語言,它能夠單獨使用,也能夠做爲另外一個框架的一部分使用。因爲它是一種通用語言,因此它幾乎能夠用於從服務器自動化到數據科學和機器學習等各個領域。

大多數公司如今開始在他們的數據團隊中引入機器學習,這意味着Python將成爲實現高級算法的最經常使用的語言。並且該語言還擴展到建立移動應用程序——創建網站、軟件和遊戲,幫助研究人員破解相關數據並提供數據庫訪問。

Python和PHP的區別在於:python與PHP使用的堆棧類型不一樣。並且python的應用範圍很廣,你能夠根據本身的興趣有選擇性地學習,好比:若是你只是想作網站建設,只要學習了web部分,你就能在瀏覽器中完成基本的建站工做了。

使用緣由

對於初學者來講,Python是很好的入門語言,由於它易於閱讀和理解,能夠減輕初學者初學語言時的語法學習壓力。 Python由於它簡易的語法和可讀性強的代碼而備受推崇,同時它能處理大量複雜問題,因此使用者在使用Python時能夠專一於學習編程概念而沒必要擔憂細節。 並且Python以其擁有大量的可用圖書和大型社區而有名——它有第五大的堆棧溢出社區(5th largest Stack Overflow community )和第三大的Meetup社區(3rd largest Meetup community ),這些能夠爲你提供不少向其餘開發者學習的機會。

使用公司

Instagram;Google;Vine;Snapchat;PayPal;DropBox;Pinterest;Netflix;Uber;Spotify;Reddit等。 從金融科技銀行和金融公司(用於訂價、風險管理和貿易管理的平臺)到創建和維護零售網站的電子商務公司,都在使用Python。

使用崗位

Python開發人員;軟件開發人員;後端開發人員;全棧開發人員;數據庫管理員;數據科學家;解決方案架構師;運維工程師等

7.Ruby和Ruby on Rails

Ruby是一種服務器端解釋型、非編譯的動態編程語言。Ruby on Rails 是一個可使開發、部署、維護 web 應用程序變得簡單的框架,沒有Ruby on Rails,Ruby是沒用的。

Ruby可使用命令式編程和函數式編程,這一語言是Perl, SmallTalk, Eiffel, Ada and Lisp等語言的融合。 Ruby被普遍應用於初創公司和大型公司,用於構建模型和Web應用程序。同時Ruby on Rails可使用戶輕鬆高效的構建Web應用程序和網站。

使用緣由

Ruby能夠快速開發,並且它是有着強大單行命令的編程友好的語言。 Ruby on Rails是高度可移植的,並且它能夠應用於UNIX,Max OS X和Windows 95到2000,DOS,BeOS等多種桌面環境。一些大的網站都是使用Ruby on Rails構建的,如Airbnb、Groupon和Kickstarter等。 並且它是一種功能強大的開源語言,涵蓋前端和後端編程,這讓你能夠輕鬆地開發整個Web應用程序。 同時它也有一個蓬勃發展的社區,其中有不少適合初學者參加的會議和聚會。

使用公司

GitHub;Twitter;Snapchat;Tumbl;Kickstarter;GoPro;Airbnb;On the Beach;Citizens Advice;Deliver;Amazon等

使用崗位

Ruby on Rails開發人員;軟件工程師;Ruby應用程序開發人員;前端開發人員;運維工程師;網站開發人員等

8.Perl

Perl是一種通用的編程語言,最初用於文本處理,但如今它已被普遍應用於Web開發、網絡編程、GUI開發、生物信息學、系統管理、測試等各個方面。 近年來,Perl的普及率基本上已經恢復到20年前的水平。

使用緣由

Perl是開源的,代碼簡潔而有效,並且它既有趣又容易使用,因此也很是適合初學者學習。 由於巨大的第三方代碼庫CPAN收集了大量的有用的、可重複使用的Perl模塊,因此初學者能夠參考圖書庫和簡化編寫代碼。並且若是你學會了這門語言,那麼你學其餘語言,好比:Python,Ruby,PHP,java,.net時就不會有什麼問題。 Perl有資源豐富的社區。Perl程序員熱愛他們的語言,而且普遍地記錄Perl的相關知識,因此在這裏你能夠很容易就找到關於Perl問題的答案。

使用公司

Snapchat;http://Booking.com;C.V.Library;Zoopla;cPanel;NET-A-PORTER;Deutsche Bank;XS4ALL;Amazon;LoveFilm等

使用崗位

Perl開發人員;Perl腳本編寫員;Perl程序員;軟件工程師;軟件開發人員等

9.C#

「C-Sharp」是微軟開發的一種面向對象的編程語言,它借用了與Java有相似功能的C++的語法。

因爲它的靈活性,從提供大數據服務器軟件到建立Web應用程序,C #幾乎能夠用於任何地方。它最初被用於微軟.NET框架,這一框架有一個很大的關於預生成代碼類的庫。

使用緣由

由於C #對於Windows平臺的.NET能提供很大的支持,所以,當建立Windows桌面應用程序時,C #已經成爲開發人員的首選語言。C #是在集合了在C++和Java語言中的優良元素的基礎上建立的,而且它也打算髮展成通用型語言。 C #是一種強類型語言,讓初學者容易找到bug並消除bug,使初學者更容易養成用最優解編碼的習慣。 若是你是C #的新手,你能夠從微軟找到不少可用的資源和教程。

使用公司

Microsoft;Huddle;StackOverflow;ASOS;BloombergLP;http://Moonpig.com;NextPLC;Hays;Natural History Museume等

使用崗位

C #開發者;.NET開發人員;軟件架構師;測試開發人員;全棧開發者等

10.Scala

Scala 是一種可擴展的語言,這意味着它能夠隨着你的學習而成長改變。

你可使用Scala隨便鍵入一行表達式,看看結果會發生什麼變化;也可使用Scala構建大型的關鍵系統,像Twitter和LinkedIn這樣的大公司就是使用Scala來構建大型的關鍵系統。

以靈活性著稱的Scala 語言可用於面向對象編程、腳本或其內部的功能範型。 Scala 也是一個JVM語言,它能夠用來生成運行在Java虛擬機的軟件。

使用緣由

Scala是開源的,它語法簡潔,對一些人來講它就像是一種腳本語言。 Scala的類型系統至關複雜,可是它的REPL(解釋器)爲初學者學習編程語言提供了很大的幫助。 Scala擅長解決函數問題,而且有不少巨大的庫能夠參考,並且它能夠提供不一樣的方法來解決一樣的問題.

使用公司

LinkedIn;EDFT;Twitter;Novell;theGuardian;Xebia;Xerox;FourSquare;Sony;Siemens;Thatcham;OPower;GridGain;AppJet;Reaktor等

使用崗位

軟件工程師;Scala開發人員;數據科學家;JVM開發人員;數據工程師;Dev Ops架構師;大數據開發人員;Scala工程師等


相關文章
相關標籤/搜索