這兩天在看《編程人生》,這本書(shū)確實(shí)非常不錯(cuò)。而且看得也特別的輕松。其中有幾個(gè)人都談到了如何學(xué)習(xí)新的語(yǔ)言,但是給我最深刻的是google的首席java架構(gòu)師joshua bloch。正好最近我也在學(xué)習(xí)python,所以順便總結(jié)一下如何學(xué)習(xí)一門(mén)新的語(yǔ)言。希望你能補(bǔ)充一些。
心態(tài)
這不但是學(xué)習(xí)一門(mén)新的語(yǔ)言最重要的,而是對(duì)任何的學(xué)習(xí)都是最重要的。下面是書(shū)中的描述,非常的精彩,特別是那個(gè)比喻:
“學(xué)習(xí)一門(mén)新的語(yǔ)言的時(shí)候,要利用以前所學(xué)的語(yǔ)言的功底,但是也要保持開(kāi)放的心態(tài)。有些人執(zhí)著于一種理念:“這就是寫(xiě)所有程序必須遵循的方法”。我不是說(shuō)那種語(yǔ)言,但是某些語(yǔ)言,令人執(zhí)著于這樣的理念。當(dāng)開(kāi)始學(xué)習(xí)新語(yǔ)言的時(shí)候,他們會(huì)批評(píng)這種語(yǔ)言跟真正神的語(yǔ)言的所有的不同之處。當(dāng)使用新語(yǔ)言時(shí),他們極力使用神的語(yǔ)言的方法去寫(xiě)。這樣,你就會(huì)錯(cuò)過(guò)這個(gè)新語(yǔ)言真正的獨(dú)特之處。
這就像你本來(lái)只有一個(gè)榔頭,有人給了你一個(gè)螺絲刀,你說(shuō)“哎,這不是一把好榔頭,但是我應(yīng)該可以倒著拿螺絲刀,用螺絲刀來(lái)砸東西。”你得到了一個(gè)很爛的榔頭,但事實(shí)上它確實(shí)一把很不錯(cuò)的螺絲刀。所以你應(yīng)該對(duì)所有的事物保持開(kāi)放和積極的心態(tài)。”
如果你的杯子滿(mǎn)了,那他永遠(yuǎn)再也裝不進(jìn)水了。如果你認(rèn)為你找到了銀彈,那么你可能就要固步自封了。
對(duì)新的事物,方法保持一個(gè)開(kāi)發(fā)而積極的心態(tài),才能真正了解他,了解他的獨(dú)特之處。
這一點(diǎn)相對(duì)來(lái)說(shuō)比較難,程序員一般對(duì)他們的語(yǔ)言有一種近乎固執(zhí)的偏愛(ài)。Paul Graham在《黑客與畫(huà)家》中好像提到過(guò),開(kāi)發(fā)語(yǔ)言是程序員的宗教信仰,貶低一種語(yǔ)言對(duì)使用這種語(yǔ)言的程序員是一種侮辱。
了解他的歷史,哲學(xué)觀
選擇一門(mén)語(yǔ)言,往往選擇了一種思維方式和哲學(xué)觀。所以,了解一門(mén)語(yǔ)言的歷史和哲學(xué)觀非常重要。你要知道這門(mén)語(yǔ)言是誰(shuí)創(chuàng)建的,為什么創(chuàng)建,如何發(fā)展起來(lái)的,適合那些領(lǐng)域,以及解決問(wèn)題的哲學(xué)是什么。
那python來(lái)說(shuō),他的設(shè)計(jì)哲學(xué)是“用一種方法,最好是只有一種方法來(lái)做一件事”,而perl的設(shè)計(jì)哲學(xué)是“總有多種方法來(lái)做同一件事”。所以,我選擇的是python。
了解這方面的知識(shí)的一個(gè)非常好的來(lái)源是百科網(wǎng)站。
代碼,代碼,還是代碼
代碼是學(xué)習(xí)一門(mén)語(yǔ)言的必經(jīng)之路,可能也是最快的一種方法。
你不但要找一些優(yōu)秀的代碼來(lái)閱讀,還要親自動(dòng)手來(lái)寫(xiě)代碼。這個(gè)過(guò)程對(duì)學(xué)習(xí)語(yǔ)言來(lái)說(shuō)是非常快的。另外,你一定要用語(yǔ)言去解決實(shí)際的問(wèn)題,而不僅僅是寫(xiě)代碼來(lái)驗(yàn)證語(yǔ)法。在解決問(wèn)題的過(guò)程中,你可以學(xué)習(xí)它是如何解決問(wèn)題的,而且會(huì)積累語(yǔ)言的經(jīng)驗(yàn)。
在工作中使用一門(mén)新的語(yǔ)言來(lái)開(kāi)發(fā)新項(xiàng)目的風(fēng)險(xiǎn)相對(duì)較大,所以,如果再工作中嘗試使用新的語(yǔ)言,可以選擇一些小的項(xiàng)目來(lái)積累經(jīng)驗(yàn)。如果工作中無(wú)法使用這個(gè)語(yǔ)言,那么就在業(yè)余使用這個(gè)語(yǔ)言解決問(wèn)題吧。
社區(qū)
多去這個(gè)語(yǔ)言的社區(qū)逛逛吧,這里有很多人在討論這種語(yǔ)言,和他們一起討論你能夠?qū)W到更多。
本文轉(zhuǎn)自CSDN博客
posted on 2011-06-01 12:48
jadmin 閱讀(75)
評(píng)論(0) 編輯 收藏