編程難在哪?都怪人類長了個好腦子,“傻”點就簡單了

21世紀初,寫代碼只能手寫,然後再碼到電腦上調試、運行。隨著中國經濟的發展、編輯器的成熟,編程越來越簡單,甚至只需要在編輯器上,敲一個字母,就能補全整個語法。

Python的火爆,再一次降低了編程門檻。似乎,人人都可以學習編程的時代已經到來。然而,當你購買了一門Python課程,還沒學幾章,只是碰到運算符、字符串、布爾型、賦值這些計算機名詞時,開始哭爹喊娘了:編程怎麼就這麼難呢。

編程,到底難在哪裡?

編程難在哪?都怪人類長了個好腦子,“傻”點就簡單了

人類長了一個好腦子,成了學習編程最大的阻礙。

假如你想出門買十斤蘋果,心裡最多承受的價格是10元一斤。走到經常買水果的一家店,發現還沒看門。得!換下家,這家13元一斤,跟攤主講價,攤主不同意降價,再換一家!到了第三家,終於買到了10斤蘋果,滿載而歸。

你真聰明!是的,不用懷疑。這一系列過程,你很輕易的做出了判斷,併成功的購買了到了你想要的東西。

如果,人類很傻呢?傻到無法在購買蘋果的過程中,做出判斷呢?只能在家裡先想好,然後再出門買。結果會是什麼樣子的?

編程難在哪?都怪人類長了個好腦子,“傻”點就簡單了

編程,就是這麼一個過程,你需要把自己當成一個“傻子”,一定要預先想到在購買蘋果中,會發生的一切可能性,如果沒有想到,一定買不到蘋果,甚至回家都成為難事。

人類活在當下,只需要對已經發生的事件,做出判斷即可。而編程卻要預知未來,預言並解決未來可能發生的一切。

古今中外,預言家預言不準,可都沒什麼好下場。秦方士盧生預言秦始皇長生不老,結果長生丹沒煉成,發生“坑儒”事件。文藝復興時期,意大利卡爾達諾預言了自己的死亡,可時間到了,自己卻沒死,為了讓預言成真,他自殺了。

如果我們的腦袋瓜子不好使,想要出門買10斤蘋果,該如何達到這個目的呢?

編程難在哪?都怪人類長了個好腦子,“傻”點就簡單了

我想買10斤蘋果,最高價限定10元/斤。附近有三家水果店,設為水果店0、水果店1、水果店2。

走到一家水果店,如果沒開門,則結束“到這家水果店買水果”;

走到一家水果店,如果沒有蘋果,則結束“到這家水果店買水果”;

走到一家水果店,如果蘋果不足10斤,則結束“到這家水果店買水果”;

走到……如果價格高於10元,則進入講價流程;

如果攤主願意低於10元/斤的價格賣給我,則購買蘋果,並回家,如果仍然高於10元/斤,則結束“到這家水果店買水果”並執行以上流程3次。

當然,這樣的程序並不嚴謹,但可以體現出編程思維,與普通思維的不同。

事實上,出門買東西,多麼簡單的事,可到現在,還沒有哪家機構感宣稱自己做得到,程序的複雜度不可想象。

編程難在哪?都怪人類長了個好腦子,“傻”點就簡單了

首先,你怎麼判斷攤主給你的是蘋果,而不是其他?蘋果的質量是否達標?是用手拎還是揹著?回家途中會發生什麼意外?

如果你是智商為0的生物,怎麼到達水果店?買完怎麼回去?無論哪一步,都可以衍生出一個龐大的代碼量。

這便是編程最難的地方。

現實中的編程,沒有那麼複雜,只要你的程序能解決一個問題,並且不存在明顯bug,這就是一個好程序。

編程難在哪?都怪人類長了個好腦子,“傻”點就簡單了

這麼一來,編程好像又不是很難。做個登錄功能,限定賬號為英文或數字,密碼要由英文、符號和數字組成,這不就完事了嗎?

編程難在哪?都怪人類長了個好腦子,“傻”點就簡單了

考慮到安全性,我們給把密碼改為了密文的形式,用戶可能沒有賬號,要註冊,於是加了註冊的入口,他可能還需要用其他方式登錄……

編程好像又難了。一個簡單的功能,背後有如此之多的地方需要思考,那如果寫一個淘寶網站呢?豈不是100年也寫不出?

事實上,這個問題並不存在,有句話叫做“站在巨人的肩膀上”,如今編程有了各種庫和框架,極大的提高了編程效率,我們不再需要考慮太多底層的東西,就可以寫出很完美的程序。

人類的大腦,更像是上帝寫出的程序,它能很輕易的解決日常生活中的一些問題。也正因為它太過完美,我們不需要事前考慮太多,這是一個致命的問題。

假如,我們能“傻”一點,在平常生活中,就具備了編程思維,那麼編程又有什麼難度呢?反過來,編程思維也會影響日常的生活,正如1998年喬布斯接受採訪時說過的話:

編程難在哪?都怪人類長了個好腦子,“傻”點就簡單了

“所有美國人都應該學習編程,學習一門編程語言,學習編程教你如何思考,就像學法律一樣,學法律的人未必都成為律師,但法律教你一種思考方式。同樣,編程教你的,也是另一種思考方式。”

相關推薦

推薦中...