2010-02-18

程式設計的兩個觀點:架構狂還是效率狂?

« 程式設計的兩個觀點 (1/2) | 程式設計的兩個觀點 (2/2) »

這是很中懇的文章,現在的時代要造交通工具確實沒必要從輪子開始。但是...
從這一段以下說得真的很讚!

通常在校園中,電腦科學的程式設計課程多半偏重演算觀點的角度。但是,一旦進入職場後,似乎軟體架構的重要性又在這演算能力之上。當然,這並無法以偏概全,有些人的程式設計工作,便是在發展新的演算法,例如從事電腦輔助IC設計系統的人。又例如像開發多媒體編解碼器的程式員,其工作對於效能輜銖必較,非得千方百計的壓榨電腦的每一分力氣。對這類程式員來說,演算觀點自然是相當重要而且關鍵的觀點。

但無疑的,隨著電腦科學及軟體工程的演進及發展,在大多程式員日常的開發生活中,所需的絕大多數演算法和資料結構,早已一應俱全。不僅教科書上都有完整的介紹,而且幾乎都以包裝成為高階的程式庫,程式員可以看待一個一個黑盒子的方式來運用它們。對於許多程式員來說,如何更有效、有更彈性的組裝它們、運用它們,成了更為要緊的議題。


我也認為求學的過程仍需要從演算法和資料結構開始,這是訓練邏輯的重要過程,而您以成本切入敘述,更是指出現在許多新生程式設計師的問題,學會一個 method 就用上一輩子,從不研究其他能達到相同目的的 method。

跟他們提到 640k 記憶體錙銖必較的時代,那個表情和我聽外婆說以前只吃番薯籤餬口是一樣的...我只是咬個麥當當的漢堡和番薯籤有啥關係="=...

我自認屬於架構狂《追求神乎其技的程式設計之道(六)》,但效率也是我很愛計較的事情,我經常擷取一小段 code 用不同的寫法掛入數萬的迴圈執行後比較效率。

然而拜讀完神乎其技系列文章,小惡魔認為雖然不用從造輪子開始,但仍應該再加強演算法和資料結構的基礎,畢竟老是用跑迴圈的雕蟲小技混日子也不是辦法>"<...
張貼留言