跨語言學習對程序員的發展意義
很多人懷抱這種想法:那就是專一!這個在一定程度上有道理,但卻忘記了另外一句話:相輔相成。你只懂js和懂C/C++,JS,PHP,二者的發展前途絕對不一樣。前者藏起來是把寶劍,後者就是手持寶劍的功夫高手。你願意當劍還是當劍客?因為後者的領悟境界多你幾個檔次,他們已經懂得了編程是做什麽的...他們很可能創業,很可能有其他的事業去了...
所以應該關註的是跨語言,多語言的交互學習,從境界上提高你自己的編程水平,否則你的js也學的無法深入起來。
那麽編程語言有許多種,要學什麽?學習順序又是什麽?
我的感悟是:匯編->C語言->C++,然後才是其他語言,比如:PHP,JS,QT,JAVA,C#,Python等。
是不是感覺很多?是很多,但是也有取舍。C語言->C++這兩個是必學的,要理解的透徹,匯編就需要學習。當然數據結構和算法,操作系統,編譯原理等,雖然也需要,但這些不在今天討論的編程範圍之內。
然後根據行情選擇一個找工作範圍廣和對個人發展也有長遠意義的編程語言。此時你會發現很多語言都是相通的了,學起來也快速,你的求職面也開始變得廣起來了。如果你看過拉鉤網上的招聘,幾乎都是這樣的寫:精通某編程語言,如果懂另外什麽編程語言,優先錄用...
所以一條很不錯的發展和學習之路應該是:匯編->C語言->C++,然後選擇QT,PHP,JS,最後可以選擇(也可能看的到必須了)Python...
誤區:
1:不要認為當時什麽語言火了,在沒有任何基礎的情況下馬上就去,編譯語言這玩意,是不怕你有多少時間的,很多細節如果沒有其他的輔助,是想不通的。如:為什麽你寫個foreach,就能被解析?你可以說這是編譯器的事情,不用你管,確實,但是你能說服你自己嗎?不感覺很神奇嗎?當你感覺神奇的時候,說明你已經是門外漢了。就是不懂,才會神秘!
2:不要認為只找比如PHP工作,就不去學其他,比如js,這樣你會在工作中遇到很多的尷尬。你的理由可能比上一種誤區更多,但這不是什麽好事,你會發現你的技術難以突破瓶頸,你的職業發展受限,你的前途感覺開始渺茫,你的抱怨會越來越多,人生之路越來越狹窄。縱然有諸多借口,但最後害的是自己,所以這些借口不要太多。
3:不要亂七八糟的學,要有一條清晰的學習路線和學習順序。
比如你同時學js,php,qt,java,python,這幾門語言幾乎是平級的,同時學,對相互理解並沒有多少輔助作用,相反還會分散你的註意力,最後你的任務量很大,但是效果卻收效甚微。
如果是這種學習順序,就不同了,它們之間就形成了首位相呼應、相輔相成的螺旋式良性發展,這種順序:匯編-C-C++-QT,PHP,js,這3個同時。因為這3個平級的,應用方向不一樣。QT是桌面軟件開發(跨平臺),PHP是web開發後端語言(和服務器那邊掛鉤),js是web開發前端語言,和許多的領域掛鉤,如:web開發,移動端開發,webapp開發,小程序開發等都聯系起來。
跨語言學習對程序員的發展意義