Second Contact with CWEB
就是下面那篇提到的、寫不到一半的小程式 XD。不過還是有些進一步的感想。CWEB(or literate programming)一般為人稱道的是文件與程式碼融於一爐,使得整個程式看起來就像一篇文章。這是描述 CWEB 產出的成品。今天在寫的時候,我發現寫 CWEB 可以把平常寫程式的邏輯理路如實鋪開來,而不受限於編譯器所要求的程式碼結構。例如,寫程式的時候常常會這邊寫一寫,才想到要回上面補一些東西(或者說,邏輯上應該先知道下面的東西才會去寫上面的東西),這在 CWEB 可以很自然地呈現。
相對地,程式初學者恐怕不適合寫 CWEB。寫 CWEB 雖然主要是依循邏輯的理路結構,但是程式員仍然不能忽略編譯器要求的語法結構,後者在 CWEB 裡是隱寓的(implicit),初學者應該沒辦法負荷這樣的思維。另外,CWEB 的 edit-compile-debug cycle 也麻煩許多,如果對程式語言沒有一定掌握(例如必須靠編譯器抓簡單的語法錯誤),寫 CWEB 會很痛苦。然後 TeX 當然是另一道難關。
--
不過 CS 學生如果好好讀到大三,應該沒理由耍不起 CWEB XD。
Labels: Programming
還是覺得,最後一句會讓很多人跳樓
<< 回到主頁