80分鐘8語言

今天要做一個關於不同編程語言的演講,我介紹了Scheme, Smalltalk, Lua, Perl, Ruby, Prolog, Erlang, OCaml, Haskell,其中Perl是作爲反例出現的。這些語言大多是這一年用零碎時間學的,像Lua、Prolog、Erlang、OCaml都只是看完了一兩本入門的書,對它們的特點、優點短處、擅長領域有了個比較粗淺的認識;Scheme、Smalltalk則是一本書都沒看完,理解就更爲膚淺了;Haskell雖然看過兩本入門教材,也翻看過不少文章,但它博大精深,廣博之處只能窺見一二,精妙之處也無法領會太多,但還是列出了一些我所知道的。

最初只知道C/C++,參加競賽後寫了大量C++程序,不過工程方面的C++基本不會。到學了一點Python體會到dynamic typing和reflective帶來的全新體驗(但不滿它古怪的模塊名、單表達式lambda和其他一些我認爲是wart的地方,所以也就沒繼續學下去)。後來又看了Perl三部曲,對它的種種缺陷有了深切體會。再後來通過SICP學了一些Scheme,因爲一個窗口管理器xmonad開始學Haskell,墮入了functional programming的無底深淵。認真地學了些OCaml和Ruby,學習離散數學時看了一點Prolog,面向對象程序設計時看了一些Smalltalk、Lua、Falcon,最近又學了些Erlang,每一次,這些奇奇怪怪的編程語言都會給我新的體驗,讓我對編程語言有全新的認識和理解。

因爲沒有料及投影儀不能用,今天的活動耽誤了大家不少時間,真是抱歉……看到xq的網線路標,mt的人肉路標,很是震撼。感謝gjb的宣傳工作,zt提供場地,更感謝大家耐心等着我們擺弄投影設備,一路拔山涉水來到FIT樓,並且堅持着聽完xq和我那枯燥乏味的語言介紹……和xq總共講了170分鐘上下的樣子,這點時間要理解任何一門單獨的語言都是遠遠不夠的,而且以我對其中任何一門語言的瞭解都沒法講清楚,只是希望大家能接觸到不同範式的語言,引發對它們優劣的思考。

幻燈片我做得挺用心的,可以在這裏下載:pdf下載