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