国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

令人難以理解的軟件工程師:幾千行代碼能搞定的為什么要寫幾萬行?

移動開發 前端
我們公司的 Windows 版軟體已經有十多年的歷史,經過歷代工程師的整治之后,內容已經凌亂不堪。過去三個月,我找時間自己重寫了整個主程序。原本數萬行的程序,被我重寫的只剩下數千行,功能不變,效能更好,而且架構儼然。

我們公司的 Windows 版軟體已經有十多年的歷史,經過歷代工程師的整治之后,內容已經凌亂不堪。過去三個月,我找時間自己重寫了整個主程序。原本數萬行的程序,被我重寫的只剩下數千行,功能不變,效能更好,而且架構儼然。

[[229124]]

前幾天完成 Alpha 版之后,我不禁開懷大笑,笑聲驚動整個辦公室。

在重寫這個程序的這段期間,前兩個月,我每周花在這個程序上的時間應該不會超過四個小時。后來我趁著農歷新年沒事干,跑到公司加班數天,但是一天寫程序的時間也不會超過四個小時。

通常我白天寫兩、三個小時的程序,遇到瓶頸就去忙別的事,或者干脆回家吃晚飯,晚上睡覺前,躺在床上用手機查一下資料,第二天上班走在路上,就會很自然的想到不錯的解法。

寫程序是一種創作,不是做苦工,不能每天在電腦前面枯坐十幾個小時,否則超時工作,只會讓自己的腦筋變得更糊涂。

我所認識的許多寫程序高手,每天寫程序的時間都不會太長。

1995 年的時候,有一天在美國鹽湖城,我陪著趨勢科技的創辦人張明正扶著他爸爸過馬路,他突然跟我說:「宜敬,我實在搞不懂,在軟體這個行業,一個優秀的工程師的產出可以輕易抵得上一、二十個平庸的工程師,但是公司最多只要付他兩、三倍的薪水。那為什么還有公司愿意付錢雇用那些很平庸的工程師呢?」

當時我博士剛畢業,當然不知道要如何回答他的問題;而現在過了這么多年,我還是不知道要如何回答那個問題。

而當時張明正會問我那個問題,應該是因為我介紹了幾位同學跟朋友到趨勢科技工作。那幾位都是以一當十、以一當百的高手。趨勢科技當時沒有給他們十倍、百倍的薪水,但是對他們也不薄,給了他們不少的股票。

后來趨勢在日本上市,我那幾位朋友都成了億萬富翁,財富應該超過一般工程師的十倍、百倍吧?

寫一個大型程序,并不是「人多好辦事」。

如果是土木工程或是制造業,人越多、產出就越大。如果一個計劃延誤了,就多調一些人手過來幫忙。

但是在軟體工程里,人越多,就越是難以協調,寫出來的程序也往往品質越差、效能越糟糕。

這就是有名的”The Mythical Man-Month: Addingmanpower to a late software project makes it later”。

IBM在1960年代開發OS/360作業系統軟體時,就發現了這個奇特的現象。

所以我也搞不懂,大型軟體公司雇用了那么多的軟體工程師干嘛?

我在當兵的時候,有一陣子在臺中十軍團的資訊中心擔任資訊官。那時候我手下有兩名資訊科系畢業的大專兵,但是我嫌他們兩人寫程序寫的太慢,而解釋給他們聽更是費事,還不如我自己動手寫比較快。

所以我就叫他們到一邊涼快,所有的程序都由我來寫就好。而他們兩人覺得很不好意思,就泡了很好喝的奶茶給我喝。

后來我們成了很好的朋友。

寫程序并不是寫的越長越好、越厲害。

我年輕在臺大資訊工程系的時候,會跟朋友炫耀說:「我寫的程序語言編譯程序,總共有一萬多行耶。」

后來我去美國布朗大學讀電腦科學博士,畢業的時候喜歡跟朋友炫耀:「我的博士論文那個程序,功能那么強大,但是我只用了七、八千行程序就搞定了耶。」

二流的軟體工程師,喜歡把簡單的問題弄的復雜,寫出別人看不懂的程序。

一流的軟體工程師,喜歡把復雜的問題簡單化,寫出架構清楚明白的程序,讓人看了之后,覺得問題好像很簡單。

三流的軟體工程師會去崇拜二流的軟體工程師,因為他們會覺得二流工程師寫的程序都看不懂,一定是超級厲害;

三流的軟體工程師不會去崇拜一流的軟體工程師,因為他們會覺得一流工程師所做的事情都很好懂,好像都很簡單。

只有一流的的軟體工程師才會佩服一流的軟體工程師,因為只有他們才能看的出來,其他的一流軟體工程師厲害在哪里?

臺灣的軟體業如此,美國的軟體業也大致如此。

直到1980年代末期,IBM一直是世界上最大的電腦公司。而當時 IBM 找了一些原來是做硬體制造的高階主管來管軟體部門。

那些高階主管依照他們管理制造部門的經驗,決定用KLOC (thousands linesof code),也就是每位軟體工程師每年寫出多少行程序來計算軟體部門的效率。

結果軟體工程師們都「短話長說」,寫出一堆落落長又沒有效率的軟體程序。

要成為一流的軟體工程師,必須熟悉了解電腦科學的各種基礎理論,也必須累積長時間的實務經驗。

我在布朗大學電腦科學系讀博士修課的時候,程序作業的份量非常重。上作業系統(OperatingSystem)課的時候,教授要我們每個人獨立寫一個包含File System與 Process System的迷你Unix作業系統;

上編譯程序(Compiler)課的時候,教授要我們每個人獨立寫一個 Compiler,而且每一個模組還必須用兩個以上的方法寫,然后互相比較;

而上 Andy Van Dam 教授的電腦圖學,那簡直就是人間煉獄。當時助教發問卷調查,發現每位學生每周花在寫那堂課的程序的平均時間超過四十個小時,學生們幾乎要群起造反。

但是修過上述那三門課而沒有被當掉、又拿高分的,就成了懂理論又懂寫程序的高手、高高手。

當年我在布朗大學讀博士的時候,我估計我們系上像我這種等級的寫程序高手,大概有十來個吧?

但是我們系上公認最厲害的寫程序高手,還是我的指導教授 Prof. SteveReiss。他一個人大概抵得上五到十個我們這種等級的工程師。

關于他的傳說很多。有一次我去他的辦公室找他,看到他正在玩接龍游戲。他被我發現了,有點不好意思,趕緊跟我說,他覺得 Windows 上的接龍游戲很好玩,但是他沒有 Windows 電腦,所以就花了四、五天,利用零散的時間在他自己的 Sun Work Station 上面寫了一個類似的接龍游戲,包含彩色的圖像接口等等。

想玩電玩就自己寫一個?我很想笑,但又差點在我師父面前跪了下來。

十一

我在布朗大學認識的那些軟體高手,后來真正以寫程序為志業,然后寫出偉大又廣泛被使用的程序的,應該不多。

因為有些人后來去當大學教授,教授通常是不會自己寫程序的。久了之后,我不知道他們的功力剩下多少?

有些人后來為了拿高薪,去一些大公司寫一些很沒營養又很無趣的程序。久了之后,我不知道他們的功力剩下多少?

有些人后來進入產業界工作,沒多久就升上了管理職,而管理職人員通常是不會自己寫程序的。久了之后,我不知道他們的功力剩下多少?

所以程序高手原本就不多,而一直繼續在寫程序的程序高手就更是稀有了。

十二

美國的軟體業有一個老笑話:如果有兩個工程師在同一個團隊,一個很會寫程序,另一個很不會寫程序,那后來升上經理的,一定是那個不會寫程序的。

因為團隊需要那個會寫程序的留下來寫程序。

十三

我寫程序的功力最高的時候,應該是二十多年前我剛拿到博士的時候,那時候我又懂理論、又累積了大量的寫程序經驗。我不敢說自己能以一當百,但是以一當十應該是綽綽有馀的。

只可惜,沒多久之后我就升上了管理職,而當上了經理、協理、總經理之后,如果還自己寫程序的話,那是會被別人笑的。

所以我就不再寫程序了,而且我也學會,要在自己的部門多擺一些工程師,否則陣仗不夠大,會被別的部門瞧不起,也會被我的上司瞧不起。

二十年下來,我的功力大概只剩下兩三成。

十四

我現在終于自己當了老板。而當上了老板之后,最大好處之一,就是我高興寫程序就可以寫程序。就算有人要笑我,我也可以不理他們。

十五

我趁過年期間重寫了我們公司的 Windows 主程序,完成之后,自覺功力已經恢復到當年的三、四成,不禁大樂。

不過我還是覺得,軟體工程還真是一門很難以理解的行業。雖然我本身就是一個軟體工程師,雖然我的博士論文研究的就是程序開發環境(Programming Environment),主題就是我在這邊所說的這些問題。

責任編輯:未麗燕 來源: Android開發中文站整理
相關推薦

2018-10-15 09:20:08

代碼軟件工程師

2021-03-02 13:56:24

Linux 5.12代碼驅動

2014-12-19 09:59:50

代碼

2024-07-24 16:25:02

2019-01-03 09:29:15

Linux 系統 數據

2021-04-22 09:00:00

軟件工程師代碼

2023-06-16 10:05:48

2023-09-21 15:12:34

算力AI集群

2020-11-25 15:55:29

工程師計算機開發

2011-05-03 09:10:12

項目管理程序員

2017-03-23 14:07:55

代碼程序員

2009-07-21 08:44:14

微軟Linux內核開源操作系統

2020-02-24 16:27:19

開源大數據計算引擎

2019-11-18 09:56:48

谷歌Go語言開發者

2012-07-23 09:58:50

代碼程序員

2019-04-19 13:01:12

Java代碼庫Go代碼移植

2020-08-17 17:10:54

機器學習聚類開發

2013-09-03 09:30:44

軟件工程師軟件工程師頭銜

2022-09-16 08:00:00

軟件工程師求職薪酬
點贊
收藏

51CTO技術棧公眾號

