Jonathan Blow 的新程式語言

1 篇文章 / 0 新
johnson_lin
johnson_lin's 的頭像
Jonathan Blow 的新程式語言

從九月份瞥到 Jonathan Blow 好好的 The Witness 不快點做完,突然開始在他個人的 twitch stream 上談論程式語言設計以來,我就一直在關注這條線後續的動態。雖然沒啥時間實際動手寫成筆記文章,但是幸好對此有足夠興趣的朋友不只我一個:

http://catonmars2100.blogspot.tw/2014/11/jonathan-blows-ideas-about-programming.html

緣起與想法在 CatOnMars 的文章中都有筆記,如果暫沒興趣瞭解全部的人,至少先看看文章。也許你會跟我一樣後來就一直關注期待 Jon Blow 的新 video stream。

幾個重點:

1. 務實的語言設計;不要想某些深遠的大問題可以因為某個 language feature 就 100% 解決,通常都會引入很多讓寫程式變得痛苦的磨擦力。80% solution 在 c/p 值上是最好的。

2. 程式語言設計不應一味以不要讓任何人犯錯的低標來設規範,而是應該實際瞭解什麼樣的 feature 真的能幫助到 programmer,什麼樣的選擇應該讓 programmer 可以做?

3. 很多既有語言的「成規」其實有點怪,不知為何現在沒人想過?譬如說,因為有 uninitialized variable 問題,就由 compiler 全部強制幫你上 default value,這樣永遠是好的嗎?為什麼沒有一種語言有「原則上 default initialized,但可以讓你 optional uninitialized」?

4. 為什麼像 preprocessor 或是 build process 之類的過程要用另外一種語言或工具來描述?明知需要的工具越少越單純越好,為何不動手做呢?

5. etc etc...

他的 twitch past broadcast 因為 channel 名取得很隨便,所以其實查找上有點困難,不過還好重要的幾則影片後來都有傳到 Youtube 上,一併整理在下方,有機會我會看狀況繼續更新這篇文章。

延伸閱讀: