本書開卷便給我一種不同尋常的感覺,作者用焦油坑舉例描述軟體開發的工作十分新穎;不像其他書上來就長篇大論講效率講成果,本書首先講職業的樂趣,所謂興趣是最好的老師,我們軟體工程首先有一種創造事物的純粹快樂,在剛剛編寫的一行**、乙個程式執行成功時的興奮感是無可比擬的;這種快樂來自於開發對其他人有用的東西,我們期望其他人使用我們的勞動成果,並能對他們有所幫助,第三是整個過程體現出的魔力,將相互嚙合的零部件組裝在一起,看到它們精妙地執行,得到預先所希望的結果。第四是學習的樂趣,最後,樂趣還來自於工作在如此易於駕馭的介質上。
「程式設計師,就像詩人一樣,幾乎僅僅工作在單純的思考中。程式設計師憑空地運用自己的想象,來建造自己的「城堡」。很少有這樣的介質——創造的方式如此得靈活,如此得易於精煉和重建,如此得容易實現概念上的設想。」這句話可謂是本書的點睛之筆,作者告訴我們程式設計不只是掉頭髮,程式設計非常有趣,在於它不僅滿足了我們內心深處進行創造的渴望,而且還愉悅了每個人內在的情感。
然而,這個職業並不只有快樂,相輔相成的是程式所帶來的苦惱,程式設計經常由他人來設定目標,供給資源,提供資訊。程式設計人員很少能控制工作環境和工作目標。概念性設計是有趣的,但尋找瑣碎的 bug 卻只是一項重複性的活動,伴隨著創造性活動的,往往是枯燥沉悶的時間和艱苦的勞動。而最痛苦的是當投入了大量辛苦的勞動,產品在即將完成或者終於完成的時候,卻已顯得陳舊過時。可能是同事和競爭對手已在追逐新的、更好的構思;也許替代方案不僅僅是在構思,而且已經在安排了。 誠然,產品開發所基於的技術在不斷地進步。一旦設計被凍結,在概念上就已經開始陳舊了。不過,實際產品需要一步一步按階段實現。實現落後與否的判斷應根據其它已有的系統,而不是未實現的概念。因此,我們所面臨的挑戰和任務是在現有的時間和有效的資源範圍內,尋找解決實際問題的切實可行方案。
閱讀本書,反思自己發現我在選擇這個專業到已經學習一年多的現在,未曾思考過程式設計的意義,未曾考慮過程式設計的快樂與苦惱,如果認識不到這一點,程式設計就僅僅只是重複的勞動而無實際意義。今後我要充分意識到程式設計的意義並努力學習。
人月神話閱讀筆記01
本週讀了 人月神話 中的 焦油坑 和 人月神話 兩個章節,現來看看我的認識與理解。我們做專案應該滿足目標 時間進度 和預算的要求,這樣才能夠最大程度上避免陷入焦油坑中。新聞中有多兩個人在車庫中完成了大量的重要程式,其實我們應全面的看待這樣的神話。編寫陳偉乙個變成產品和程式設計系統需要編寫乙個程式的三...
人月神話閱讀筆記01
本篇閱讀筆記是我對於 人月神話 一書中中關於團隊擴建的感悟。開發團隊在很多方面滿足了迫切性的需要。十個人,其中七個專業人士在解決問題,而系統是一乙個人或者最多兩個人思考的產物,因此客觀上達到了概念的一致性。要特別注意傳統的兩人隊伍與外科醫生副手隊伍架構之間的區別。首先,傳統的團隊將工作進行劃分,每人...
人月神話閱讀筆記01
在眾多軟體專案中,缺乏合理的時間進度是造成專案滯後的最主要原因,它比其他所有因素加起來的影響還大。原因 我們對估算技術缺乏有效的研究,更加嚴肅地說,它反映了一種悄無聲息,但並不真實的假設 一切都將運作良好。第二,我們採用的估算技術隱含地假設人和月可以互換,錯誤地將進度與工作量相互混淆 第三,由於對自...