編程主要需要學(xué)好哪幾門編程語(yǔ)言?
1 、對(duì)普通人而言不建議C或C++
高手請(qǐng)略過(guò),該語(yǔ)言底層,比較難,用的少。但對(duì)該語(yǔ)言一直懷有深深的敬意
2 、不建議學(xué)習(xí)Oracle、Cisco和C#系列
使用的公司少,就業(yè)面狹窄。Oracle主要金融、銀行在用,Cisco是路由器技術(shù),用的公司也比較少,C#運(yùn)行的Window服務(wù)器環(huán)境貌似只占了5%,這些語(yǔ)言并不是說(shuō)不行,而是使用面狹窄
具體看下不同語(yǔ)言的差異
3、Web前端
web前端是最近才火的一個(gè)專業(yè),遙想兩年前,做前端的還是被親切的稱為“前端仔”,從事的是一些切圖、布局、做瀏覽器兼容性等等不是那么有技術(shù)含量的工作,很多公司的前端甚至外包出去,“前端仔”一直生活在程序員鄙視鏈的最底層。
4、服務(wù)端開發(fā)
如果想學(xué)服務(wù)端開發(fā),隨便選一門語(yǔ)言即可,無(wú)論是Java、PHP還是Python,都是得到廣泛應(yīng)用。
服務(wù)端主要工作包括業(yè)務(wù)邏輯的開發(fā)、數(shù)據(jù)模型的設(shè)計(jì)、可能還有中間件的開發(fā)、部署上線任務(wù)等等。
服務(wù)端工程師的發(fā)展方向是架構(gòu)師以及CTO了,需要根據(jù)用戶量,產(chǎn)品特征來(lái)設(shè)計(jì)整個(gè)系統(tǒng)的架構(gòu)。比如現(xiàn)在需要做一個(gè)互聯(lián)網(wǎng)產(chǎn)品,這個(gè)產(chǎn)品的用戶量你需要估計(jì)有多大,根據(jù)用戶量推算需要多少服務(wù)器,是否要做分布式,前端緩存要不要,用什么語(yǔ)言開發(fā)等等.....這都是架構(gòu)師或者CTO需要解決的工作。
其實(shí)服務(wù)端還包括很多內(nèi)容,比如可能需要開發(fā)中間件,還需要部署開發(fā)測(cè)試環(huán)境,自動(dòng)化測(cè)試工具等等,這些都屬于后端工程師的范疇。
5、機(jī)器學(xué)習(xí)工程師(數(shù)據(jù)科學(xué))
其實(shí)市面上對(duì)機(jī)器學(xué)習(xí)的理解不對(duì)的,機(jī)器學(xué)習(xí)應(yīng)該屬于數(shù)據(jù)科學(xué)的范疇,可笑的是社會(huì)上只是吹噓這個(gè)概念,而連基礎(chǔ)的概念都很少有人清楚
6、C/C++
C++能做什么呢?貌似什么都能做,又什么都不能做... 但學(xué)習(xí)C++對(duì)了解計(jì)算機(jī)體系結(jié)構(gòu)還是非常有作用的,其應(yīng)用范圍包括操作系統(tǒng)、驅(qū)動(dòng)開發(fā)、黑客技術(shù)、反編譯軟件破解、外掛開發(fā)等等,包括Nodjs、Java虛擬機(jī)、數(shù)據(jù)庫(kù)的底層代碼都是用C++來(lái)完成,所以如果你立志做一名極客,可能C++還是必須掌握的。但是其比較難,不像其它語(yǔ)言擼幾天就能擼個(gè)網(wǎng)站跑起來(lái),C++從入門到應(yīng)用實(shí)在是一件挺困難的事。
7、硬件工程師
偏傳統(tǒng)行業(yè),研發(fā)周期長(zhǎng),沒軟件行業(yè)迭代快。需要的技能包括C/C++語(yǔ)言、匯編、電子電路、濾波器、arm等等。由于產(chǎn)業(yè)鏈條長(zhǎng),迭代慢,缺乏爆發(fā)性增長(zhǎng)能力,整體收入并沒軟件工程師高。當(dāng)然,硬件公司一旦成長(zhǎng)起來(lái)更容易形成行業(yè)壟斷力,比如大疆、Intel等等,而且,確實(shí)很好玩是不是?