|
英文原文:Programmers think differently than non-programmers
因為一些原因,程序員(高手和初學者都有)中有這樣一種觀念,認為跟普通人對比起來,他們的思考方式多少有些“不同”。
同時,這種傳言(myth)流傳至今,以至于連非程序員都開始認同了。
據我所知,程序員思考的方式完全沒有任何獨特之處(我是說,作為一名程序員,我的觀點有所偏頗,但我盡力保持公平)。
編程(采用的思考方式)趨向于采用下面幾種“習慣”進行選擇:
- 分析
- 邏輯性
- 排他性
不管這些“習慣”的重要性順序排名是否合理,但是我們應該回過頭看看,它們是如何適用于編程和編程之外的世界。
“分析”指的是,對系統進行觀測,確定其功能,并且對比預測的結果確定系統的工作情況。一般來說,對程序工作原理進行建模,與此同時查看程序的代碼,并且(用模型的模擬結果)與我們所期望的程序結果進行對比。
“邏輯性”講究“論據”,通常用于推斷某些東西是對是錯及其原因。幾乎所有計算機程序都有關于“是”與“非”的一些形式或者表現法,事實上,所有的語言都是為了這些概念設計的(邏輯編程)。
最后,排他性。排他性意味著你完全沉迷于某些東西,到了排斥所有或者大部分其他東西的地步。雖然排他性被普遍認為是一種消極特征,但是當你忙著用計算機干活時,事實上它能便于你專注和沉醉于你正在做的事情。在大部分其他職業領域,排他性很可能對你的職業有很大的傷害,不過從操作的角度來說,計算機是相對安全的,所以,當你在操作的時候用不著左顧右看,或者朝后看,所有的操作都顯示在你面前的屏幕上。計算機編程人員甚至有一句話來形容這個區域中形成的精神狀態,當你身處其中的時候,整個世界好像消失了,你所有的感覺就只有跟電腦的對話而已。
還有什么其他職業會有這樣的傾向?
分析,在科學的所有表現形式中都很重要,人們可以通過分析弄清楚事物的運作發展,它是科學方法的基石之一?;瘜W、生物或者任何其他領域的東西可能復雜難懂,當你是一名在這些領域工作的工程師,努力研究其中的事情時,分析也是相當方便的。事實上,到目前為止,我認為分析對于我們所有人而言是很重要的,從小孩子拿起玩具扔掉并觀察其下落,逐漸地開始研究地球模型的重力,到這個小孩35年后開發一些空間程序。當我們觀察周圍的世界并在有限的范圍內運用分析來預測未來的時候,分析是我們永遠的伴侶。火車來的時候,不要穿過去,否則你會被壓扁的。
實際上,邏輯是數學一個分支的正規表現形式,所以任何數學家和分析家,邏輯分析都是他們使用的工具之一。不過除了數學和編程之外,邏輯和“邏輯思維”還有廣泛的應用空間,每一個審訊嫌疑犯的警員都會用它來區別真話和謊言,律師用它來讓法官或者陪審團相信只有他的委托人才是有理的,而不是其他人。小孩用它來判斷誰在撒謊。邏輯思維,就像分析一樣,是我們永恒的伴侶,它適用于不同行業的所有人士或者某種程度上的,某些時候也適用于貿易,以及我們的日常生活。如果你比大多數人更擅長邏輯思維的話,雖然每個人都有一定程度上的邏輯思維能力,但是你會發現某些任務執行起來會更加容易。
最后,排他性。這是一個棘手的問題,因為來自沒有電腦的世界的大多數人容易消沉,但我在努力讓它成為良性循環。如果一個科學家(或者研究這個問題的人)緊緊抓住某些東西不放,無法入眠,是因為他們一直在思考問題,那同樣是一種排他性。通常,在計算機上編程或者調試的時候,就會發生這種事;不過硬件工程師、作家或者其他人或多或少也會有這種經歷。
具備這三種特質有助于你安排你的編程生涯,不過我所知道的最好的程序員是那些在現實中對這三方面都有節制的人。他們不會忘記那樣才是一個人,他們與別人聊著術語,而不是漫無目的地閑聊,他們不相信自己的智力比別人好或者有所差異。編程就跟其他每一樣事情一樣,你會去做,是因為你喜歡它;如果運氣好的話,沒有人會因為你腦袋上的耳垂形狀而強迫你去做你不喜歡的事。
每個人——甚至那些連一行代碼都沒寫過的人——都可以學習編程到一定程度,我見過很多相反的主張,但就個人而言,我還沒見過我無法在幾個星期之內教會編程基礎的人,加入他們:
- 愿意學習
- 愿意花時間
這在經典的場景中或許會很難,但就個別而言,我相信會成功的。
顯然地,有人存在心理缺陷,在那種情況下,他們也許不可能但可以明確地將世界劃分為“可編程”部分和那對于我來說距離太遠的“永不可編程”部分。編程是一 種可以學習的技術,你也許不是下一個Linus Torvalds,但是如果你有足夠的耐心并且持之以恒的話,你將有能力實現自己的目標。
程序員的思維跟其他人并不存在差異。
-------------------------------------------------------------------
譯文出處:伯樂在線 - 職場博客 - 程序員
譯文鏈接:http://www.jobbole.com/entry.php/1143
原文:Jacques Mattheij 譯文:敏捷翻譯 - 李盛暉
如需轉載,但請注明原文/譯文出處、譯文超鏈接和譯者等信息,否則視為侵權,謝謝合作
it知識庫:程序員與非程序員的思維差異,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。