[分享]與大家分享兩篇程式設計的兩個觀點

您有"私藏的網站"嗎?最近有什麼"新聞"嗎?您有"好康的"要向大家推薦的嗎?通通來資訊交流版就對了啦!!!!

版主: E-Office小組

分享到: Facebook

[分享]與大家分享兩篇程式設計的兩個觀點

文章yjm78119 » 週四 11月 03, 2011 3:11 pm

在網路上瀏覽看到,兩篇其實是一篇分成兩部分。
對於其中提到兩種程式設計師的描述深有感觸,
過於偏重一方所產生的影響在實作、測試、維護專案其實是很明顯的。
我也只是個菜鳥新手,需要學習的,還有太多太多
話不多說,以下為link,大家慢慢享用

http://www.javaworld.com.tw/roller/qing/entry/程式設計的兩個觀點_1_2
http://www.javaworld.com.tw/roller/qing/entry/程式設計的兩個觀點_2_2

PS.話說,link中有中文的話語法標記會失敗?只好請大家手動複製包括中文的完整網址貼瀏覽器了==|||
麻雀衰小,五臟聚拳←聰明靈動有啥屁用,還不是被一手捏爆~@_@~
頭像
yjm78119
E-Office 小組
 
文章: 134
註冊時間: 週一 9月 17, 2007 1:52 pm

Re:[分享]與大家分享兩篇程式設計的兩個觀點

文章benwu » 週五 11月 04, 2011 10:18 am

許多應用程式的開發者,其實並不太會遭遇到需要發展複雜或困難演算法的情況。但對演算法的基礎了解,可以、也應該培養我們對於運算成本的概念。現今程式庫高度發展的現況,似乎讓程式員們有了忽略運算成本的趨向。就以Java的標準程式庫當做例子來說吧,java.util.ArrayList這個容器類別有個叫做indexOf()的函式,傳入某個物件,可以找到該物件在ArrayList中的位置索引值。這個動作,其時間複雜度其實是線性的,和ArrayList中所含有的元素總數成正比。可是,程式員可能不會意識到其成本。也許程式員在撰寫程式的過程中,需要記錄不重覆的元素,他可能利用ArrayList來記錄,並且利用indexOf()來判斷重覆與否。但是,indexOf()其實是一個代價不低的動作,同樣的需求,利用java.util.HashSet這個類別的contains()函式,其時間複雜度是常數!這二者都能達成相同的需求,但是執行效率隨著規模的提昇,卻有著天壤之別。


即使大多數的應用程式開發者毋需憂心於新型演算法的設計問題,但是對於常見的演算法諸如排序、搜尋等,最好具備一定的認識,在撰寫程式時才能知道究竟有那些工具可供取用。而且,更重要的是,在撰寫程式碼時,隨時都應該對演算的成本保持警覺,尤其對於每一個高階的抽象操作,都應該確切的了解其演算的成本及代價。高階抽象包裝有時就像糖衣,它包覆的究竟對你來說是不是毒藥,必須要時時刻刻小心。


這兩點我非常贊成,不過也代表我們的授課老師必須了解這些java提供的Class的內部運作原理。 ^^
我不是大吳老師,也不是小吳老師,我是Ben老師
我的部落格
http://eportfolio.fju.edu.tw/053792
頭像
benwu
資管系教師
 
文章: 645
註冊時間: 週二 4月 20, 2004 4:17 pm
來自: 輔大資管系


回到 資訊交流版

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客