在編程中體驗(yàn)純粹的快樂
Learn Python The Hard Way 的***,有一個(gè)「老程序員的建議」,來告誡學(xué)完了這個(gè)教程的同學(xué)們不要拘泥于編程語言,不要陷入「關(guān)于語言的迷信和爭吵」中,無論是否從事的是計(jì)算機(jī)行業(yè),都可以愛上編程,從中的到樂趣。這個(gè)老程序員的忠言翻譯如下:
現(xiàn)在你已經(jīng)完成了這個(gè)教程,并決定繼續(xù)深入學(xué)習(xí)。編程可能成為你的事業(yè),也可能成為你的一個(gè)愛好。所以你可能需要一些建議,來保證少走彎路,并從這個(gè)「新歡」中的到***的樂趣。
我從事編程已經(jīng)很長時(shí)間了,長到對我來說這已經(jīng)是一件極其無聊的工作。我在寫這本書的時(shí)候,已經(jīng)懂20門編程語言,能在一天到一個(gè)周的時(shí)間學(xué)會一項(xiàng)新語言(取決于它有多么古怪)。即使這樣,我還是對此感到無聊,不再有任何興趣。但這并不是說編程是很無聊的,也不是說你在將來會覺得它無聊,我意思是,我在干到現(xiàn)在這個(gè)年紀(jì),覺得沒意思了。
經(jīng)過這么多年,我發(fā)現(xiàn)一個(gè)真理:用哪一個(gè)編程語言并不重要,重要的是用它來做什么。其實(shí)這道理我早就懂,不過還是經(jīng)常忽視,還是會被編程語言分心。但從現(xiàn)在開始我不會再忘了,你***也記住。
你學(xué)哪門語言,用哪門也都不重要,千萬不要陷入對語言的宗教崇拜中,那只會讓你忘記原來的目的:把編程語言當(dāng)做一個(gè)工具來做有趣的事情。
編程作為一種智力活動,幾乎是唯一一種能創(chuàng)造交互藝術(shù)的藝術(shù)形式了。你可以寫軟件讓別人來玩,甚至可以通過這種形式直接和別人對話。別的藝術(shù)都沒有這種交互性。電影拍出來之后直接播放給觀眾,圖畫不會動,但是代碼能做到。
從事編程行業(yè)所獲得的樂趣其實(shí)一般。這份工作確實(shí)不錯(cuò),但是你可以經(jīng)營一個(gè)快餐店來賺一樣多的錢,還更輕松快樂。所以你***在別的領(lǐng)域?qū)⒕幊套鳛橐粋€(gè)秘密武器。
在科技公司工作的人會編程并沒有什么特殊的,也不會獲得特殊的尊重。但是從事生物、化學(xué)、政治、公務(wù)員、社會學(xué)、物理、歷史和數(shù)學(xué)的人如果會編程就會格外受到尊重,因?yàn)樗麄兡茏龅竭@些了不起的事情,來發(fā)展他們的學(xué)科。
當(dāng)然了,這些建議都沒什么意義。如果你真的喜歡編程,你嘗試通過任何方式用它來提高你的生活。盡情去探索這個(gè)怪異、神奇、充滿智慧的,50年來人們都一直孜孜不倦在探索的世界吧!愿快樂永遠(yuǎn)與你同在。
***不得不提的一點(diǎn),學(xué)著寫軟件可能讓你變得有些與眾不同。不管是好是壞,總之是不同了??赡苡腥藭δ憧瘫。热缭谀闵砩嫌谩笗?**」(nerd)這個(gè)詞;可能你會發(fā)現(xiàn)因?yàn)槟銖?qiáng)大的邏輯,別人都不愿意和你爭吵;可能你甚至?xí)l(fā)現(xiàn)你懂計(jì)算機(jī)的運(yùn)作原理,別人因?yàn)橛X得你怪異、不合群。
對這些情況我只有一條建議:讓他們?nèi)ニ腊桑。═hey can go to hell.)這個(gè)世界需要古怪的人,需要書***,他們清楚或者熱衷于弄清楚事情運(yùn)作的原理。當(dāng)真的有人如此對你的時(shí)候,要記住:這是你自己的路,不是他們的。與眾不同不是犯罪,別人這么說你只是因?yàn)樗麄兗刀?,他們永遠(yuǎn)不敢在自己的白日夢里奢求這些。
You can code. They cannot. That is pretty damn cool.