白青海
(1.內蒙古民族大學 計算機科學與技術學院,內蒙古 通遼 028043;2.內蒙古民族大學 計算機應用技術研究所,內蒙古 通遼 028043)
當前,計算機語言層出不窮,五花八門,各自都有自己的應用領域,各自都有自己的特點和優(yōu)缺點.文章通過九種計算機語言,包括Python、Java、C、C++、JavaScript、C#、Ruby、PHP 以及Objective-C 的對比研究,對于每種編程語言,從由它打造的頂級應用成果、相關職位的平均薪酬(美國)以及該語言的優(yōu)勢與弊端等方面給出這幾種語言的對比研究,為今后從事計算機編程的人員可以提供一些參考.
(1)Java:Java無疑是目前市場需求量最大的語言.它的用途非常廣泛,可以用來開發(fā)Android&iOS應用、視頻游戲開發(fā)、桌面GUIs開發(fā)等.它的缺點是:占用內存高于C++、學習曲線不是很友好,應用啟動時間較長等.盡管如此,依然無法阻擋java前進的腳步,Java工程師的需求量也是遠遠大于其他語言.
(2)Python:近年來隨著人工智能AI的普及[1],Python的熱度不斷增長.它學習起來相對簡單,上手難度低,擁有很廣泛的工具及功能庫.它可以用于web 開發(fā)、視頻游戲開發(fā)、桌面GUIs 和軟件開發(fā)等.目前Rasp-berry Pi等新興平臺已經將其作為開發(fā)基礎.同樣,Python的缺點也很多:比如速度慢、移動領域表現(xiàn)糟糕.由于是動態(tài)語言,因此需要進行更多測試,并且會帶來某些只在特定運行中出現(xiàn)的錯誤.不過,Python還將隨著物聯(lián)網技術的普及進一步發(fā)展.
(3)C語言:C語言作為多數(shù)程序員入門接觸的第一種語言,目前來看表現(xiàn)只能算一般[2,3].C語言是一種通用型命令式計算機編程語言,你可以用它開發(fā)操作系統(tǒng)、開發(fā)軟件和硬件設備[4,5].它的優(yōu)勢很多:比如可移植性強,體型小巧,幾乎所有的現(xiàn)代編程語言都脫胎于C語言,也就是說,如果你了解了C語言,你會很容易掌握其他類語言.它的缺點是:沒有OOPs概念,不提供命名空間功能.
(4)C++:C++是一種面向對象的編程語言,被廣泛視為最出色的大規(guī)模應用構建語言[6].它可以用來開發(fā)軟件、搜索引擎、操作系統(tǒng)、視頻游戲等.跟Java比較起來,C++的編程過程并不友好,但它很靈活.缺點是,C++的學習難度較大[7-8].
(5)C#:C#是一種強大而靈活的編程語言,事實上C#的功能僅限于我們的想象力.它可以用來開發(fā)windows應用、企業(yè)級業(yè)務應用、軟件開發(fā)等[9].C#全面集成了.net庫,可轉換性強,需求也極其旺盛.它的缺點是學習曲線很陡峭,不具備跨平臺的能力,因此不大適合新手學習.
(6)JavaScript:移動時代的到來,使得JavaScript的需求量增加了很多.它可以做很多事情:網站前端、分析、功能控件、web交互.JavaScript的速度很快、容易學習,它還可以與其它多種語言協(xié)作.缺點是JavaScript沒有名稱空間,很難模塊化,不太適合開發(fā)大型程序.
(7)Ruby:Ruby 是屬于面向對象的通用型語言,可以用來開發(fā)桌面GUIs、web 應用和開發(fā)等.Ruby 的庫和工具很多,社區(qū)也很龐大.但Ruby也有很多問題,比如運行速度慢、缺乏說明文檔等.
(8)PHP:PHP 有很多用途,比如WordPress 插件、web開發(fā)、創(chuàng)建包含數(shù)據庫功能的頁面等.它易于上手、社區(qū)龐大、數(shù)據庫豐富.但是由于學習門檻過低,導致項目中存在大量的經驗不足的開發(fā)者,某些開源代碼甚至已經存在十余年之久.目前市場對PHP的需求量也不及其他語言.
(9)Objective-C:Objective-C是一款通用型面向對象編程語言[10],其本質上是將Smalltalk類消息的收發(fā)機制添加到C 語言當中.其目前為蘋果公司在OSX 及iOS 操作系統(tǒng)上的主要編程語言,并配合各自的API.如果希望以iOS或者OSX應用為開發(fā)方向,可以選擇該語言.人才市場:a.崗位聚集城市:紐約、芝加哥及舊金山.b.薪資:平均年薪為11萬美元.c.崗位數(shù)量:崗位數(shù)量約為21 000個.圖1為采用計算機語言從事相關工作的平均薪資,圖2為采用計算機語言從事相關工作的崗位數(shù)量.

圖1 采用計算機語言從事相關工作的平均薪資Fig. 1 Average salary for related work in computer language

圖2 采用計算機語言從事相關工作的崗位數(shù)量Fig. 2 Number of jobs using computer language to engage in related jobs
當下計算機編程語言總數(shù)達到幾萬種,但是最流行、最受歡迎的編程語言大致有十幾種.文章通過對這些最流行、最受歡迎的計算機語言的對比,給出它們各自的特性.從計算機語言的優(yōu)勢與弊端等方面給出這幾種語言的對比分析,為今后從事計算機編程的人員提供一些參考.