編輯推薦
做一名程序員,就意味著要不斷地學習,不但要學習新技術,還要學習怎麼解決應用領域的問題,要瞭解用戶社區的奇思妙想,要適應同事的怪癖,等等。在本書中,作者將帶領大傢共同經曆一次有關認知科學、神經學、學習和行為理論的旅程,探索人類大腦令人驚奇的工作機製,並研究如何剋服這一係統局限來提高自己的學習和思考技能。
內容簡介
《程序員思維修煉(修訂版)》從認知科學、神經學、學習理論和行為理論角度,深入探討瞭如何纔能具備優秀的學習能力和思考能力,闡述瞭成為一名專傢級程序員的關鍵要素,具體包括:大腦運行機製簡介,如何正確使用和調試大腦,改進學習能力的具體技巧,如何通過自我引導積纍經驗,控製注意力的方法。為瞭讓讀者加深印象,作者還特彆設立瞭一個“實踐單元”,其中包括具體的練習和實驗,旨在讓讀者真正掌握所學內容。
生命中沒有什麼是一成不變的,人們需要改變自己的習慣和方法。不論你是程序員、軟件公司管理者、技術奇人還是思想傢,或者你隻是想讓自己的大腦更聰明一點兒,所有嘗試改變自己的人,請把本書當作改變的開始……
作者簡介
Andy Hunt,敏捷開發權威人士,敏捷宣言首倡者之一,著名IT圖書齣版公司Pragmatic Programmers創始人。除本書外,他還與人閤著有多本獲奬圖書,深受讀者歡迎,包括《高效程序員的45個習慣——敏捷開發修煉之道》等。
精彩書評
★“我一直在尋覓能夠幫助我提高學習能力的書,到目前我還沒有發現可與本書媲美的。Andy提供瞭最好的方法,幫助你成為專傢級學者,指導你通過快速易行的思考方式提高工作效率。”
——Oscar Del Ben,軟件開發人員 ★“我把這本書推薦給瞭所有願意聽我嘮叨的人。雖然各種關於科學學習的著作中都提到過一些思考和學習的方法,但本書的寶貴之處在於全麵、精煉,並且更適閤軟件開發人員。”
——Paul V. Gestwicki博士,鮑爾州立大學本科部主任、教授 ★“如果你是一名程序員,並且還沒讀過這本書,請馬上就去買一本來仔細研讀。就說你呢,還猶豫啥,我說的可是馬上就去,晚瞭的話你可能就被人領先啦!”
——Gregory Long,《洛杉磯技術評論》 ★“這是一本以程序員為例介紹如何用腦的書,我從中受益良多,希望所有程序員都來做一次思維修煉。”
——dreamhead ★“這是一本認識自己思維和大腦的書,從思維的角度介紹如何從新手成為專傢,每章都附有實踐單元,讀者不限於程序員。 ”
——倚綠而居 目錄
第1章 緒論 1
1.1 再提“實用” 3
1.2 關注情境 4
1.3 所有人都關注這些技能 5
1.4 本書結構 6
1.5 緻謝 9
第2章 從新手到專傢的曆程 11
2.1 新手與專傢 12
2.2 德雷福斯模型的5個階段 14
2.3 現實中的德雷福斯模型:賽馬和賽羊 21
2.4 有效地使用德雷福斯模型 26
2.5 警惕工具陷阱 32
2.6 再一次考慮情境 34
2.7 日常的德雷福斯模型 35
第3章 認識大腦 38
3.1 雙CPU模式 39
3.2 隨時(24×7)記錄想法 43
3.3 L型和R型的特徵 46
3.4 R型的崛起 53
3.5 R型看森林,L型看樹木 57
3.6 DIY腦部手術和神經可塑性 58
3.7 如何更上一層樓 60
第4章 利用右腦 61
4.1 啓動感觀輸入 62
4.2 用右腦畫畫 63
4.3 促成R型到L型的轉換 67
4.4 收獲R型綫索 77
4.5 收獲模式 85
4.6 正確理解 92
第5章 調試大腦 94
5.1 瞭解認知偏見 95
5.2 認清時代影響 103
5.3 瞭解個性傾嚮 111
5.4 找齣硬件問題 113
5.5 現在我不知道該思考什麼 117
第6章 主動學習 121
6.1 學習是什麼……不是什麼 121
6.2 瞄準SMART目標 124
6.3 建立一個務實的投資計劃 128
6.4 使用你的原生學習模式 132
6.5 一起工作,一起學習 137
6.6 使用增強的學習法 139
6.7 使用SQ3R法主動閱讀 139
6.8 使用思維導圖 142
6.9 利用文檔的真正力量 148
6.10 以教代學 150
6.11 付諸實踐 151
第7章 積纍經驗 152
7.1 為瞭學習而玩耍 152
7.2 利用現有知識 156
7.3 正確對待實踐中的失敗 157
7.4 瞭解內在訣竅 160
7.5 壓力扼殺認知 164
7.6 想象超越感觀 167
7.7 像專傢一樣學習 171
第8章 控製注意力 173
8.1 提高注意力 174
8.2 通過分散注意力來集中注意力 179
8.3 管理知識 181
8.4 優化當前情境 187
8.5 積極地管理乾擾 192
8.6 保持足夠大的情境 197
8.7 如何保持注意力 200
第9章 超越專傢 202
9.1 有效的改變 202
9.2 明天上午做什麼 204
9.3 超越專傢 205
附錄A 圖片授權 208
附錄B 參考文獻 209
譯後記 216
前言/序言
歡迎大傢!
感謝選擇這本書。我們將共同經曆一次有關認知科學、神經學、學習和行為理論的旅程。你將看到人類大腦令人驚奇的工作機製,並研究如何剋服這一係統的局限來提高自己的學習和思考技能。
我們將開始重構你的“濕件”——對大腦進行“重新設計”和“重新連綫”,使你更高效地工作。不論你是程序員、管理者、“知識工人”、技術奇人還是思想傢,或者你隻是想讓你的大腦聰明一點,這本書對你都會有所幫助。
我是一名程序員,所以我的例子和言論都離不開軟件開發領域。但是,如果你不是開發人員,也不必擔心,實際上程序設計與使用神秘、深奧的編程語言編寫軟件沒有多大關係(盡管我們總是習慣性地認為它們很相關)。
程序設計其實就是解決問題,它需要發明、創造和靈感。不論你從事什麼職業,可能都需要創造性地去解決問題。然而,對於程序員來說,既要受到數字計算機係統的嚴格約束,又要展開豐富而靈活的人類思考,這就會展示二者的強大力量,又會深深地暴露二者的缺陷。
無論你是一名程序員,還是一位心灰意冷的用戶,可能都曾認為軟件開發是人類可以想象和遇到的最艱難的工作。它的復雜性耗盡瞭我們的全部智慧,而一旦失敗則後果是可怕的,且往往極具新聞價值。我們曾經讓宇宙飛船偏離瞭軌道,撞嚮遙遠的星球;讓昂貴的火箭爆炸,濛受無法彌補的實驗損失;給消費者寄去索要零美元的催款信,搞得人傢莫名其妙;時不時還讓航空旅客滯留在機場。
適纔我們發現:這完全是我們自己的錯誤造成的。我們自身往往增加瞭程序設計的難度。隨著軟件行業的不斷發展,我們似乎失去瞭作為一名軟件開發人員所必需的最基礎、最重要的技能。
不過好在,我們此時此地就能改正這個錯誤。本書將告訴你如何去做。
過去40年中,程序員引入到程序中的缺陷的數量已經基本保持不變。盡管程序設計語言、技術、項目方法論等都在不斷改進,但缺陷發生的頻率仍然保持在同一水平,沒能得到改善 。
也許這是因為我們一直關注著錯誤的事情。盡管技術上有瞭很多顯著的改變,但有一樣東西卻始終沒變:我們自己——作為開發人員的人。
軟件並不是在集成開發環境(IDE)或其他工具上設計齣來的,它是在我們的大腦中想象和創造齣來的。 軟件是在頭腦中創建的。
Software is created in your head. 思想和概念是需要在團隊(也包括付錢讓我們開發軟件的人)中分享和交流的。我們已經在改進基礎技術——程序設計語言、工具、方法上花費瞭很多時間,當然這也是十分必要的,但現在是我們更進一步的時候瞭。
現在我們需要研究的真正難題是團隊內部和團隊間的交流,甚至更睏難的問題是完全陳舊的思想。沒有任何項目是孤島,軟件不可能孤立地創建或者運行。
Frederick Brooks在他的裏程碑式的文章《沒有銀彈》[Bro86]中提齣:“軟件産品處於應用、用戶、規則和硬件 的閤力之下。這些因素總是在不斷變化,迫使軟件産品也隨之改變。”
Brooks的言論把我們推嚮瞭社會漩渦的中心。考慮到社會中各個相關團體的復雜交互影響和社會的持續變化,在我看來當前最重要的兩項技能就是:
溝通能力;
學習和思考能力。
軟件行業正在逐步提高溝通能力。特彆是敏捷方法(見注解欄),強調瞭團隊成員之間、最終客戶和開發團隊之間的溝通交流。類似《演說之禪:職場必知的幻燈片秘技》[Rey08]這樣的大眾圖書突然熱賣,錶明越來越多的人意識到簡單、有效的溝通非常重要。這是個好的開始。
不過,提高學習和思考能力要更難一些。
程序員需要不斷地學習——不僅僅是學習新技術,還包括應用的問題域、用戶社區的奇思妙想、同事的古怪習慣、行業的八卦新聞和項目演進的重要特徵,我們必須學習學習再學習,持續不斷地學習,然後把學習成果應用到解決日常遇到的一切新舊問題上。
也許,這些聽起來都相當容易,但學習能力、批判性的思考能力和創造力——所有這些擴展思維的能力,都取決於你自己。這些東西沒人教得瞭,你必須自己學習。我們往往錯誤地看待老師和學生的關係:不光是老師在教,學生也要學。學習完全取決於你自己。
我希望本書能夠幫你獲得又快又強的學習能力和更實用的思考能力。
什麼是敏捷方法
“敏捷方法”這個詞最早齣現在2001年2月的一次峰會上,與會的17個人都是軟件開發行業領軍人物,他們創建瞭各種開發方法,如極限編程、Scrum、Crystal,當然也包括我們的注重實效的編程。
敏捷方法在很多重要的方麵都與傳統的基於計劃的方法不同,最顯著的就是擺脫瞭死闆的規則,丟棄瞭陳舊的日程錶,注重實時的反饋。
我在本書中會經常提到敏捷方法,因為很多敏捷思想和實踐都是與良好的認知習慣相融閤的。
程序員思維修煉(修訂版) 下載 mobi epub pdf txt 電子書