考不上三本也能懂系列——前言

在準備好了好幾天之後,給GacUI的腳本加上Coroutine的主要工作在兩個晚上就完成了,所以我終於可以開始寫這個系列文章了。這個系列當然不僅僅包括Coroutine,只是之前答應了 @RednaxelaFX 說,跟語言有關的就放在他那裡。這樣這個系列的文章就不一定全部都在這個專欄裡面了。為了讓大家也可以從我的專欄裡面訪問到,我就寫個前言,順便當目錄用。

  • 前言(就是本篇)
  • 考不上三本也能給自己心愛的語言加上Coroutine(一) - 知乎專欄
  • 考不上三本也能給自己心愛的語言加上Coroutine(二) - 知乎專欄
  • 考不上三本也能給自己心愛的語言加上Coroutine(三) - 知乎專欄
  • 考不上三本也能給自己心愛的語言加上Coroutine(四) - 知乎專欄
  • 考不上三本也會實現數據綁定(一) - 知乎專欄
  • 考不上三本也會實現數據綁定(二) - 知乎專欄(新!)

為什麼要做這個系列呢?主要目的是為了破除迷信。在多年知乎上摸爬滾打之後,我終於明白了知友們的言論,都是很極端的。一個東西牛逼,就一定要拿諾貝爾獎你說話才算數。一個東西簡單,那麼小學生都要會做。貧窮指的都是山區裡面吃不飽飯的,富裕則一定要使用存款利息就能買學區房的。那麼編程也一樣,要麼就說憑什麼中專就得被扔簡歷,要麼就說你不讀到博士你就什麼都沒學。這都是狗屁!真理永遠只有一個,標準也永遠是全球統一的。

人類的世界是殘酷的,你貧窮就是因為比你有錢的人都想干你,所以維持你很貧窮,這就是唯一的原因了。所謂的秩序就是這個樣子的,不犧牲落後的人,怎麼保證人類可以在耗光資源之前,能達到征服銀河系的目標,從而讓種群永遠的存活下來?

既然走錯一步就會死,那麼破除迷信就顯得很重要了。編程這個事情,是不需要智商的。大三的時候我曾經抓了一個新鮮熱辣的大一的妹紙(who is 汕頭人)教編程。其實所謂的教,就是每個星期手把手上一堂課,系統的地我認為要學會的東西都按順序講出來,目的是為了看我自己對編程的理解對不對。我就是抱著一種教廢了就算了的心情去教的。然而結果人家大二就能自己實現正則表達式引擎,大四就已經能從0開始執行一個動態語言了。後來我用這個語言寫了個Linq,給她當測試用例,這麼複雜的代碼跑過了,證明實現是有質量的。這個人後來拿過微軟網易百度騰訊的offer,幹得風生水起。

然而你說她聰明嗎,其實根本不聰明(逃,就是一個普通人,而且還有點蠢,很多簡單的東西講了多少遍才明白(側面證明了拿offer也是不需要智商的(逃)。這證明了,你要在本科四年裡面搞出這麼多事情,你只要有一顆正常的大腦就可以了。她能做到,你們當然也可以做到。但是這跟知乎上那些從五花八門的專業全都要跳來當碼農是不一樣的,因為雖然你可以做到,但不代表你可以馬上學會,立刻賺錢。這就跟傳說中愛迪生找鎢絲的故事一樣,實驗了多少遍才找到結果。學編程也是一樣的,只要你練習了一百萬行代碼(每天500行,也就是6年而已,6年很長嗎?),你什麼基礎知識語言類庫不能學會?當然並沒有人願意去練習一百萬行代碼,殊不知這就是唯一的辦法。

你們也不要覺得一百萬行很嚇人,其實做個GacUI的那本腳本引擎,才屁大點事,四萬多行就沒有了,其中做個Coroutine的核心功能就沒了一千多。GacUI那麼簡單的類庫,十幾萬行就沒有了。所以一百萬行其實做不了多少事情的,也就寫幾個程序而已。大學的時候我有一個同學,高中的時候給知名P2P軟體寫過代碼,上大學自己維護了一個VB寫的聊天程序賣給了一大堆大學和公司,他自己說那個時候他已經寫過一百萬行代碼了。然而就算是這樣,畢業的時候也因為面試出了岔子,只好去讀個碩,然後去了蘋果公司。這麼牛逼的人本科畢業的時候都找不到靠譜的工作,你覺得你半路出家行嗎?

所以不想努力的人,趁早滾蛋,不然以後栽在這上面,那多不好。但是你願意努力,只是覺得自己蠢,這沒有問題。蠢無非就是多花點時間嘛。雖然考不上三本也能實現Coroutine,但是你跟我的區別無非就是能不能在兩個晚上做出來而已。難道做一個月就不是做,就不算做出來了嗎?當然不是。

當然,做出來的意思並不是說做出來一個Demo。Demo都是很容易做的,你要是發現誰誰誰說自己會什麼,其實只是做了個Demo,還是說只是完成了老師布置的作業,那麼其實就等於「可能還」不會。一個真正的程序,當然要處理現實世界會出現的一些複雜的情況,你還要懂得怎樣保證自己的程序在絕大多數情況下是對的,所以這也需要很多技巧。有些人可能會說,可以用Coq等系統驗證程序啊。好吧,你用Coq給clang++寫個證明,應該可以寫到80歲,然後發現寫不出來。

當然我知道我光這樣說你們也不會相信的,所以這個系列的存在意義也是如此。我會挑一些表面上看起來高大上的知識,然後告訴你們,為什麼考不上三本也能學會,也能把這個程序做出來。所以這個系列也是一個指南針,因為我說的這麼直白,要是屏幕前的你發現自己恰好就是那一小撮還是學不會的人,那你可以好好考慮一下自己的前程,是不是真的要做程序員(逃

Coroutine雖然簡單,但是寫的時候你的代碼也要處理一億個分支邏輯,所以還是花了點時間,做了出來還是覺得很爽。這幾天用了消耗了這麼多腦力,剛才稱了一下都只剩下17x斤了,果然就算是寫自己早就知道的東西,也需要消耗大量的脂肪。那麼大家就期待明天的第一篇——《如何實現Coroutine》吧。Coroutine一篇是寫不完的,所以我會分開寫,看完第一篇還沒學會也不要害怕,後面還有,都不會再說(逃。關注了這個專欄但是沒有關注我的,你們可以通過輪詢這篇文章來發現即將發在別人的專欄上的正片。


推薦閱讀:

考不上三本也能給自己心愛的語言加上Coroutine(四)
成人出國一個月遊學,強化英語,或學習新語言,怎麼找遊學學校?
成人教育和網路教育到底哪個更好?
除了全日制大學和成人教育還有其他讀大學的渠道嗎?
上戲成人教育,你怎麼看?

TAG:编程 | 成人教育 | 高效学习 |