{eval=Array;=+count(Array);}
去年,我在網絡上讀過這樣一段文字:“代碼其實是存儲在存儲器(內存、硬盤或者閃存等)中有序電壓高低,編譯出的結果還是電腦中存儲的有序電壓高低。從代碼的編輯到最后對電路的控制都是電壓在起作用,只是為了方便而給我們展現的形式不一樣,本質其實一樣的。世界上本沒有軟件,軟件只是對硬件的一種反映,就像意識是對客觀世界的反映一樣的。”
同樣是在去年里,IEEE Spectrum雜志向人們發布了2017年度編程語言排行榜。并且,IEEE Spectrum是在獲取了Stack Overflow、Twitter、Reddit、IEEE Xplore、GitHub、CareerBuilder等10個重要的數據源之后,再對48種編程語言進行排序的。
不難發現,單從各語言的應用范圍和流行度來看,C、C++、JavaScript、Java、Python,便是優秀的程序員最應該精通的語言。另外,我的建議是,初學者首先就應該從最難的C/C++學起,并學精。每個程序員不可能去學完世界上所有的編程語言,在精通了C/C++、JavaScript、Java、Python等語言后,根據個人的志向以及工作的需要,再選擇性地學會幾門語言,是完全值得肯定的做法。在我看來,一個優秀的程序員,應該能完全精通2到5門的語言,同時會個10門左右的語言,都是很正常的。況且,現在很多的公司在外面招程序員時,也更喜歡那種T型人才(一專多能型)。一個程序員會更多門的語言,往往體現著這個人的大腦聰明,以及有著愛鉆研,不怕吃苦,學習能力強等品質。再則,一個程序員在精通了幾門的編程語言這個基礎上,還會更多門的語言,在工作時解決問題的能力往往會更強(思路更開闊),工作起來的效率也更高,當然也更得老板的喜歡。
C語言是一種通用的命令式編程語言,于上個世紀70年代中問世。可以說,C既是最老的語言,又是應用范圍最廣的語言。C語言為其他語言如JavaScript、Java、Python、C#等提供了構建模塊,且被人們廣泛地應用于不同的操作系統和應用中。由于C語言為其他語言提供了基礎,所以初學者最好先是從C/C++入手。
C++的應用范圍非常廣,起初是作為C的增強版而問世的。C++是一種靜態數據類型檢查的,支持多重編程范式的語言。C++支持過程化程序設計、數據抽象、面向對象程序設計和泛型程序設計等多種程序設計風格,C++已被應用在FireFox、Adobe Programs等知名軟件中。C++可被用來開發系統軟件、應用軟件、客戶端應用程序和視頻游戲等。
JavaScript是一種基于對象和事件驅動并具有相對安全性的客戶端腳本語言,同時也被廣泛用于客戶端Web的開發,常被用來給HTML網頁添加動態功能。JavaScript還可用于開發游戲和桌面應用等。
Java是基于類的面向對象的語言,具有跨平臺、面向對象、泛型編程的特點,被廣泛用于企業級Web應用和移動應用的開發。最初Java的名字叫Oak。上個世紀90年代,互聯網興起并發展,Sun公司預見到了Oak在互聯網行業中的應用前景,便改造了Oak,并于1995年5月正式對外發布Java。之后,Java一路伴隨著互聯網發展至今,逐漸成為了重要的網絡編程語言之一。Java是為跨多個軟件平臺而設計,一個在Mac OS X上開發出來的程序同樣能在Windows上運行。
Python是一種高級的服務器端腳本語言,適用于網站和移動應用的開發。對初學者而言,Python確實是簡單易學。其他如C#、PHP、SQL、Objective-C、Ruby等語言,這里就不一一介紹了。順便補充一下,去年網絡上有過一篇文章,標題是《2017中國程序員生存報告》。該報告中就有一組數據顯示,C、C++、JavaScript、Java、Python,PHP等語言相對占主流。
說到編程語言,一個重要的參考就是TIOBE排行榜, 該榜單是根據互聯網上有經驗的程序員、課程和第三方廠商的數量,并使用搜索引擎(如Google、Bing、Yahoo!)以及Wikipedia、Amazon、YouTube等統計出排名數據,以此反映某個編程語言的熱門程度。
下圖是今年四月份前20排名的編程語言榜單:
從此榜我們可以看出排名前三甲的分別是Java,C和Python,說明這三種編程語言的熱度最高。當然,除了看每個月的榜單外,還應該關注編程語言熱度的長期變化,以此來分析某種編程語法發展的趨勢。
從這個圖中可以看出,C與Java長期占據榜單的前兩名,C++曾經也輝煌過,但是熱度有明顯的下降趨勢,而Python則相反,處于上升的趨勢。所以從數據來看,最流行的應該是Java。
TIOBE只是反映語言的熱度,并不能說明一門編程語言的好壞,或者一門語言編寫代碼的數量多少。學習編程語言還是要根據個人的興趣愛好和行業要求進行選擇。
編程語言都有哪些
編程語言分為四大類,分別是匯編語言、腳本語言、機器語言和高級語言。
匯編語言的實質和機器語言是相同的,都是直接對硬件操作,只不過指令采用了英文縮寫的標識符,更容易識別和記憶。
腳本語言是為了縮短傳統的編寫-編譯-鏈接-運行(edit-compile-link-run)過程而創建的計算機編程語言。
由于計算機內部只能接受二進制代碼,因此,用二進制代碼0和1描述的指令稱為機器指令,全部機器指令的集合構成計算機的機器語言,用機器語言編程的程序稱為目標程序。
高級語言是大多數編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令,并且去掉了與具體操作有關但與完成工作無關的細節,同時,由于省略了很多細節,編程者也就不需要有太多的專業知識。
常見的編程語言包括C#、Basic、Pascal、C語言、C++、JAVA、AAuto、易語言、SQL。
2如何挑選編程語言
計算機軟件開發的過程中,程序員要對多種編程語言進行綜合考慮。具體考慮包括軟件將要安裝的硬件環境、軟件的平臺支持性、開發設計成本和效率、選擇相對熟練的計算機編程語言和客戶對軟件的使用要求。
Python 的優勢在于容易上手,適合作為初學者的第一門編程語言。常用于爬取數據、數據挖掘、人工智能、機器學習、網站搭建。
C 語言是國內計算機專業學習的第一門編程語言。常用于操作系統開發、硬件開發等。
一個非常好的問題。計算機編程語言已經發展近100年了,中間經歷了多次迭代進化,出現了很多種編程語言。
根據最新2020年4月份TIOBE編程語言指數排行榜,排名前3的分別是Java、C、Python。其中C是最古老的編程語言之一,現在依然使用廣泛。
TIOBE編程排行榜根據全球工程師、課程和搜索引擎數量為指數得出,在一定程度上反映了編程語言的發展趨勢。
最常見的編程語言在不同軟件開發領域會有差別,要看題主從事的行業了。整體來看,Java、H5/JavaScript、Python和C當前最為常用。
在企業應用開發中Java最被青睞,尤其是電商系統、企業信息管理、各種應用系統,Java語言+ Spring Boot框架組合處于絕對的壟斷地位,豐富的組件和易用的功能,使得學習起來比較容易。
根據IDC的統計數字,Java程序員市場需求量占到了所有軟件開發類人才的60%~70%。
隨著移動互聯網的發展,大前端開發逐漸成為重點,這時的H5前端已經成為跨平臺應用開發。作為H5 Hybrid架構三劍客之一的JavaScript,是一種解釋型的腳本語言,由解釋器加載執行,用在網頁前端動態展示、調用服務后端交互等場景中。
Python在AI算法研究和開發中使用最為普遍,語法靈活,支持面向功能、面向對象和面向過程的開發方式,簡單易學,有豐富的第三方庫和框架,并且對AI算法的動態適用性非常好。結合Jupyter Notebook交互式筆記本,基本是標配。
眾多的Python技術社區非常活躍,推動整個語言生態健康發展。
隨著物聯網技術快速發展,C語言再次得到關注和使用,主要開發領域是底層模塊驅動程序和嵌入式應用。
C語言具有很好的可移植性和很高的運行效率,運行時環境占用資源少,幾乎與所有系統兼容,常用于操作系統和嵌入式系統開發。
我是工作多年的Web應用架構師,陸續發布關于軟件開發方面的文章,歡迎關注我,了解更多IT專業知識。
5
回答1
回答0
回答0
回答3
回答0
回答0
回答4
回答0
回答0
回答