IT行業有那麼多分支,又有那麼多編程語言,不可能把全部編程語言都學會,該選擇哪些語言做爲本身的學習方向?javascript
軟件開發分支 | 編程語言 | |
Web開發 | 前端 | HTML,CSS,javascript |
後端 | java,C++,C#,python,Golang,PHP,Node.js,Ruby,perl | |
桌面開發 | C++,Java,C# | |
移動端開發 | java,Kotlin,swift,object-c | |
遊戲開發 | C++,C#,java |
我學的專業是機械設計製造及自動化,但個人興趣並不在此,我更想找一個軟件開發的工做。我根據本身的理解將軟件開發分紅了四種類型,並瞭解了一下每種開發工做須要掌握的編程語言,最後繪製成上表,考慮通常狀況,表中只列出了經常使用的語言。前端
如今比較熱門的仍是互聯網行業,互聯網軟件開發分爲前端和後端,前端是給用戶呈現內容並與用戶交互的部分。前端的語言比較統一,用HTML和CSS呈現內容,用javascript實現動態化,學好這三種語言便可從事前端開發。但前端開發是我最不想作的工做,由於網頁變化的太快了,作不動就會被淘汰,並且前端開發講究漂亮、易用,我並不擅長這點。java
後端是個很是考驗技術的工做,除了基礎的編程語言還要掌握併發、數據庫等技術,以及跟語言配套的各類框架。後端的開發語言太多了,每種語言都各有優勢,而編程是一種手藝活,對語言用的越熟寫的越好。從過後端開發不能光靠本身的喜愛選擇語言,還得看看想去的公司用的什麼語言,若是碰見新成立的公司,忽然決定重構,要換開發語言就很是悲催了。python
桌面開發是個「歷史悠久」的工做,圖形界面庫也愈加成熟,C++中最好的圖形界面庫是Qt,C#的圖形界面庫是winForm和wpf,java大多用Swing。其餘語言沒有成熟的圖形界面庫,所以不太適合作桌面開發,不過如今也有一些軟件用前端技術開發桌面的圖形界面。android
移動端最多的就是android和iOS兩大平臺,若是不考慮使用高端技術,在android上開發就是用java或Kotlin,在iOS上開發就是object-c或swift,兩大平臺都有本身的圖形界面庫。數據庫
遊戲開發中用的最多的是C++和C#。用C++天然是其運行效率高,適合遊戲這種大運算量的應用,開放的虛幻引擎和很多封閉的遊戲引擎都是用C++。而C#由於有了unity這樣簡單易用的遊戲引擎也被普遍使用,而且C#相對於C++也更安全易用。桌面端也有些遊戲用的java開發,例如著名的Minecraft。遊戲開發須要掌握的不僅是編程語言,更多的要掌握計算機圖形技術。編程
我所掌握的語言是C\C++,python,C#,會用的圖形界面庫是Qt和wpf,這些都是隨着興趣去學的,看來我比較適合作桌面開發。swift