過去十年,程式設計語言發生了很大的變化,随着網際網路大時代的邁進,将來還會發生更多的變化。在最新釋出的IEEE年度榜單中,Python仍占據首位。
我們都非常喜歡自己的裝置。手機上的相機能夠幫助我們記錄人生中最寶貴的時刻,而網際網路及其衆多通信工具能夠讓我們與遠方的朋友和家人保持聯系。通常我們都不會想起為我們帶來網際網路的正是各種程式設計語言,但是我們也不能忽視最近某些程式設計語言的流行發生了變化。我們可以從這些變化中了解數字世界的發展方向,同時也可以回顧一下這段發展史。
排名第一:Python
上個月,IEEE綜覽(IEEE Spectrum)釋出了各大程式設計語言的年度排名,許多人驚訝地發現Python保住了頭把交椅的寶座。Python這種基于腳本的程式設計語言,一直在IEEE綜覽的排名中居首位。然而,這并不奇怪。IEEE對各大程式設計語言的評分進行了權重處理。去年,Python的得分為100、C++的得分為99.7、Java的得分為97.5、而C的得分為96.7。然而,今年程式設計語言的格局發生了變化。雖然Python仍以100分高居榜首,但Java成了第二名,得分卻隻有96.3——大幅下降。第三位的C為94.4,C++以87.5的得分滑落到第四位,而統計程式設計語言R以81.5的得分排在第五位。排名6-10的程式設計語言依次為JavaScript、C#、MATLAB、Swift和Google Go。
請注意,IEEE綜覽的排名包括支援電子和電氣工程硬體以及軟體應用程式的所有程式設計語言。IEEE根據8個資料來源,通過11個度量标準生成了該排名清單,其中的資料來源包括IEEE、Reddit、Stack Overflow、推特、Google、GitHub、CareerBuilder、Hacker News和GitHub。
IEEE是世界上最大的工程和應用科學組織,但其不是對程式設計語言進行排名的唯一組織。TIOBE也釋出了軟體程式設計語言的年度排名。TIOBE沒有考慮硬體,在其排名中Java高居榜首,其次分别是C、Python、C++、C#、Visual Basic .NET、JavaScript、SQL、PHP和Objective-C。

對話程式員:各程式設計語言十年來的發展史
十年前的排名
2010年,在TIOBE的程式設計語言指數中,居于榜首的十大程式設計語言分别為:Java、C、C++、PHP、Visual Basic、C#、Python、Objective-C、Perl和Ruby。
2014年,在IEEE的首次排名中還出現了C#、PHP和Ruby。
發生了哪些變化?
有些程式設計語言(例如Ruby和Ruby on Rails),由于運作時的速度和啟動速度不夠快,無法支援全面的商業産品。而有些語言(比如PHP),由于安全性的問題導緻Facebook等公司放棄了使用。
Python、Java、JavaScript和C屬于通用語言,是以它們都得到了廣泛的使用。尤其是Python,它有許多專門的庫支援機器學習、深度學習(Theano)、人工智能以及微控制器和小型計算機(比如Adafruit、Arduino和Raspberry Pi)。此外,它還擁有友善Python代碼與其他産品和庫結合使用的庫,例如Google的Tensor Flow和微軟的Cognitive Toolkit。Python的用途非常廣泛,且易于學習,同時還提供了當今大資料世界所需的安全性。
其他因素:移動裝置,可穿戴裝置
除此之外,影響程式設計語言流行度的還有其他一些因素。語言本身固有的安全性是一個因素,還有一個因素是移動裝置的普及。2018年,70%的美國人擁有智能手機,50%擁有平闆電腦。對于這些移動使用者來說,他們90%的上網時間在使用應用,而非網際網路。
在考慮程式設計語言的流行度時,這是一個非常重要因素,因為某些語言更适合于移動應用程式的開發以及與平闆電腦和智能手機等便攜式裝置的結合使用,是以,還有一個因素不可忽略:硬體。
為我們日常生活帶來便利性的可穿戴裝置及其他裝置越來越受歡迎,包括睡眠與活動螢幕、智能手表以及矯正姿勢的可穿戴裝置等。随着可穿戴裝置的普及以及桌面軟體的減少,能夠滿足這種需求的程式設計語言的流行度勢必會增加。
過去十年發生了很大變化,随着我們朝着網際網路大時代的邁進,将來還會發生更多的變化。目前,用途最廣泛以及最安全的程式設計語言将獲得最大的普及,但是随着電子工程學的不斷發展,誰又能預料程式設計的未來呢?