TIOBE2017年4程式設計開發語言排名和20年經驗體會
可以訪問連結檢視詳細排名 https://www.tiobe.com/tiobe-index/
每月一次的語言熱門排行榜又釋出了,當然國外的語言熱門程度和國內還是有一定的區別,不過也可以作為參考,大家一起說下自己工作的語言,給想要學習的同學做一些借鑑,我先說下我瞭解和熟悉的一些語言。首先宣告不保證觀點都正確,只是根據我近20年的學習和研發經驗得出的體會,我也不會認為哪種語言最好,只是每種語言有不同的應用場景。
先說下我各種開發使用語言的背景,這樣你也能判斷出我那些體會是有價值的。
先說我現在工作中還用到的程式語言
C++:
也是從大學就開始學習使用,實際專案大概是從2005年開始使用,第一份工作也是從事c++開發,當時是開發防火牆類的專案,這個目前也是我工作主要用到的語言,做影象視訊和嵌入式相關專案。
c++語言很多應用場景被c#、python替代,相對於java來說就業並不容易,並且c++對開發人員的基本原理掌握要求較高,對於新畢業的同學,有較好教育背景和紮實的技術功底還是很容易找到較高工資的工作。現在的熱門趨勢是物聯網和人工智慧,在這些領域c++還是擁有一定的不可替代性。
Lua:
2007年開始使用的指令碼語言,當時用c++做編譯實在太麻煩,自從引入了lua解決了很多問題,所以現在我的c++專案一定會引入lua,與c/c++的結合非常簡單,可以很容易將lua原始碼編入到你的專案中,由於lua比較小巧效率也較高。lua最多應用是在網遊中,任務指令碼很多都是用lua。
C:
這個肯定是接觸最早的語言,大學裡面最先學習的語言,當時最早接觸c語言都不知道他能做什麼,只是做一些控制檯程式,現在在實際專案中會涉及到,基本都是做底層涉及到,如做51、stm32,驅動。上層應用我基本都換為使用c++。
php:
最有爭議的一句話就是php是最好的語言,我最早做出實際專案的語言是,大概是2000年,php一直使用至今。2000年是做了個二手網上商城,也沒有推向市場,當時還沒有taobao,不過以當時一個純IT男就算推出很難做起來。目前專案當中涉及到web的,我的第一選擇就是用php,在我們的開發的雲相機專案中,也將php嵌入到了板子中。
C#:
當時做winform程式覺得c++ mfc太麻煩(當時還不知道QT),java swing開發編輯器不是那麼好用,就選擇了C#,現在做winform程式如果不涉及到太高效能要求不需要跨平臺,第一選擇一定是c#,開發便捷方便,而且可以很容易和c++整合開發和除錯,web端程式的開發也有很大市場,但我沒有做過實際專案就不做評論,熟悉的同學可以幫忙補充。
html5 javascript:
做web肯定不會不用js,使用過jquery,extjs,bootstrap等。
只做前端,現在屬於比較緊缺的人才了,你只要精通前端就能,人才屬於供不應求。但如果一窩蜂去學習很快也會飽和。
sql:
可能都不能算語言,現在nosql大行其道,但是sql雖然被部分替代但是還是擁有極其廣泛的應用。我在專案中處理用sql做負責的統計,也用儲存過程做過完整的簡訊專案。
Bash Shell:
應該也算一種語言吧,做linux,Unix開發人員必學,用bash來處理很多工真是特別簡單,比如做一個網路伺服器只要幾行程式碼。
用過、學習過、可能應用的的語言
Python:
在一個專案中使用過,主要是基於openstack做開發,不是很熟悉的語言,最近準備開始學習。現在熱門的機器學習很多都是基於Python。
java:
接觸比較早的語言,語言剛推出沒多久就接觸研究了,大概是1998,當時是開發java applet,當時只覺得做出的東西很卡,也是研究生期間學習的語言,算是花了很大精力學習,當時找工作機會最多的語言,比如IBM大部分職位是針對java的,他們連視窗程式都是用java開發的。實際工作後帶團隊做過一個三年的專案基於ssh。java語言目前應該在中國應該還是最容易就業的語言,兩年以上經驗的java開發人員極端的搶手,在市面上很難招到,但java做外包專案的較多。
Pascal:當年為了考研學習的語言,考作業系統用到,現在估計不一定非要用pascal了,實際專案中沒有應用,只是試著研究過delphi。現在數學領域應用很多。
Visual Basic:上學期間學習過,當時應該是做的一些和硬體相關的實驗,沒有實際專案應用過,但這個語言在國外很火,國內倒是很少聽說有什麼大的專案應用的。
ActionScript:flash的應用,多媒體應用,總體趨勢是向下的
只是一些感悟,不一定能給出新人學習語言的明確意見,但可以成為你做判斷的參考。
大家可以關注我在csdn學院上的課程
http://edu.csdn.net/lecturer/961