編程真的能改變人的思維方式嗎?
我26歲開始學習編程,這之前思維基本上已經成型,但是進入編程世界之后,經歷了一些思維上的變化。這里,從自己的經歷來回答這個問題(有一些信息鋪墊,希望您耐心讀完)。
本科學習外語,研究生學習管理學,懷著對高新技術企業的景仰,26歲碩士畢業進入了軟件公司,當然是非技術崗位。
看著攻城獅們面對著屏幕上一行行跳動的字節,時而鍵盤翻飛,時而自言自語,時而冥思苦想,時而拍案而起……作為非技術人員,臉上是驚詫的,眼神是崇拜的,內心是羨慕的。
作為一個文科生,以前做夢也沒有想到自己居然會萌生學習編程的想法。當時的原因有幾:
1,自認為自己的數學底子還不錯,雖然本科碩士階段沒有怎么學習數學,還算有些自信心。2,看著攻城獅電腦上跳動的字節,居然還有試圖去讀懂的沖動,以及一種相見恨晚的感覺。3,和攻城獅們溝通有天然障礙,要想在軟件公司立足,必須了解攻城獅,必須有共同語言。4,平時工作不是特別忙,看著攻城獅們晚上很晚下班,自己比較閑,心理上有一種危機感。5,如果文科生也會編程,也會技術,將文理好好結合起來,那么自己的將來會更有含金量。6,當然,還有很重要的一點,那就是攻城獅們的薪水(似乎不斷上漲的薪水)最有吸引力。
于是,得出結論:馬上開始學習編程。
很幸運趕上了Java時代,代碼不用從底層開始,卓越的開發環境。
很幸運開發項目比較多,可以從簡單項目開始,慢慢去提高難度。
很幸運遇到了很多高手,可以天真無邪地發問,得到耐心的指導。……
自己也算是一個可以靜下心來理解設計式樣、探索代碼機制、不斷試錯練習的人,每天和攻城獅一起下班。下班之后,背著沉甸甸的筆記本回到宿舍,只要有時間就用來理解式樣、死磕代碼……數組、對象、類、接口、封裝、繼承、多態……啃大部頭書,查英文資料,模仿示范代碼,每天很充實。
在簡單的項目中學習編程應該說是一個絕佳的捷徑。當通過debug工具清晰地看到參數在傳遞數值的時候,當通過自己的調查可以幫助同事修改代碼的時候,當看到需求文件知道應該轉換為怎樣的代碼的時候……興奮不言而喻。慢慢地,終于知道了面向對象編程,終于理解了Oracle數據庫,終于看懂了MVC,終于明白了J2EE架構……其中經歷了測試,經歷了編程,經歷了設計……和攻城獅的共同話題也越來越多,一個純文科生蛻變為理工男。
言歸正傳,編程真的能改變人的思維方式嗎?從我自己的經歷來說:YES!
1、設計流程的時候,會刻意考慮“異常”處理情況,并傾向于準備應對“異常”的方案。
2、說明某件事情的時候,喜歡畫個圖,描述清楚IPO(Input→Process→Output)。
3、當有人委托自己做事情的時候,首先傾向于問清楚:你的具體需求是什么?
4、制定商業計劃的時候,很容易想到“Framework”,想到“Layer”,想到“Condition”。
5、寫匯報文件的時候,喜歡對縮寫詞、數據出處備注信息來源,就像寫程序備注說明。
6、看到某個結果的時候,腦袋里總會想:出現這樣的結果,必然有它的原因。
7、做到比較繁雜的機械性的事務的時候,總會想想:這個作業能不能寫個程序來做呢?
8、聽到那些大而空的話的時候,會條件式地反射:就不能說得具體一點實在一些么?
還有,不怕您笑話:看到儒家出世之道的時候,腦袋里會不由自主地想起自己的IT信息化之道,有時候甚至把“格物”替換為“面向對象編程”……