《人月神話》(P1)提出問題

過去幾十年的大型系統(tǒng)開發(fā)過程,看似都陷入了一個(gè)焦油坑,并且在其中拼命掙扎。表面上看起來,沒有任何一個(gè)單獨(dú)的問題解決不了,可是當(dāng)他們相互糾纏在一起的時(shí)候,麻煩程度往往令人難以想象。

程序構(gòu)件需要產(chǎn)品化(通用、測試、文檔),同時(shí)程序構(gòu)件需要被整合(接口、系統(tǒng)集成),之后才能形成編程系統(tǒng)產(chǎn)品(Programming Systems Product)。根據(jù)經(jīng)驗(yàn),編程系統(tǒng)產(chǎn)品的成本是程序成本的9倍,然而這是大多數(shù)系統(tǒng)開發(fā)的目標(biāo)。

編程行業(yè)樂趣在于:

  • 創(chuàng)造新事物帶來的純粹快樂
  • 自己的創(chuàng)造物能夠被別人需要的快樂
  • 編寫程序過程本身的快樂
  • 任務(wù)不重復(fù),持續(xù)學(xué)習(xí)新知識的快樂
  • 成為程序員就可以輕松的嘗試上面的快樂,比起當(dāng)一名詩人要簡單的多

然而,這個(gè)過程并不全是快樂的,編程的苦惱在于:

  • 程序相對于人類思維來說是要追求完美的,即使錯(cuò)了一個(gè)字符也不能正常
  • 工作目標(biāo)往往由他人來設(shè)定
  • 為了依靠其他人的程序,往往要委曲求全
  • 尋找BUG是重復(fù)、枯燥、艱苦的,而且尋找最后一個(gè)錯(cuò)誤要比第一個(gè)花費(fèi)更多時(shí)間
  • 在投入了大量辛苦的勞動之后,你的產(chǎn)品可能已經(jīng)不再被需要了
  • 我們所面臨的挑戰(zhàn)和任務(wù)是在實(shí)際的進(jìn)度和有效的資源范圍內(nèi),尋找解決實(shí)際問題的切實(shí)可行方案。

以上內(nèi)容就是原版《人月神話》第一章——焦油坑,所講述的內(nèi)容。

作者通過他的經(jīng)驗(yàn),試圖告訴我們,大型編程項(xiàng)目的成本是幾何式增長的,如果不正確處理問題,我們很可能會陷入一個(gè)焦油坑中。之后又分析了編程行業(yè)的樂趣和苦惱,在我看來分析的很正確。

總的來說,作為第一章,作者從行業(yè)和個(gè)人兩個(gè)角度,拋出了幾個(gè)十分重要的問題。同時(shí)也引出了本書的主旨,即解決這些問題,作者試圖先帶領(lǐng)讀者了解問題本質(zhì),然后在思考解決問題的方案。

相信作為程序員,面對這些問題或多或少都能引起共鳴。其實(shí),本書首次發(fā)行于1975年,早在如此多年之前,這些問題就已經(jīng)被人深入的討論過。總覺得,今天的我們還在因?yàn)檫@些問題而困擾,多少是會感到有點(diǎn)羞愧的呢。

我們大談的OOP編程和MVC思想等內(nèi)容的同時(shí),是否真的能解決我們所遇到的問題,還是我們可能一開始從根本上就做錯(cuò)了什么?我將持續(xù)為大家講述這本書后續(xù)的內(nèi)容。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,040評論 25 709
  • 本文把程序員所需掌握的關(guān)鍵知識總結(jié)為三大類19個(gè)關(guān)鍵概念,然后給出了掌握每個(gè)關(guān)鍵概念所需的入門書籍,必讀書籍,以及...
    dle_oxio閱讀 11,384評論 6 244
  • 內(nèi)容簡介 本書內(nèi)容來自Brooks博士在IBM公司SYSTEM/360家族和OS/360中的項(xiàng)目管理經(jīng)驗(yàn),該項(xiàng)目堪...
    少穻閱讀 1,086評論 1 1
  • 推薦理由: 作為一部在軟件領(lǐng)域40年暢銷不衰的傳奇經(jīng)典,很少能有像《人月神話》一樣具有深遠(yuǎn)影響力和暢銷不衰的著作。...
    Summery閱讀 4,058評論 1 4
  • 責(zé)任鏈模式 責(zé)任鏈模式一般分為處理者與請求者。具體的處理者分別處理請求者的行為。 Android中的時(shí)間分發(fā)機(jī)制就...
    Ch3r1sh閱讀 429評論 0 0

友情鏈接更多精彩內(nèi)容