日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > > 充電吧
[導(dǎo)讀]本文是小編在FB看到的,覺得挺有意思的,應(yīng)該是很多公司或者軟件工程師都會(huì)遇到的,特地轉(zhuǎn)過來分享給大家。

本文是小編在FB看到的,覺得挺有意思的,應(yīng)該是很多公司或者軟件工程師都會(huì)遇到的,特地轉(zhuǎn)過來分享給大家。

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

前幾天完成 Alpha 版之后,我不禁開懷大笑,笑聲驚動(dòng)整個(gè)辦公室。

在重寫這個(gè)程序的這段期間,前兩個(gè)月,我每周花在這個(gè)程序上的時(shí)間應(yīng)該不會(huì)超過四個(gè)小時(shí)。后來我趁著農(nóng)歷新年沒事干,跑到公司加班數(shù)天,但是一天寫程序的時(shí)間也不會(huì)超過四個(gè)小時(shí)。

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

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

我所認(rèn)識(shí)的許多寫程序高手,每天寫程序的時(shí)間都不會(huì)太長。

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

當(dāng)時(shí)我博士剛畢業(yè),當(dāng)然不知道要如何回答他的問題;而現(xiàn)在過了這么多年,我還是不知道要如何回答那個(gè)問題。

而當(dāng)時(shí)張明正會(huì)問我那個(gè)問題,應(yīng)該是因?yàn)槲医榻B了幾位同學(xué)跟朋友到趨勢科技工作。那幾位都是以一當(dāng)十、以一當(dāng)百的高手。趨勢科技當(dāng)時(shí)沒有給他們十倍、百倍的薪水,但是對他們也不薄,給了他們不少的股票。

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

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

如果是土木工程或是制造業(yè),人越多、產(chǎn)出就越大。如果一個(gè)計(jì)畫延誤了,就多調(diào)一些人手過來幫忙。

但是在軟體工程里,人越多,就越是難以協(xié)調(diào),寫出來的程序也往往品質(zhì)越差、效能越糟糕。

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

IBM在1960年代開發(fā)OS/360作業(yè)系統(tǒng)軟體時(shí),就發(fā)現(xiàn)了這個(gè)奇特的現(xiàn)象。

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

我在當(dāng)兵的時(shí)候,有一陣子在臺(tái)中十軍團(tuán)的資訊中心擔(dān)任資訊官。那時(shí)候我手下有兩名資訊科系畢業(yè)的大專兵,但是我嫌他們兩人寫程序?qū)懙奶?,而解釋給他們聽更是費(fèi)事,還不如我自己動(dòng)手寫比較快。

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

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

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

我年輕在臺(tái)大資訊工程系的時(shí)候,會(huì)跟朋友炫耀說:「我寫的程序語言編譯程序,總共有一萬多行耶?!?/p>

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

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

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

三流的軟體工程師會(huì)去崇拜二流的軟體工程師,因?yàn)樗麄儠?huì)覺得二流工程師寫的程序都看不懂,一定是超級(jí)厲害;

三流的軟體工程師不會(huì)去崇拜一流的軟體工程師,因?yàn)樗麄儠?huì)覺得一流工程師所做的事情都很好懂,好像都很簡單。

只有一流的的軟體工程師才會(huì)佩服一流的軟體工程師,因?yàn)橹挥兴麄儾拍芸吹某鰜?,其他的一流軟體工程師厲害在哪里?

臺(tái)灣的軟體業(yè)如此,美國的軟體業(yè)也大致如此。

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

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

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

要成為一流的軟體工程師,必須熟悉了解電腦科學(xué)的各種基礎(chǔ)理論,也必須累積長時(shí)間的實(shí)務(wù)經(jīng)驗(yàn)。

我在布朗大學(xué)電腦科學(xué)系讀博士修課的時(shí)候,程序作業(yè)的份量非常重。上作業(yè)系統(tǒng)(OperatingSystem)課的時(shí)候,教授要我們每個(gè)人獨(dú)立寫一個(gè)包含F(xiàn)ile System與 Process System的迷你Unix作業(yè)系統(tǒng);

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

而上 Andy Van Dam 教授的電腦圖學(xué),那簡直就是人間煉獄。當(dāng)時(shí)助教發(fā)問卷調(diào)查,發(fā)現(xiàn)每位學(xué)生每周花在寫那堂課的程序的平均時(shí)間超過四十個(gè)小時(shí),學(xué)生們幾乎要群起造反。

但是修過上述那三門課而沒有被當(dāng)?shù)?、又拿高分的,就成了懂理論又懂寫程序的高手、高高手?/p>

當(dāng)年我在布朗大學(xué)讀博士的時(shí)候,我估計(jì)我們系上像我這種等級(jí)的寫程序高手,大概有十來個(gè)吧?

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

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

想玩電玩就自己寫一個(gè)?我很想笑,但又差點(diǎn)在我?guī)煾该媲肮蛄讼聛怼?/p>

十一

我在布朗大學(xué)認(rèn)識(shí)的那些軟體高手,后來真正以寫程序?yàn)橹緲I(yè),然后寫出偉大又廣泛被使用的程序的,應(yīng)該不多。

因?yàn)橛行┤撕髞砣ギ?dāng)大學(xué)教授,教授通常是不會(huì)自己寫程序的。久了之后,我不知道他們的功力剩下多少?

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

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

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

十二

美國的軟體業(yè)有一個(gè)老笑話:如果有兩個(gè)工程師在同一個(gè)團(tuán)隊(duì),一個(gè)很會(huì)寫程序,另一個(gè)很不會(huì)寫程序,那后來升上經(jīng)理的,一定是那個(gè)不會(huì)寫程序的。

因?yàn)閳F(tuán)隊(duì)需要那個(gè)會(huì)寫程序的留下來寫程序。

十三

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

只可惜,沒多久之后我就升上了管理職,而當(dāng)上了經(jīng)理、協(xié)理、總經(jīng)理之后,如果還自己寫程序的話,那是會(huì)被別人笑的。

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

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

十四

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

十五

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

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