日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

难以理解的软件工程师:几千行代码能搞定为什么要写几万行?

發布時間:2025/3/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 难以理解的软件工程师:几千行代码能搞定为什么要写几万行? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

導讀:“所以程序高手原本就不多,而一直繼續在寫程序的程序高手就更是稀有了。”本文是一位從業多年的軟件工程師分享的經驗和看法,他提到的一些現象,槽點頗多,應該是從業人員都會遇到的,不知你是否能有共鳴。




01


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


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



02


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


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


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


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



03


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


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


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


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




04


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


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


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


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


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


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



05


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


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


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



06


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


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


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



07


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


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


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


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


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


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




08


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


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


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



09


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


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


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


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


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



10


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


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


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


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



11


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


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


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


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


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




12


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


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



13


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


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


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


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



14


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



15


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


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


作者:林宜敬


推薦閱讀


日本老爺爺堅持17年用Excel作畫,我可能用了假的Excel···

180頁PPT,講解人工智能技術與產業發展

終于有人把云計算、大數據和人工智能講明白了!

數據告訴你:跟缺“芯”相比,中國當前的這個問題更致命!



Q:?你寫的代碼都有多少行?

歡迎留言與大家分享

覺得不錯,請把這篇文章分享給你的朋友

轉載 / 投稿請聯系:baiyu@hzbook.com

更多精彩文章,請在公眾號后臺點擊“歷史文章”查看

總結

以上是生活随笔為你收集整理的难以理解的软件工程师:几千行代码能搞定为什么要写几万行?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品国产九九九 | 久热av在线| 91在线观看喷潮 | 欧美不卡 | 亲嘴扒胸摸屁股激烈网站 | 久久精品黄| 国产69视频在线观看 | 久久久久久一区二区三区 | 国产免费一区二区 | 亚洲欧洲成人精品久久一码二码 | 精品国产欧美一区二区 | 久久久老熟女一区二区三区91 | 青青草自拍视频 | 麻豆乱淫一区二区三区 | 美女自拍偷拍 | 午夜中文字幕 | 影音先锋婷婷 | 亚洲一级免费视频 | 欧美精品激情视频 | 黄色91| 久久爱一区二区 | 三上悠亚影音先锋 | 娇妻被肉到高潮流白浆 | 97人人人 | 色中文字幕在线观看 | 真实的国产乱xxxx在线 | 风流少妇按摩来高潮 | 欧美极品少妇×xxxbbb | 黄色片免费网站 | 999毛片| 超碰在线观看免费 | 亚洲精品中文字幕在线 | 日韩一级片中文字幕 | 亚洲欧美在线不卡 | 视频在线一区 | 国产精品九九九九九 | 久久综合亚洲色hezyo国产 | 久久亚洲一区二区三区四区五区 | 国产叼嘿视频 | 免费看的毛片 | 国产麻豆一精品一男同 | av在线播放一区二区三区 | 奇米网7777 | 美女黄色真播 | 国产一级不卡毛片 | 成人免费在线网站 | 午夜有码 | 亚洲免费黄色片 | 97超碰成人 | 成人动漫在线观看免费 | 激情伊人五月天 | 亚洲国产日韩一区二区 | 成人网免费看 | 69sese| 男女涩涩| 欧美1区| 91在线观看网站 | 日本免费一区二区三区视频 | 中文字幕一区二区三区久久久 | 男人的天堂在线观看av | 就要日就要操 | 国产精品成人99一区无码 | 成人做爰66片免费看网站 | ,亚洲人成毛片在线播放 | 久久久久逼 | 国产午夜精品久久久久久久久久 | 精品欧美一区二区精品久久 | 成年人三级视频 | 欧美视频在线免费 | 欧美二区三区 | 亚洲国产毛片 | 91九色中文 | 巨骚综合| 韩国三级做爰视频 | 国产伦精品一区二区三区视频我 | 欧美精品系列 | 污视频免费在线观看网站 | 亚洲精品成人在线 | 国产白袜脚足j棉袜在线观看 | 嫩草影院av | 色综合天天综合网天天狠天天 | 偷拍老头老太高潮抽搐 | 国产丝袜第一页 | 韩日av片 | 国产精品美女高潮无套 | 精品国产一区二区三区久久久蜜月 | 亚洲高清av| 国产丝袜第一页 | 姐姐的秘密韩剧免费观看全集中文 | 嫩草午夜少妇在线影视 | 日本免费毛片 | 中文字幕国产一区二区 | 欧美成人一区二免费视频软件 | 99久久精品国产亚洲 | 亚洲伦理网站 | 日韩一二三四区 | 五月天色婷婷综合 | 黄色xxxxxx| 青青草一区二区三区 |