方法論、方法論——程序員的阿喀琉斯之踵

方法論、方法論——程序員的阿喀琉斯之踵

ID:34290468

大?。?9.50 KB

頁數(shù):4頁

時(shí)間:2019-03-04

方法論、方法論——程序員的阿喀琉斯之踵_第1頁
方法論、方法論——程序員的阿喀琉斯之踵_第2頁
方法論、方法論——程序員的阿喀琉斯之踵_第3頁
方法論、方法論——程序員的阿喀琉斯之踵_第4頁
資源描述:

《方法論、方法論——程序員的阿喀琉斯之踵》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。

1、方法論、方法論——程序員的阿喀琉斯之踵.txt臺(tái)灣一日不收復(fù),我一日不過4級(jí)!如果太陽不出來了,我就不去上班了;如果出來了,我就繼續(xù)睡覺!以前,我認(rèn)為一個(gè)事物對(duì)我沒有直接用途的時(shí)候就不會(huì)去理會(huì)它,心理學(xué)上說我們都戴著自己的認(rèn)知偏見的有色眼鏡去有選擇性地看待這個(gè)世界,紛繁的信息經(jīng)過我們的認(rèn)知圖式過濾之后便成為少量有序的事件,所以我們都在有強(qiáng)烈選擇性地關(guān)注一些事物和忽視另一些事物,然而,這樣可能會(huì)導(dǎo)致喪失一些很有價(jià)值的信息,而總是將知識(shí)面停留在自己的小世界中——當(dāng)然這倒也不是說看到什么都要湊上去學(xué)一學(xué)

2、。如何在這兩者中間取得折中,我覺得一個(gè)好的辦法是先簡(jiǎn)略地想一下這是個(gè)什么東東,他的本質(zhì)是什么,出現(xiàn)是為了滿足什么需求,等等比較“高層”的問題(即“What”和“Why”而不是“How”),這些問題應(yīng)該是可以通過簡(jiǎn)單的調(diào)研和思考得出結(jié)論的,至于背后的技術(shù)細(xì)節(jié),如果你打算入行,就可以去學(xué),如果不打算的話則可以免了,至少前面的思考和簡(jiǎn)單的調(diào)研能夠一定程度上保證當(dāng)有價(jià)值的信息或機(jī)會(huì)擺在你面前的時(shí)候你不會(huì)把眼睛蒙上走開,并且多做做這類思考對(duì)于思維的廣度也很有價(jià)值。最近我開始認(rèn)為,最佳的學(xué)習(xí)方法就是先廣度優(yōu)先

3、遍歷(先弄清What和Why),然后擇最合適的分支深入(How)(算法牛人DD同學(xué)在TopLang上的一個(gè)帖子里面也提到類似的想法,剛進(jìn)大學(xué)就能夠如此清晰地看清前方道路的走法,我對(duì)DD很佩服)。方法論看似是個(gè)很抽象的東西,并且的確有一些方法論是抽象到over-generalized(泛化過度)的地步,然而說實(shí)話在實(shí)踐當(dāng)中我總是發(fā)現(xiàn)(正確的)方法論是再現(xiàn)實(shí)不過的東西,比如一個(gè)大家都明白的道理是:如果方向走錯(cuò)了,那么做的功就基本全白費(fèi)了(還有比如“如果方法對(duì)頭,就能事半功倍,反之可能多走很多彎路”)—

4、—然而現(xiàn)實(shí)中有多少人能夠真正實(shí)踐這個(gè)方法呢?絕大多數(shù)人都是只顧解決眼前問題,抓了這頭丟了那頭,更多人是不知道問題是什么,只管把頭腦中能聯(lián)想到的一個(gè)以前類似情況下的類似方案套用上來。以前我總是覺得一個(gè)公司里面,CEO/CTO這樣的角色是基本擺設(shè),但我現(xiàn)在不這樣想了。在How層面把事情做好,做成一個(gè)精鉆的程序員,那頂多就是能把鉗子使好,這樣的事情很多人都能做到,熟能生巧嘛。換句話說程序員基本上是去解決一個(gè)定義好的問題,去實(shí)施一個(gè)定義好的方案。然而決策問題就不一樣了,決策問題是需要去定義問題是什么,以及

