還在用應(yīng)試教育那一套學(xué)編程?

本篇內(nèi)容是Stay個(gè)人的一些觀點(diǎn)與見(jiàn)解,有時(shí)候跳出技術(shù)或者尋找其他的角度會(huì)讓人重新認(rèn)識(shí)一門語(yǔ)言。希望能拋出一些角度,和大家一起探討,由此豐富自己的思維。

學(xué)習(xí)一門語(yǔ)言的最佳方式

先拋開(kāi)技術(shù)語(yǔ)言,我們至少會(huì)兩門語(yǔ)言:'漢語(yǔ)', '英語(yǔ)'。
如何快速的掌握語(yǔ)言?

無(wú)痛學(xué)習(xí)的三個(gè)節(jié)點(diǎn): 環(huán)境, 詞匯, 實(shí)踐

環(huán)境: 我想不用再多說(shuō)些什么,你看從小就會(huì)說(shuō)方言,那是大環(huán)境所致
詞匯: 沒(méi)有足夠的詞匯量是很難高效的溝通,表達(dá)自己的意圖。但語(yǔ)言設(shè)計(jì)出來(lái)是有意而為之,肯定多少有些規(guī)律。漢字有象形,有偏旁部首。英語(yǔ)有詞根,前綴,后綴。種種組合在一起,形成了單字單詞。假如你沒(méi)背過(guò)這些,一直以一個(gè)順序去死記硬背,那是相當(dāng)笨拙的方式。
實(shí)踐: 實(shí)踐也就是利用語(yǔ)言去表達(dá)自己的想法,行為。一個(gè)人長(zhǎng)期自閉肯定會(huì)忘了如何說(shuō)話。要讓自己能說(shuō)會(huì)道,寫(xiě)文形如流水。最直接的方式就是多說(shuō)多寫(xiě)。

寫(xiě)到這里,我們的大腦立馬會(huì)有趨利避害的潛意識(shí)產(chǎn)生

道理誰(shuí)都懂,說(shuō)的簡(jiǎn)單,做起來(lái)難啊。要是一個(gè)月能搞定,拼了命我都會(huì)去學(xué)的。要不你先試試看?

再來(lái)看這個(gè)梗

相應(yīng)的,我們從初中到大學(xué)學(xué)了10多年的英語(yǔ)都還有大部分人學(xué)不好,為什么有人會(huì)相信通過(guò)培訓(xùn)班能夠讓你在短期內(nèi)精通一門技術(shù)語(yǔ)言呢?

如何學(xué)習(xí)一門機(jī)器語(yǔ)言

人類語(yǔ)言的學(xué)習(xí)方式能套到機(jī)器語(yǔ)言上嗎?試試看

無(wú)痛學(xué)習(xí)的三個(gè)節(jié)點(diǎn): 系統(tǒng)(環(huán)境), 語(yǔ)法與API(詞匯), 編碼(實(shí)踐)

系統(tǒng): 這個(gè)系統(tǒng)可大可小,操作系統(tǒng),可運(yùn)行的最小依賴環(huán)境,一個(gè)項(xiàng)目架構(gòu),一個(gè)獨(dú)立功能模塊等。都是一個(gè)代碼塊所依托的系統(tǒng)環(huán)境。在什么環(huán)境寫(xiě)什么代碼。
語(yǔ)法與API: 語(yǔ)法是構(gòu)成語(yǔ)言中的初始單元,API是與一個(gè)系統(tǒng),一個(gè)獨(dú)立模塊等溝通的橋梁,沒(méi)有它,就無(wú)法知道它能提供些什么,能通過(guò)它做些什么。如何去組合,造句,通過(guò)API再形成業(yè)務(wù)邏輯。
實(shí)踐: 通過(guò)API調(diào)用組合成代碼塊,再將代碼塊組合成獨(dú)立模塊,再將功能合并成app。這些都算實(shí)踐。

所謂語(yǔ)言是相通的,即使語(yǔ)法不一樣,其wrapper出來(lái)的API是大體相似的。如何獲得文件句柄,如何網(wǎng)絡(luò)請(qǐng)求,如何access數(shù)據(jù)庫(kù)等。不會(huì)有太大區(qū)別的。也就是說(shuō)只要你掌握了一種語(yǔ)言,快速切換到其他語(yǔ)言時(shí),可以再熟悉語(yǔ)法后,直接去實(shí)踐,不會(huì)的再現(xiàn)查。(就像學(xué)會(huì)一種語(yǔ)言,其同語(yǔ)系的語(yǔ)言學(xué)起來(lái)也挺輕松)

但,這個(gè)學(xué)習(xí)方法有效嗎?在語(yǔ)言學(xué)習(xí)上還可以通過(guò)應(yīng)試方式來(lái)填鴨。機(jī)器語(yǔ)言可就未必。

按部就班的學(xué)習(xí)夠不夠

設(shè)想一下用應(yīng)試教育那一套學(xué)習(xí)Java。
背單詞(API), 記詞根(語(yǔ)法), 做卷子(寫(xiě)代碼)

這樣就能應(yīng)對(duì)日常工作嗎?顯然不能。

寫(xiě)代碼不是做選擇題,填空題。即使只用寫(xiě)一些業(yè)務(wù)代碼和算法,調(diào)用API。這也是一個(gè)連續(xù)的過(guò)程,一直在當(dāng)前的context上下文里處理事情。要比學(xué)英語(yǔ)復(fù)雜的多。

如果用笨方法死記硬背還能考個(gè)好成績(jī),同樣的方法來(lái)學(xué)機(jī)器語(yǔ)言,沒(méi)幾天就堅(jiān)持不下去了。

人類語(yǔ)言(漢語(yǔ), 英語(yǔ)...)和機(jī)器語(yǔ)言(Java, C...)區(qū)別還是很大的。

  1. 說(shuō)錯(cuò)不要緊,只要大意傳達(dá)到,對(duì)方就能做出相應(yīng)的回應(yīng)。但機(jī)器要求嚴(yán)苛,非0即1。錯(cuò)了就是bug。
  2. 語(yǔ)言再怎么拓展也有限。累感不愛(ài),因崔斯汀,asap這樣的小縮寫(xiě),哪有方法或封裝類屌。
  3. 機(jī)器語(yǔ)言是確定性的,input進(jìn)去,output出來(lái),不管執(zhí)行多少次,都是一樣的。但語(yǔ)言不同,一千個(gè)人眼中有一千個(gè)哈姆雷特。
  4. 機(jī)器語(yǔ)言不僅得會(huì)調(diào)用,還得分析,研究其內(nèi)部實(shí)現(xiàn)。而語(yǔ)言僅僅是調(diào)用就可以了。

按李笑來(lái)老師說(shuō)的,一年即可全棧,我是不信的。除非-> js一統(tǒng)天下: )

那么問(wèn)題來(lái)了。究竟如何學(xué)習(xí)才是高效的呢?

你是怎么認(rèn)為的?不妨也說(shuō)說(shuō)吧~

本文為引言,會(huì)陸續(xù)出一個(gè)系列來(lái)展開(kāi)Stay的觀點(diǎn)。希望和大家一起交流,尋找最佳算法。

擴(kuò)展閱讀:
還需要再學(xué)習(xí)一門語(yǔ)言嗎?
“一周一語(yǔ)言”是如何做到的?
程序員在'抽象化的OOP世界'里該如何發(fā)展?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容