成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為什么我不能讓一個優秀程序員去做系統設計?

開發 前端
乍一聽你可能感覺荒誕。為什么我不能讓一個程序員去做系統設計呢?畢竟,他們是設計程序的,不是嗎?的確是的,沒錯。但你要明白的事情是,設計軟件相對于編寫程序,它需要的是一套完全不同的技能。

你不能看到一個程序員還不錯,就把他推到系統分析師、軟件設計師或軟件架構師的位置上。

如果你在團隊或公司里尋找一個能勝任軟件架構師或設計師這樣重要位置的人時,首先出現在腦子里的想法通常是在程序員中選一個最好的。別這么干。這樣的位置不是隨意的找個不錯的程序員就能勝任的。把你最資深的程序員晉升到這個位置也未必就合適。

乍一聽你可能感覺荒誕。為什么我不能讓一個程序員去做系統設計呢?畢竟,他們是設計程序的,不是嗎?的確是的,沒錯。但你要明白的事情是,設計軟件相對于編寫程序,它需要的是一套完全不同的技能。

讓我們來看看為什么一個好的程序員就未必可以做一個好的軟件設計師。但首先,讓我們來問問自己一個問題,是什么讓一個程序員變的優秀,甚至杰出?要想成為一個好的程序員,你需要有能力實現真實世界里重要的軟件。只能夠寫出一個簡單的文本編輯器是遠遠不夠的。

為了能做到可以解決重大的、復雜的編程問題,一個程序員需要在某個特點的編程語言上進行數年的經驗積累。也就是說,為了能熟練的使用這種語言、熟悉這種語言的各種特色,他必須專注于這種語言。問題就在這兒。

對于只有錘子的人,他能解決的問題就是釘釘子

如果你專注于一種語言,并能做到精通掌握,那你遇到的問題模式很可能就限制于跟這種語言相關的領域。簡言之,如果你懂PHP,那所有的問題都基本上是跟Web開發相關。相同的道理,如果你全部的知識都集中的Java上,那你對所有問題的解決思路都會沿著面向對象的方向,即使是使用過程式編程對于解決你的問題會更優的情況下,你也會如此。

(注:有句諺語:如果你惟一的工具是一把錘子,你往往會把一切問題看成釘子。參見:《每位開發人員都應銘記的10句編程諺語》)

一個程序員,只懂得一、兩種編程語言,這會嚴重的限制他的解決問題的能力。例如,如果你的編程語言是C語言,對于手頭出現的問題,你絕對不可能想出一種面向對象的解決思路,因為你的編程語言不提供這樣的語言特征。跟Haskell程序員不一樣,C++程序員不可能想出函數式解決方案。你的編程語言里提供了結構體和枚舉類型與否,會嚴重的影響你剖析一個問題的方式。如果你使用的語言的能力很弱,或你只知道少數幾種語言,你解決問題的能力相應的會被削弱。(編注:推薦閱讀《學習不同編程語言的重要性》)

語言塑造了我們的思維方式

有人說,我們的語言塑造了我們的思考和認知這個世界的方式。我基本上認同這個觀點。當一個人的母語里的名詞都有性別之分時,他一定不會同說其它種母語的人那樣一提起“警察”這個詞就基本上認為是男的。當一個人的母語里對藍色和綠色不區分時,他對世界的感知會和那些有區分的人的感知大不一樣。

如果我們回首中世紀學校的三學科,它們被描述為:語法解決概念和對象如何在書寫和話語中被表現,用邏輯對它們進行分析,最終以修辭為目的同他人交流。對于我們來說,編程語言也有語法。如果我們的編程語言不夠強,我們對事物和概念的認識以及對如何表達它們都不會有完整的視野。

語言,我們用來跟人們、跟計算機交流的功能,明顯的影響著我們的思考方式。我們對語言知道的越豐富、越多,越能幫助我們提高解決問題的能力。

那么,什么樣的人更合適?

那么,一個在某一兩種編程語言里具有專長的程序員,在當他解決一個問題時,會存在一定的局限。他會局限于他使用的語言允許他做的事。因此,他不會成為一個好的軟件設計師或分析師。

如果我們不用這些優秀的程序員,誰又能擔當軟件設計的任務呢?當然不會是那些完全不懂編程的人了。我們需要的是一種通才。一個優秀的軟件設計者必須通曉過程式,面向對象式,函數式,以及邏輯式編程語言—還包括各種優秀的軟件開發方法論。他不能只熟悉一種方法模式、像一個專業領域人員那樣。當然,他自己并不能寫出復雜的程序,因為他的知識太寬泛。盡管如此,他卻能正確的判斷出怎么樣的設計才是一個正確的解決方案。如果問題是處理一個釘子,他會找來一個熟練使用錘子的人;如果問題是處理一個巨石,他會叫來爆破部隊,而不是讓你徒勞的用錘子白費力氣。

原文:http://www.aqee.net/good-programmers-make-bad-designers/

【編輯推薦】

  1. 讓程序員憤怒的10種事
  2. 硅谷“老黃忠”程序員:Google+設計者上榜
  3. 我們程序員為什么難晉升
  4. 給年輕程序員的建議
  5. 程序員應如何更好的與非程序員一起工作
責任編輯:陳貽新 來源: 外刊IT評論
相關推薦

2016-01-21 10:05:31

程序員設計師

2013-10-29 10:24:31

程序員漫畫

2012-11-28 13:25:27

程序員

2023-12-26 18:47:32

2009-07-02 09:42:34

JSP程序員

2010-12-27 09:24:45

JSP程序員

2011-04-19 09:59:47

工資程序員

2012-05-25 10:54:24

程序員

2016-04-21 17:50:26

程序員優秀程序員

2017-03-26 21:42:47

程序命令行開發

2014-03-03 15:32:32

程序員資源

2016-04-19 10:20:42

程序員遺憾

2016-03-21 14:33:23

JavaPython程序員

2020-02-22 21:51:43

程序員Microsoft SServerSQL

2020-10-05 21:13:37

程序員技能開發者

2015-08-25 15:47:56

2013-03-19 10:18:07

程序員

2012-08-07 09:24:57

程序員項目

2019-10-24 09:32:51

程序員python語言
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一级黄色录像片子 | 欧美日韩综合一区 | 国产成人精品综合 | 亚洲一区二区三区在线视频 | 欧美成人a∨高清免费观看 老司机午夜性大片 | 国产一区h | heyzo在线| 欧美精品国产一区二区 | 天天干天天插天天 | 日韩av在线一区二区 | 精品亚洲一区二区三区四区五区 | 蜜桃日韩| 亚洲精品一区二区三区中文字幕 | 免费观看羞羞视频网站 | 国产精品一级 | 日韩在线精品视频 | 少妇性l交大片免费一 | 欧美成人免费电影 | 99亚洲精品 | 欧美11一13sex性hd | 亚州精品天堂中文字幕 | 午夜一区 | 日韩一区二区不卡 | 国产日韩一区二区三区 | 午夜在线小视频 | av大片在线观看 | 在线成人免费视频 | 国产美女在线看 | 国产成人精品久久二区二区91 | 一级特黄在线 | 在线观看中文字幕 | 久久91精品 | 日韩国产中文字幕 | 久久精品视频在线观看 | 黄色一级网 | 羞羞视频一区二区 | 色视频成人在线观看免 | 亚洲精品一区二区在线观看 | 99国产精品99久久久久久 | 九九热最新地址 | 欧美一区2区三区4区公司 |