5、權(quán)衡最佳方案是什么,不管是決策技術(shù)架構(gòu)還是決策商業(yè)策略,都是非常復(fù)雜的思維過程,需要綜合和權(quán)衡大量的信息,這種能力就不是簡(jiǎn)單楞著頭搞下去能練出來的了,很多時(shí)候需要抬起頭來看,免得只見樹木不見森林。(以上也是為什么我在討論組里面一篇帖子(什么是算法?為什么學(xué)習(xí)算法?以及學(xué)到什么程度?)中提到我覺得學(xué)數(shù)學(xué)學(xué)到精通未必就會(huì)思考日常決策問題的原因——數(shù)學(xué)幾乎總是去解決一個(gè)定義好的問題,用的也都是定義好的嚴(yán)密的邏輯推導(dǎo)。然而現(xiàn)實(shí)中的問題是一個(gè)復(fù)雜系統(tǒng),諸多變量互相影響,如何權(quán)衡最佳方案實(shí)際上是一個(gè)復(fù)雜的統(tǒng)籌

6、規(guī)劃。更重要的是,你往往甚至都不知道問題是什么,能夠從紛繁的信息中抽象出問題,是一種極大的能力。這里推薦《你的燈亮著嗎?》和《失敗的邏輯》)當(dāng)然,我自己還沒能到這個(gè)層面,尚需要不斷實(shí)踐和總結(jié),所以只能稍微的談一點(diǎn)感受,再往下扯只怕就會(huì)流于空泛了。這一點(diǎn)上我還是舉一個(gè)程序員們喜聞樂見的例子吧,在程序員眼睛里面,做一個(gè)項(xiàng)目,也許首先想到的是用什么語言,什么框架,什么庫,在這個(gè)方向上那就是什么看上去牛B用什么,恨不能都用haskell、lisp來寫才爽,用Java?那多沒意思啊,Java那坨弱智語法我小

7、學(xué)的弟弟都能掌握,也沒啥牛B的語言特性,忒沒成就感(只可惜真正判別弱智與否的并非用什么語言技術(shù),而是做出什么產(chǎn)品滿足什么需求)。這就是屬于只考慮單個(gè)孤立因素的簡(jiǎn)單(或者說Naive的)決策,這個(gè)因素就是——只要讓我自己感覺爽——只可惜并不是讓自己感覺爽的做法就是真正解決問題的做法,始終要弄清問題是什么,在后者意義上,一些對(duì)于技術(shù)型程序員往往沒有吸引力的話題其實(shí)有著極其重大的價(jià)值——比如什么時(shí)候設(shè)計(jì),什么時(shí)候重構(gòu),什么時(shí)候集成,再往上一層其實(shí)這些又都是次級(jí)問題,首要的問題還是這個(gè)產(chǎn)品滿足什么需求,有

8、什么市場(chǎng)(即這件事情值不值得做),有一句話想必很多人常聽說,如果不知道要做什么,套上十二層架構(gòu)也無濟(jì)于事,方法永遠(yuǎn)不是因,而是果(我在以前的另一篇文章“FailingtoseetheBigPicture–Mistakeswemakewhenlearningprogramming”中也闡述了類似的觀點(diǎn))。再舉個(gè)例子,如果我想給我的網(wǎng)站做一個(gè)feature,我認(rèn)為這個(gè)feature技術(shù)上很牛很強(qiáng)大,而且剛好有機(jī)會(huì)使用一下我最近修煉的某某framework和某某語言,而且這玩意很有挑戰(zhàn)性

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。