2006年11月11日 星期六

微軟「二十一世紀的運算」-學術研討會,A Brief History of Software Engineering

難怪要有編輯的存在,就算是自己想寫的東西,也會拖了兩週還沒寫完。另外我發現google”二十一世紀的運算”時若沒加”微軟”,不容易找到這裡的心得,試看看加了”微軟”的差別 XD ,搜尋keyword真是奧妙難懂,從我的角度想,大概會搜”Microsoft”,不會想到大部份人搜”微軟”(我是從Google Analysis得知這事的,好工具一推)。

第五位講者是Pascal的作者Niklaus Wirth,因程式語言的貢獻於1984年得到Turing Award,講題是軟體工程的歷史。

這大概是最切題(高品質軟體的挑戰)的演講,也是唯一在演講中提到大會主旨的講者,不過內容沒什麼好提的,大概查查就能知道的歷史,比較有衝擊的是提到OOP是一種思維,不要把它和程式語法混淆了,過去曾聽過一樣的想法,從大師口裡再聽一次,加強了印象,用更明確的說法,不懂OOD,光會用OOPL(ex: Java、C++)寫程式也沒用。從這可以衍生一堆爭議話題,像是OOP的精神為何、初學者是否適合學物件導向、先學C還是C++?有興趣的人可以自行討論,大概沒有標準答案,因人的背景能力和實作需求而不同。

軟工歷史裡提到C++於1985年提出,Java於1995年提出,讓我有些感觸。1996年,正是EVA走紅,Escaflowne因而被幹掉的年代,啊...不是,從我的個人經驗來看,Java推出時,C++享有10年的聲譽,到了2005年,Java推出JDK 1.5一陣子,加上一堆既有libarary,Java也可說花了10年才奠定它的地位,世界上有這麼多程式語言,好的設計不斷被加入新型程式語言裡,但又需要多少個10年,才能把過去不夠完善的包袱卸下,讓真正好的語言廣為使用呢(嚴重被人的寫程式習慣和libarary的質與量影響)?

Niklaus Wirth流顯出老學究的氣息,看起來真像教科書裡的人(事實上就是),或說是歷史裡的人物,像和我們生活在不同世界一樣,途中講者指著台下教授說教,強烈建議教授們回去好好教學生程式設計,而不只教程式語法,不然只會造成更多計算資源浪費,還用”software -> softwaste”當標語。

Q&A時有人問到驗證程式正確的事,姚院士從理論驗證的角度給了回答,微軟研究院的講者從程式工具驗證的角度回答,妙的是Wirth在兩派人士講完後做的補充,程式應該一開始就嚴謹設計好,設計好的程式自然是對的,不應該有事後驗證程式的想法。我想三個觀點都必要,寫程式是藝術也是很現實的事,沒有一統的完美解法。

題外話,聽到第五場時已相當累了,途中我有試用同步口譯耳機,翻譯品質不錯,時間最多延遲兩三句。

沒有留言:

張貼留言