當前位置:
首頁 > 最新 > 如何選擇適合自己的編程語言?

如何選擇適合自己的編程語言?

譯者丨April Shen

編輯丨朱瑾

專欄丨九章演算法

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

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

你應該如何選擇適合自己的編程語言呢?

1

PHP

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

PHP可以實現多任務並行處理,它可以生成動態頁面內容,同時,也可以對伺服器上的所有文件進行創建(create)、打開(open)、讀取(read)、輸入(write)、關閉(close)等操作。

使用理由

如果你打算寫一個網頁,並且有像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;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;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;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工程師等


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 九章演算法 的精彩文章:

如果老闆犯錯了,你會怎麼做?-Top 10 面試問題解析

TAG:九章演算法 |