Joel Spolsky:
首先,你永遠沒有辦法正確地編寫軟件,你不得不用最方便的方法編寫軟件。因為軟件支出非常高昂,所以公司會要求盡可能節省成本,你不可能試用新技術,只能使用現有的最成熟、最保守的技術。
其次,你沒有辦法將一個項目做到盡善盡美。一旦程序可以正常運行,你的工作也就結束了,可以接下去干公司的下一個項目了。你的作用是解決問題,而不是將軟件寫得盡可能好。如果你是在一個專業的技術性公司,比如Google或Facebook,情況就完全不一樣,你的軟件寫得越好,公司就會越成功,所以公司會支持你在一個項目上不斷做下去。
時髦的技術往往容易掌握,而且越來越容易掌握,這是商業利益的驅使,為了最大化的降低軟件開發的成本。但在IT領域內的現實就是這樣,越容易掌握的東西, 學習的人越多,而且淘汰得越快。每一次新的技術出來,都有許多初學者跟進,這些初學者由于缺乏必要的基礎而使得自己在跟進的過程中花費大量的時間,而等他 學會了,這種技術也快淘汰了。基礎的課程,比方數據結構,操作系統原理等等雖然不能讓你立馬就實現一個linux(這是許多人嘲笑理論課程無用的原因), 但它們能夠顯著的減少你在學習新技術時學習曲線的坡度。而且對于許多關鍵的技術(比方Win32 SDK 程序的設計,DDK的編程)來說甚至是不可或缺的
時髦的技術往往容易掌握,而且越來越容易掌握,這是商業利益的驅使,為了最大化的降低軟件開發的成本。但在IT領域內的現實就是這樣,越容易掌握的東西, 學習的人越多,而且淘汰得越快。每一次新的技術出來,都有許多初學者跟進,這些初學者由于缺乏必要的基礎而使得自己在跟進的過程中花費大量的時間,而等他 學會了,這種技術也快淘汰了。基礎的課程,比方數據結構,操作系統原理等等雖然不能讓你立馬就實現一個linux(這是許多人嘲笑理論課程無用的原因), 但它們能夠顯著的減少你在學習新技術時學習曲線的坡度。而且對于許多關鍵的技術(比方Win32 SDK 程序的設計,DDK的編程)來說甚至是不可或缺的