Answers
先去熟悉現有的語言。
面向過程的
面向對象的
函數式編程
以及神一樣的 Lisp 和背後的 Lambda 演算。
然後,你會發現,沒有一款編程語言能超越 Lisp。但是卻很少有人用它去生產。
小時候也有你的想法。那時候我剛開始學 Visual Basic,連 C 都不會。後來才發現,很多當初覺得不足的地方,恰恰是這門語言成爲這門語言的原因,也是這門語言的優勢所在。
當你熟悉了天下絕大多數種類的語言,然後,如果你還能發現,有一種語言,它還未出現,卻能滿足其它所有語言難以滿足的需求。這時候,你可以開發真正屬於自己的語言了。
如果不是這樣的話,僅僅是爲了增強現有的語言,完全沒必要從 0 開始。
現有的解析器編譯器完全可以復用,唯一要做的,只是略微修改語法。(不過有時候是因爲這樣做工作量太大沒人願意做,比如 PHP 對
func()[index]
語法的支持)
或者用全新的但現有的開源架構,比如 LLVM。
Miskey
answered 10 years, 2 months ago