校园春色亚洲色图| 亚洲色图丝袜美腿| 午夜小视频福利在线观看| 亚洲77777| 中文字幕一区二区三区域| 国产精品一卡二卡在线观看| 欧美一级视频免费在线观看| 一区二区三区高清在线视频| 成人黄色av电影| 99视频国产精品免费观看| 日av在线播放| 亚洲综合色站| 亚洲成人国产精品| 国产视频福利在线| 欧美高清在线一区| 91黄色国产视频| 国产欧美视频在线| 三级精品在线观看| 亚洲韩日在线| 亚洲欧洲中文天堂| 久久精品女人| 欧美jizz18性欧美| 国产一区久久精品| 国产亚洲精品免费| 久久亚洲免费| 无码日韩精品一区二区免费| 日韩成人久久久| 国产福利电影在线| 亚洲欧洲av一区二区三区久久| 五月天色婷婷综合| 国产日韩一区二区三区在线| 国产精品久久久久久久久久新婚| 88久久精品| 在线午夜精品自拍| 日韩精品影院| 亚洲精品av在线播放| av三级影院| 91麻豆国产精品久久| 精品国精品自拍自在线| 国产第一页视频| 日韩视频在线直播| 成人一级片在线观看| 亚洲欧美日韩久久| 成人高h视频在线| 97在线免费视频观看| 成年人免费看的视频| 成人av国产| 亚洲乱码一区二区三区| 日产午夜精品一线二线三线| 欧美激情一区二区久久久| 蜜桃视频在线观看免费视频| 欧美日韩精品一区二区三区四区| 国产性一级片| 国产香蕉久久精品综合网| 欧美成人高潮一二区在线看| 国产乱人伦精品一区二区在线观看| 麻豆成人av| 日韩电影一二三区| 日本三级中国三级99人妇网站 | 蜜桃a∨噜噜一区二区三区| 色天天综合狠狠色| 婷婷激情一区| 亚洲午夜未删减在线观看 | 亚洲精品97久久久babes| 久久影院午夜论| 日本熟妇人妻xxxx| 国产一区不卡在线| 永久免费在线看片视频| 蜜桃免费网站一区二区三区| 亚洲精品高清视频| 黄网站免费久久| 国产欧美久久久久| eeuss影院一区二区三区| 久久久久亚洲av无码专区喷水| 欧美亚洲免费| 香蕉久久夜色| 久久综合色综合88| jlzzjlzz欧美| 日本黄色一区二区| 高h视频在线观看| 亚洲第一免费网站| 在线观看特色大片免费视频| 一区二区三区www| 国产午夜久久av| 欧美最近摘花xxxx摘花| 天天插综合网| 国产日韩欧美一区二区三区四区| 久久成人在线| 老司机午夜网站| 国产女主播一区| 福利在线免费| 欧美日韩一级片在线观看| 里番在线播放| 日韩中文娱乐网| 青青草这里只有精品| 92福利视频午夜1000合集在线观看| 今天的高清视频免费播放成人| 日韩欧美在线电影| 久久蜜臀精品av| 久久久亚洲精华液精华液精华液| 色哟哟欧美精品| 亚洲欧美se| 国产精品入口尤物| 久久91精品久久久久久秒播| 欧美三级午夜理伦三级富婆| 色先锋aa成人| 欧美啪啪网站| 97免费资源站| 97久久超碰精品国产| 久草在线官网| 亚洲美女在线观看| 日韩av密桃| 国产精品免费久久久久久| 99国产精品久久久久| 久久久免费视频网站| 激情六月婷婷久久| 欧美大片欧美激情性色a∨久久| av在线不卡顿| 精品一区二区视频| 91网站视频在线观看| 免费在线黄色网址| 色爱av美腿丝袜综合粉嫩av| 五月精品视频| 18禁网站免费无遮挡无码中文| 欧美日韩中文字幕| 青青热久免费精品视频在线18| 国产综合色香蕉精品| 成人性视频免费网站| 婷婷六月天丁香| 日韩一区二区在线视频| 一本色道久久精品| 激情av网站| 在线观看不卡av| 国产日韩高清一区二区三区在线| 四虎最新地址发布| 激情欧美一区| 国产又大又黄又猛| 久久久国产一区二区| 精品一区在线看| 国产小视频免费在线网址| 黑人巨大精品欧美一区二区一视频| 色琪琪一区二区三区亚洲区| 免费视频观看成人| 极品尤物一区二区三区| 曰韩精品一区二区| 国产精品久久久久77777丨| 国产精品推荐精品| 中文字幕中文在线不卡住| 麻豆视频在线看| 国产91精品入口17c| 樱桃视频在线观看一区| 四虎视频在线精品免费网址| 亚洲开发第一视频在线播放| 欧美日韩大陆一区二区| 四季av一区二区凹凸精品| 久久九九国产视频| 国产一区二区日韩| 日本亚洲视频在线| av男人的天堂在线| 国产亚洲福利社区| 色哟哟精品一区| 91影院成人| 天海翼女教师无删减版电影| 久久久久久久av| 久久久久99精品国产片| 欧美91在线|欧美| 国产在线观看欧美| 亚洲国产成人精品久久久国产成人一区| 伊人成综合网| 在线观看av网站| 国产精品久久久久久网站| 亚洲欧美日韩成人高清在线一区| 亚洲网一区二区三区| 久草视频国产在线| 国产视频精品免费播放| 成人av综合一区| 欧美私模裸体表演在线观看| 久久久久亚洲精品中文字幕| 屁屁影院ccyy国产第一页| 亚洲激情视频在线播放| 久久www免费人成看片高清| sm在线播放| 人人妻人人澡人人爽欧美一区| 日韩精品在线观看网站| 丁香天五香天堂综合| 亚洲人成777| 九九九在线观看视频| 欧美猛男性生活免费| 亚洲精品国产a| 久久蜜桃av| av色图一区| 亚洲日本一区二区三区在线不卡| 亚洲第一色中文字幕| 精品一区二区综合| 久久av日韩| 在线观看免费播放网址成人| 欧美最猛性xxxxx(亚洲精品)| 亚洲人成小说网站色在线| 91精品综合| ****av在线网毛片|