為什么把編程當(dāng)作自學(xué)的入口?
導(dǎo)讀:歡迎你來(lái)到站長(zhǎng)在線的站長(zhǎng)書(shū)籍欄目,你正在學(xué)習(xí)的是李笑來(lái)著作的《自學(xué)是門(mén)手藝》一書(shū)中的《為什么把編程當(dāng)作自學(xué)的入口?》原文內(nèi)容如下:
永久美國(guó)免備案虛擬主機(jī)1元1天,15元1月,100元1年,1000元永久
站長(zhǎng)在線旗下答案網(wǎng)站,全站所有題目,免費(fèi)查看答案和答案解析
導(dǎo)讀:歡迎你來(lái)到站長(zhǎng)在線的站長(zhǎng)書(shū)籍欄目,你正在學(xué)習(xí)的是李笑來(lái)著作的《自學(xué)是門(mén)手藝》一書(shū)中的《為什么把編程當(dāng)作自學(xué)的入口?》原文內(nèi)容如下:
為什么把編程當(dāng)作自學(xué)的入口?
很多人誤以為 “編程” 是很難的事情。
…… 實(shí)則不然 —— 這恰恰是我們選擇 “編程” 作為自學(xué)的第一個(gè) “執(zhí)行項(xiàng)目” 的原因。
一本關(guān)于自學(xué)能力的書(shū),若是真的能夠起到作用,那么它就必須讓讀者在讀之前和讀之后不一樣 —— 比如,之前可能沒(méi)有自學(xué)能力,或者自學(xué)能力很差,之后就有了一定的自學(xué)能力……
然而,這很難。不但對(duì)讀者來(lái)說(shuō)很難,對(duì)作者來(lái)說(shuō)更難 —— 我當(dāng)過(guò)那么多年被學(xué)生高度評(píng)價(jià)的老師,出版過(guò)若干本暢銷(xiāo)且長(zhǎng)銷(xiāo)的書(shū)籍,所以更是清楚地知道例子的重要性。
道理當(dāng)然很重要;可是,在傳遞道理的時(shí)候,例子相對(duì)來(lái)看好像更重要。
同樣的道理,例子不準(zhǔn),人就可能會(huì)理解錯(cuò);例子不精彩,人就可能聽(tīng)不進(jìn)去;例子居然可以令人震驚,那就可以做到讓聽(tīng)眾、讓讀者 “永生不忘”。
許多年前,有位后來(lái)在美國(guó)讀書(shū)已經(jīng)博士畢業(yè)了的學(xué)生來(lái)信,大意是說(shuō):
好多年前,我在新東方上課,聽(tīng)您講,人學(xué)習(xí)就好像是動(dòng)物進(jìn)化一樣…… 很多人很早就開(kāi)始停止了進(jìn)化,本質(zhì)上跟猴子沒(méi)啥區(qū)別。
那段類(lèi)比好長(zhǎng),我記不太清楚細(xì)節(jié)了…… 可是,當(dāng)時(shí)我是出了一身汗的,因?yàn)槲液鋈挥X(jué)得自己是一只猴子??墒?,突然之間,我不想繼續(xù)做猴子,更不想一直做猴子!
從那之后,我好像變了一個(gè)人似的…… 現(xiàn)在我已經(jīng)博士畢業(yè)了,覺(jué)得應(yīng)該寫(xiě)封信告訴您,我不再是猴子了,最起碼是大猩猩,而且我保證,我會(huì)一直進(jìn)化。
……
所以啊,在我看來(lái),寫(xiě)書(shū)講課之前,最重要的工作,也是做得最多的事情,其實(shí)就是 “找到好例子” —— 那即意味著說(shuō),先要找到很多很多恰當(dāng)合適的例子,而后再通過(guò)反復(fù)比較試驗(yàn),挑出那個(gè)效果最好的例子。了解了這一點(diǎn),將來(lái)你準(zhǔn)備任何演講,都會(huì)不由自主地多花一點(diǎn)時(shí)間在這方面,效果肯定比 “把幻燈片做得更花哨一些” 要好太多了罷?
后來(lái),我選中了一個(gè)例子:“自學(xué)編程” —— “盡量只通過(guò)閱讀學(xué)會(huì)編程”。
(一)
選擇它的理由,首先就在于:
事實(shí)證明,它就是無(wú)論是誰(shuí)都能學(xué)會(huì)的 —— 千萬(wàn)別不信。
它老少皆宜 —— 也就是說(shuō),“只要你愿意”,根本沒(méi)有年齡差異。十二歲的孩子可以學(xué);十八歲的大學(xué)生可以學(xué);在職工作人員可以學(xué)…… 就算你已經(jīng)退休了,想學(xué)就能學(xué),誰(shuí)也攔不住你。
它也不分性別,男性可以學(xué),女性同樣可以學(xué),性別差異在這里完全不存在。
它也不分國(guó)界,更沒(méi)有區(qū)域差異 —— 互聯(lián)網(wǎng)的恩惠在于,你在北京、紐約也好,老頭溝、門(mén)頭溝也罷,在這個(gè)領(lǐng)域里同樣完全沒(méi)有任何具體差異。
尤其是在中國(guó)?,F(xiàn)狀是,中國(guó)的人口密度極高,優(yōu)質(zhì)教育資源的確就是稀缺…… 但在計(jì)算機(jī)科學(xué)領(lǐng)域,所有的所謂 “優(yōu)質(zhì)教育資源” 事實(shí)上完全沒(méi)有任何獨(dú)特的競(jìng)爭(zhēng)力 —— 編程領(lǐng)域,實(shí)際上是當(dāng)今世上極為罕見(jiàn)的 “教育機(jī)會(huì)公平之地”。又不僅在中國(guó)如此,事實(shí)上,在全球范圍內(nèi)也都是如此。
(二)
編程作為 “講解如何習(xí)得自學(xué)能力的例子”,實(shí)在是太好了。
首先,編程這個(gè)東西反正要自學(xué) —— 不信你問(wèn)問(wèn)計(jì)算機(jī)專(zhuān)業(yè)的人,他們會(huì)如實(shí)告訴你的,學(xué)校里確實(shí)也教,但說(shuō)實(shí)話都教得不太好……
其次,編程這個(gè)東西最適合 “僅靠閱讀自學(xué)” —— 這個(gè)領(lǐng)域發(fā)展很快,到最后,新東西出來(lái)的時(shí)候,沒(méi)有老師存在,任由你是誰(shuí),都只能去閱讀 “官方文檔”,只此一條路。
然后,也是最重要的一條,別管是不是很多人覺(jué)得編程是很難的東西,事實(shí)上它就是每個(gè)人都應(yīng)該具備的技能。
許多年前,不識(shí)字,被稱(chēng)為文盲……
后來(lái),人們反應(yīng)過(guò)來(lái)了,不識(shí)英文,也是文盲,因?yàn)榭茖W(xué)文獻(xiàn)的主導(dǎo)語(yǔ)言是英文,讀不懂英文,什么都吃不上熱乎的;等菜好不容易端上來(lái)了吧,早就涼了不說(shuō),味道都常常會(huì)變……
再后來(lái),不懂基本計(jì)算機(jī)操作技能的,也算是文盲,因?yàn)樗麄儫o(wú)論做什么事情,效率都太低下了,明明可以用快捷鍵一下子完成的事情,卻非要手動(dòng)大量重復(fù)……
到了最近,不懂?dāng)?shù)據(jù)分析的,也開(kāi)始算作文盲了。許多年前人們驚呼信息時(shí)代來(lái)了的時(shí)候,其實(shí)暫時(shí)體會(huì)不到什么太多的不同。然而,許多年過(guò)去,互聯(lián)網(wǎng)上的格式化數(shù)據(jù)越來(lái)越多,不僅如此,實(shí)時(shí)產(chǎn)出的格式化數(shù)據(jù)也越來(lái)越多,于是,數(shù)據(jù)分析不僅成了必備的能力,而且早就開(kāi)始直接影響一個(gè)人的薪資水平。
你作為一個(gè)個(gè)體,每天都在產(chǎn)生各種各樣的數(shù)據(jù),然后時(shí)時(shí)刻刻都在被別人使用著、分析著…… 然而你自己卻全然沒(méi)有數(shù)據(jù)分析能力,甚至不知道這事很重要,是不是感覺(jué)很可怕?你看看周邊那么多人,有多大的比例想過(guò)這事?反正那些天天看機(jī)器算法生成的信息流的人好像就是全然不在意自己正在被支配……
怎么辦?學(xué)唄,學(xué)點(diǎn)編程罷 —— 巧了, 這還真是個(gè)正常人都能學(xué)會(huì)的技能 。
(三)
編程作為 “講解如何習(xí)得自學(xué)能力的例子” 最好的地方在于,這個(gè)領(lǐng)域的知識(shí)結(jié)構(gòu),最接近每個(gè)人所面對(duì)的人生中的知識(shí)結(jié)構(gòu)。
這是什么意思呢?
編程入門(mén)的門(mén)檻之所以高,有個(gè)比較特殊的原因:
它的知識(shí)點(diǎn)結(jié)構(gòu)不是線性的。
我們?cè)谥行W(xué)里所遇到的教科書(shū),其中每個(gè)章節(jié)所涉及到的知識(shí)點(diǎn)之間,全都是線性關(guān)聯(lián)。第一章學(xué)好了,就有基礎(chǔ)學(xué)第二章;在第二章的概念不會(huì)出現(xiàn)在第一章之中……
很遺憾,編程所涉及到的知識(shí)點(diǎn)沒(méi)辦法這樣組織 —— 就是不行。編程教材之所以難以讀懂,就是因?yàn)樗母髡轮械闹R(shí)點(diǎn)結(jié)構(gòu)不是線性排列的。你經(jīng)常在某一章讀到不知道后面第幾章才可能講解清楚的概念。
比如,幾乎所有的 python 編程書(shū)籍上來(lái)就舉個(gè)例子:
print('Hello, world!')
姑且不管這個(gè)例子是否意義非凡或者意義莫名,關(guān)鍵在于,print()
是個(gè)函數(shù),而函數(shù)這個(gè)概念,不可能一上來(lái)就講清楚,只能在后面若干章之后才開(kāi)始講解……
想要理解當(dāng)前的知識(shí)點(diǎn),需要依賴(lài)對(duì)以后才能開(kāi)始學(xué)習(xí)的某個(gè)甚至多個(gè)知識(shí)點(diǎn)的深入了解……
這種現(xiàn)象,可以借用一個(gè)專(zhuān)門(mén)的英文概念,叫做 “Forward References” —— 原本是計(jì)算機(jī)領(lǐng)域里的一個(gè) 術(shù)語(yǔ)。為了配合當(dāng)前的語(yǔ)境,姑且把它翻譯為 “過(guò)早引用” 罷,或者 “前置引用” 也行。
學(xué)校里的課本,都很?chē)?yán)謹(jǐn) —— 任何概念,未經(jīng)聲明就禁止使用。所以,學(xué)完一章,就能學(xué)下一章;跳到某一章遇到不熟悉的概念,往前翻肯定能找到……
在學(xué)校里習(xí)慣了這種知識(shí)體系的人,離開(kāi)學(xué)校之后馬上抓瞎 —— 社會(huì)的知識(shí)結(jié)構(gòu)不僅不是這樣的,而且?guī)缀跞疾皇沁@樣的。工作中、生活里,充滿了各式各樣的 “過(guò)早引用”。為什么總是要到多年以后你才明白父母曾經(jīng)說(shuō)過(guò)的話那么有道理?為什么總要到孩子已經(jīng)長(zhǎng)大之后才反應(yīng)過(guò)來(lái)當(dāng)初自己對(duì)孩子做錯(cuò)過(guò)很多事情?為什么在自己成為領(lǐng)導(dǎo)之前總是以為他們只不過(guò)是在忽悠你?為什么那么多人創(chuàng)業(yè)失敗了之后才反應(yīng)過(guò)來(lái)當(dāng)初投資人提醒的一些觀念其實(shí)是千真萬(wàn)確的? —— 因?yàn)楹芏喔拍詈芏嘤^念是 “過(guò)早引用”,在當(dāng)時(shí)就是非常難以理解……
自學(xué)編程在這方面的好處在于,在自學(xué)的過(guò)程中,其實(shí)你相當(dāng)于過(guò)了一遍 “模擬人生” —— 于是,面對(duì)同樣的 “ 過(guò)早引用 ”,你不會(huì)覺(jué)得那么莫名其妙,你有一套你早已在 “模擬人生” 中練就的方法論去應(yīng)對(duì)。
(四)
另外一個(gè)把編程作為 “講解如何習(xí)得自學(xué)能力的例子” 最好的地方在于,你在這個(gè)過(guò)程中將不得不習(xí)得英語(yǔ) —— 起碼是英文閱讀能力,它能讓你在不知不覺(jué)中 “脫盲”。
學(xué)編程中最重要的活動(dòng)就是 “閱讀官方文檔”。學(xué) Python 更是如此。Python 有很多非常優(yōu)秀的地方,其中一個(gè)令人無(wú)法忽視的優(yōu)點(diǎn)就是它的文檔完善程度極好。它甚至有專(zhuān)門(mén)的文檔生成工具,Sphinx:
Sphinx is a tool that makes it easy to create intelligent and beautiful documentation, written by Georg Brandl and licensed under the BSD license.
It was originally created for the Python documentation, and it has excellent facilities for the documentation of software projects in a range of languages. Of course, this site is also created from reStructuredText sources using Sphinx!
最好的 Python 教程,是官方網(wǎng)站上的 The Python Tutorial,讀它就夠了。我個(gè)人完全沒(méi)興趣從頭到尾寫(xiě)一本 Python 編程教材,不僅因?yàn)槿思覍?xiě)得真好,而且它就放在那里。
雖然你在官方網(wǎng)站上就是很難找到它的中文版,雖然就不告訴你到底在哪里也顯得很不厚道,但是,我建議你就只看英文版 —— 因?yàn)殡x開(kāi)了這個(gè)教程之后,還是要面對(duì)絕大多數(shù)都是英文的現(xiàn)實(shí)。
為了照顧那些也想讀完本書(shū),但因?yàn)榉N種原因想著讀中文可以快一些的人,鏈接還是放在這里:
- Python 官方文檔英文版 Tutorial (for v.3.8.x)
- Python 官方文檔中文版 Tutorial (for v.3.8.x)
我曾經(jīng)專(zhuān)門(mén)寫(xiě)過(guò)一本書(shū)發(fā)布在網(wǎng)上,叫 《人人都能用英語(yǔ)》。其中的觀點(diǎn)就是,大多數(shù)人之所以在英語(yǔ)這事上很矬,是因?yàn)樗麄兓o(wú)數(shù)的時(shí)間去 _“學(xué)”_,但就是 _“不用”_。學(xué)以致用,用以促學(xué)??删褪遣挥?,無(wú)論如何就是不用,那英語(yǔ)學(xué)了那么多年能學(xué)好嗎?
自學(xué)編程的一個(gè) “副作用” 就是,你不得不用英語(yǔ)。而且還是天天用,不停地用。
當(dāng)年我上大學(xué)的時(shí)候,最初英語(yǔ)當(dāng)然也不好。不過(guò),因?yàn)橄胱x當(dāng)時(shí)還是禁書(shū)的《動(dòng)物莊園》(Animal Farm),就只好看原版(當(dāng)時(shí)好不容易搞到的是本英法對(duì)照版)…… 然后英語(yǔ)閱讀就基本過(guò)關(guān)了。
這原理大抵上是這樣,剛開(kāi)始,英語(yǔ)就好像一層毛玻璃,隔在你和你很想要了解的內(nèi)容之間。然而,由于你對(duì)那內(nèi)容的興趣和需求是如此強(qiáng)烈,乃至于即便隔著毛玻璃你也會(huì)掙扎著去看清楚…… 掙扎久了(其實(shí)沒(méi)兩天就不一樣),你的 “視力” 就進(jìn)化了,毛玻璃還在那里,但你好像可以穿透它看清一切……
自學(xué)編程,也算是一舉兩得了!
(五)
當(dāng)然,把編程作為 “講解如何習(xí)得自學(xué)能力的例子”,實(shí)在是太好了的最重要原因在于,自學(xué)編程對(duì)任何人來(lái)說(shuō)都絕對(duì)是:
- 現(xiàn)實(shí)的(Practical)
- 可行動(dòng)的(Actionable)
- 并且還是真正是可達(dá)成的(Achievable)
最重要的就是最后這個(gè) “可達(dá)成的”。雖然對(duì)讀者和作者來(lái)說(shuō),一個(gè)做到?jīng)]那么容易,另一個(gè)講清楚也非常難,但是,既然是所有人都 “可達(dá)成的”,總得試試吧?但是,請(qǐng)相信我,這事比減肥容易多了 —— 畢竟,你不是在跟基因作斗爭(zhēng)。
這只是個(gè)起點(diǎn)。
盡量只靠閱讀學(xué)會(huì)編程,哪怕僅僅是入門(mén),這個(gè)經(jīng)歷和經(jīng)驗(yàn)都是極為寶貴的。
自學(xué)是門(mén)手藝。只不過(guò)它并不像賣(mài)油翁的手藝那樣很容易被別人看到,也不是很容易拿它出來(lái)炫耀 —— 因?yàn)閯e人看不到么!然而,經(jīng)年累月,就不一樣了,那好處管他別人知不知道,自己卻清楚得很!
你身邊總有些人能把別人做不好的事做得極好,你一定很羨慕??伤麄?yōu)槭裁茨茏龅侥菢幽??很?jiǎn)單啊,他們的自學(xué)能力強(qiáng),所以他們能學(xué)會(huì)大多數(shù)自學(xué)能力差的人終生學(xué)不到的東西。而且他們的自學(xué)能力會(huì)越來(lái)越強(qiáng),每學(xué)會(huì)一樣新東西,他們就積累了更多自學(xué)經(jīng)驗(yàn),難以對(duì)外言表的經(jīng)驗(yàn),再遇到什么新東西,相對(duì)沒(méi)那么吃力。
另外,自學(xué)者最大的感受就是萬(wàn)物相通。他們經(jīng)常說(shuō)的話有這么一句:“……到最后,都是一樣的呢?!?/p>
(六)
最后一個(gè)好處,一句話就能說(shuō)清楚,并且,隨著時(shí)間的推移,你對(duì)此的感觸會(huì)越來(lái)越深:
在這個(gè)領(lǐng)域里,自學(xué)的人最多……
沒(méi)有什么比這句話更令人舒心的了:相信我,你并不孤獨(dú)。
本文地址:http://003188.cn/wsmbbcdczxdrk.html
阿里云虛擬主機(jī)1G空間,120元一年
香港、美國(guó)虛擬主機(jī)100元一年,1000元永久
騰訊云雙十一0.4折起,2核8G5M三年僅700元,2核4G8M三年僅198元
猜你喜歡