程式設計師都是天生的

2021-06-22 23:30:43 字數 1423 閱讀 7050

話說,程式設計師是一類特殊的品種,優秀的程式設計師更是如此——我們更願意承認程式設計這種技能是一門藝術,而不是大家眼中艱苦卓絕的工科課程。程式設計可能更像是數學、**,或者是在電視劇集《firefly》中kaylee所用的魔法,它是那樣讓人沉醉。

優秀的程式設計師常常有這種感覺,天才是很難得的,更難以複製。

在數週以前,@zidarsk8跑過來告訴我「天哪,竟然會有這樣的傢伙,我才教會他怎樣寫**,一轉眼他寫得比我都要好了!可惡的是,這傢伙在乙個月之前甚至連變數是什麼都不知道,這還是不是人啊!」

我答應他在部落格中如實寫出來。為什麼有的人輕輕鬆鬆就能get程式設計這個技能?他們有什麼特別之處?誰都能學會程式設計還是只有某些人才能成為乙個合格的程式設計師,而想成為優秀的程式設計師是否更需要天生?

一年前我給乙個高中學生做家教,他因為早先的程式設計課沒有及格,然後他父母請了我來教他。在乙個月的時間裡我悉心傳授,把我所知道的一切都教給了他,在我看來至少通過考試是沒問題了的。

到月末的時候,他已經對迴圈、變數賦值等等瞭如指掌,連函式是**包能做一定事情他都知道和理解了。臨走,我不得不對他父親這樣說「我已經沒什麼好教的了,不過他還得需要練習來鞏固這些。」

沒錯,內心裡,我是很懷疑他是否能及格的。不過如果他的老師憐憫他的話,可能會過——不過,遺憾的是,我記得這個老師在我高中時代一點都不仁慈,特別喜歡看學生受苦受難。

還有一點要宣告的是,我可不是個差老師——那個孩子還向別的學生推薦了我,並且所有孩子都給我發了感謝信——只是有些人天生就不是寫**的料,即便他們再努力,甚至還是連平庸二字都稱不上。

沉默的羔羊

jeff atwood在2023年出版的《separatingprogramming sheep from non-programminggoats》一書中提到一項研究,聲稱可以用之檢測是否擁有程式設計天賦。

這個測試相當簡單,例如:

a = 5

b = 20

a = b

what are a and b now?

還有不少類似的測試例子。但是只有44%的學生形成了乙個統一賦值的心智模型——即使是錯誤的。剩下的超過半數人失敗了或者根本就回答不了。

更糟糕的是,在學了乙個學期的程式設計之後,這個比例還是相同,還是只有44%的學生知道賦值如何作用。

很明顯,有的人無論怎麼學就是想不明白這些。

下面我介紹乙個我認為更為簡便的測試

激情 這個問題就是激情!

寫**就是需要這種完完全全不帶丁點雜質的激情。當你為之深深陶醉,甚至興奮不已的時候,還怕什麼問題是解決不了的呢。即使你正在解決的這個問題,你也知道是毫無意義的……這就是擁有激情的偉大所在!

別擔心你開始程式設計的年紀比別人大——要知道,很多研究已經表明,經驗在這一行並不是重點——關鍵要看你對程式設計這玩意是否擁有百折不撓的激情。

因為一旦被點燃了激情,那麼其他的問題就不再是問題了。你,就是天生的程式設計師!

推薦閱讀:你是程式設計師這塊料嗎?

我們都是拋石機程式設計師

後記 我第一次接觸馮 諾依曼計算機中 儲存程式 這個概念的時候,覺得挺疑惑的,因為只要你用過計算機,就會知道軟體需要安裝到硬碟的某個目錄,然後裝入記憶體執行,程式在記憶體中以二進位制的方式存在,是最自然不過的事情。但是最早的計算機器僅內含固定用途的程式。例如乙個計算器僅有固定的數學計算程式,它不能拿...

醫生VS程式設計師 都是技術工種

乙個月前我雙手拇指的關節隱隱作痛,開始以為是什麼勞損之類的,過一天兩天就好了,誰知就這樣斷斷續續一直沒好,前兩天反而愈加嚴重了,拇指彎曲都很困難,於是感覺到問題嚴重,上周五下午就請了半天假去看醫生。來到ft人民醫院,看到門口的導醫小姐一說情況,小姐馬上說 看骨科 於是排隊 上樓,到了骨科門診,好多人...

為什麼程式設計師都是夜貓子

隨便問乙個程式設計師,問他什麼時候工作最有狀態,估計他很有可能說是深夜。有人稍微早一點,有人更晚。有一種流行的趨勢是凌晨4點起床,在破曉之前這段時間裡做一些事情。而另一些人喜歡凌晨4點才睡覺。倫敦科技館裡乙個大猩猩的大腦 所有這些的主要目的是躲避打攪。但是你把自己反鎖在屋裡不就行了?為什麼對夜晚情有...