>
學(xué)校機(jī)構(gòu) >
廣西南寧達(dá)內(nèi)軟件科技有限公司 >
學(xué)習(xí)資訊>
怎樣才算是學(xué)會一種編程語言?
怎樣才算是學(xué)會一種編程語言?
119 2017-04-14
南寧達(dá)內(nèi):怎樣才算是學(xué)會一種編程語言?
我的一位老師曾對我們說,我們之所以現(xiàn)在還不知道Matlab這種語言,是因為我們不知道有個叫“參考資料”的命令是干什么用的。昨天,我在Haskellers注冊了一個帳號,我發(fā)現(xiàn)Haskell語言里有很多東西我根本沒聽說過。這件事促使了我寫這篇博客,我希望能給下面的這個問題找到答案:你對一種語言了解多少才能肯定的說你會這種語言?。
對一種語言的了解程度有很多等級。最基本的一種是只知道它的語法。然而,我不知道是不是當(dāng)你知道一種語言的語法,特有結(jié)構(gòu),以及能解讀用這種語言編寫的基本程序時你就可以稱作會這種語言。我可以說我對Brainfuck和Piet非常的了解,盡管我從沒用這種語言寫過一行程序(我是用一些工具生成代碼,或類似的編程)。
其次,當(dāng)一個人知道一種語言的某些生僻的結(jié)構(gòu)和語法時,他可以說他會這種語言。知道C的extern和volatile可以有助于你完成某些任務(wù),但這要看你干的是什么工作了。不管怎樣,從這種水平往上看,任何一個人,只要他能看懂一個用這種語言寫的代碼文件里50%以上的東西,那他就可以說自己會這種語言了。
下一個層次的水平表現(xiàn)為掌握這種語言里所有的代碼庫類庫的情況。例如,我知道有個家伙幾乎知道幾乎所有的Python的模塊包。對最新的包除外,但他的知識已經(jīng)足夠來鑒別在一個任務(wù)上采用哪個程序包更好。
最后,我知道到有兩個人(只是在網(wǎng)上),他們不僅了解那種語言所有代碼庫,同時也知道所有相關(guān)的工具。就Haskell而言,包括Cabal,darcs和Hackageinternals等,當(dāng)然,他們知道的遠(yuǎn)非只有這些。
現(xiàn)在,問題還是沒有答案。把問題重新復(fù)述一下可能變成這樣:當(dāng)你對一種編程語言必須了解多少時,你才能把它寫到你的簡歷上?
附言:想起來Perlis在EpigramsonProgramming這本書里的一句話:如果一種語言沒有對你的編程思維有任何影響,那它是一種不值得學(xué)習(xí)的語言。。根據(jù)這個,是否是說,當(dāng)你的編程思維改變了,你才能說你會了這種語言?
掃一掃
獲取更多福利
獵學(xué)網(wǎng)企業(yè)微信
獵學(xué)網(wǎng)訂閱號
獵學(xué)網(wǎng)服務(wù)號