你還不是一個(gè)程序員。我喜歡把這本書(shū)看作是給你的“編程黑帶”。你知道的足以開(kāi)始另一本關(guān)于編程的書(shū)并處理它。這本書(shū)應(yīng)該為您提供了閱讀大多數(shù) Python 書(shū)籍并實(shí)際學(xué)習(xí)所需的心理工具和態(tài)度。它甚至可能使它變得容易。
我建議您查看其中的一些項(xiàng)目并嘗試用它們構(gòu)建一些東西:
選擇上述資源之一,并閱讀他們擁有的任何教程和文檔。當(dāng)您瀏覽包含代碼的文檔時(shí),輸入所有代碼并使其工作。我就是這樣做的。這就是每個(gè)程序員的做法。閱讀編程文檔是不夠的;你必須這樣做。在您完成教程和他們擁有的任何其他文檔后,做一些事情。任何事情都會(huì)做,即使是別人已經(jīng)寫(xiě)的東西。做點(diǎn)什么吧。
只要理解你寫(xiě)的任何東西可能會(huì)很糟糕。沒(méi)關(guān)系,雖然我對(duì)我第一次開(kāi)始使用的每種編程語(yǔ)言都很糟糕。當(dāng)他們是初學(xué)者時(shí),沒(méi)有人寫(xiě)出純正的黃金,任何告訴你他們寫(xiě)過(guò)的人都是大騙子。
我將教你如何學(xué)習(xí)大多數(shù)你將來(lái)可能想學(xué)習(xí)的編程語(yǔ)言。本書(shū)的組織基于我和許多其他程序員如何學(xué)習(xí)新語(yǔ)言。我通常遵循的流程是:
在這本書(shū)中,我強(qiáng)迫你非常緩慢地、小塊地完成這個(gè)過(guò)程。其他書(shū)籍的組織方式不同,這意味著您必須根據(jù)我讓您這樣做的方式推斷其內(nèi)容的組織方式。最好的方法是輕松閱讀本書(shū)并列出所有主要代碼部分。把這個(gè)清單變成一套基于章節(jié)的練習(xí),然后簡(jiǎn)單地一次一個(gè)地做。
前面的過(guò)程也適用于新技術(shù),假設(shè)它們有您可以閱讀的書(shū)籍。對(duì)于沒(méi)有書(shū)籍的任何內(nèi)容,您可以執(zhí)行上述過(guò)程,但使用在線文檔或源代碼作為您的初始介紹。
您學(xué)習(xí)的每一種新語(yǔ)言都會(huì)使您成為更好的程序員,并且隨著您學(xué)習(xí)的更多,它們變得更容易學(xué)習(xí)。通過(guò)你的第三種或第四種語(yǔ)言,你應(yīng)該能夠在一周內(nèi)學(xué)會(huì)類(lèi)似的語(yǔ)言,而陌生的語(yǔ)言則需要更長(zhǎng)的時(shí)間。既然您了解了 Python,相比之下,您就有可能很快地學(xué)習(xí) Ruby 和 JavaScript。這僅僅是因?yàn)樵S多語(yǔ)言共享相似的概念,一旦你用一種語(yǔ)言學(xué)習(xí)了這些概念,它們就會(huì)在其他語(yǔ)言中起作用。
學(xué)習(xí)一門(mén)新語(yǔ)言要記住的最后一件事是:不要做一個(gè)愚蠢的游客。一個(gè)愚蠢的游客是去另一個(gè)國(guó)家然后抱怨食物和家里的食物不一樣的人。“為什么我在這個(gè)愚蠢的國(guó)家吃不到好吃的漢堡?。俊?當(dāng)你學(xué)習(xí)一門(mén)新語(yǔ)言時(shí),假設(shè)它所做的不是愚蠢的,它只是不同的,并接受它以便你可以學(xué)習(xí)它。
但是,在您學(xué)習(xí)一門(mén)語(yǔ)言之后,不要成為該語(yǔ)言做事方式的奴隸。有時(shí)使用一種語(yǔ)言的人實(shí)際上會(huì)做一些非常愚蠢的事情,除了“我們一直都是這樣做的”沒(méi)有別的原因。如果你更喜歡你的風(fēng)格,并且你知道其他人是怎么做的,那么如果它改善了事情,就可以隨意打破他們的規(guī)則。
我真的很喜歡學(xué)習(xí)新的編程語(yǔ)言。我認(rèn)為自己是一個(gè)“程序員人類(lèi)學(xué)家”,并且認(rèn)為它們只是對(duì)使用它們的程序員群體的一些見(jiàn)解。我正在學(xué)習(xí)一種他們都用來(lái)通過(guò)計(jì)算機(jī)相互交談的語(yǔ)言,我覺(jué)得這很有趣。再說(shuō)一次,我是一個(gè)奇怪的人,所以只要你想學(xué)習(xí)編程語(yǔ)言就行了。
享受!這真是有趣的東西。
聯(lián)系客服