IT行業(yè)的高薪資眾所周知,這個行業(yè)也在不斷的吸引著年輕人加入,無論是剛畢業(yè)的大學(xué)生或是打算轉(zhuǎn)行的非IT業(yè)內(nèi)人士,這些初學(xué)者們都期望能用最簡單最快速的方法切入進(jìn)來。那么對于程序初學(xué)者來說,如何選擇適合自己的語言呢?藍(lán)鷗資深講師團(tuán)隊(duì)為初學(xué)者們整理了答案,希望初學(xué)者在選擇相關(guān)的程序培訓(xùn)時能有所幫助。
初學(xué)者往往不理解,每一種語言里面必然有一套“通用”的特性。比如變量,函數(shù),整數(shù)和浮點(diǎn)數(shù)運(yùn)算,等等。這些是每個通用程序語言里面都必須有的,一個都不能少。你只要通過“某種語言”學(xué)會了這些特性,掌握這些特性的根本概念,就能隨時把這些知識應(yīng)用到任何其它語言。你為此投入的時間基本不會浪費(fèi)。所以初學(xué)者糾結(jié)要“先學(xué)哪種語言”,這種時間花的很不值得,還不如隨便挑一個語言,跳進(jìn)去。
很多初學(xué)者不了解,一個高明的程序員如果開始用一種新的程序語言,他往往不是去看這個語言的大部頭手冊或者書籍,而是先有一個需要解決的問題。手頭有了問題,他可以用兩分鐘瀏覽一下這語言的手冊,看看這語言大概長什么樣。然后,他直接拿起一段例子代碼來開始修改搗鼓,想法把這代碼改成自己正想解決的問題。在這個簡短的過程中,他很快的掌握了這個語言,并用它表達(dá)出心里的想法。
所以初學(xué)者要想事半功倍,就應(yīng)該從一種“合理”的,沒有明顯嚴(yán)重問題的語言出發(fā),掌握最關(guān)鍵的語言特性,然后由此把這些概念應(yīng)用到其它語言。哪些是合理的入門語言呢?以下這些語言都可以用來入門:
Scheme
C
Java
Python
JavaScript
那么相比之下,不推薦用哪些語言入門呢?
Shell
PowerShell
AWK
Perl
PHP
Basic
Go
總的說來,你不應(yīng)該使用所謂“腳本語言”作為入門語言,特別是那些源于早期 Unix 系統(tǒng)的腳本語言工具。PowerShell 雖然比 Unix 的 Shell 有所進(jìn)步,然而它仍然沒有擺脫腳本語言的根本問題——他們的設(shè)計者不知道他們自己在干什么 。
采用腳本語言學(xué)編程,一個很嚴(yán)重的問題就是使得學(xué)習(xí)者抓不住關(guān)鍵。腳本語言往往把一些系統(tǒng)工具性質(zhì)的東西(比如正則表達(dá)式,Web 概念)加入到語法里面,導(dǎo)致初學(xué)者為它們浪費(fèi)太多時間,卻沒有理解編程最關(guān)鍵的概念:變量,函數(shù),遞歸,類型……
不推薦 Go 語言的原因類似,雖然 Go 語言不算腳本語言,然而他的設(shè)計者顯然不明白自己在干什么。所以使用 Go 語言來學(xué)編程,你不能專注于最關(guān)鍵,最好的語言特性。
不管是初學(xué)者還是資深程序員,應(yīng)該專注于語言特性,而不是糾結(jié)于整個的“語言品牌”。只有這樣才能達(dá)到融會貫通,拿起任何語言幾乎立即就會用,并且寫出高質(zhì)量的代碼。