如何实现属于自己的语言


我们总是纠结于语言的不足,所以有能人会自己实现的语言。

那么,如果我想实现一种语言,我该怎么去做?

语言

铭刻时间的歌 9 years, 6 months ago

先去熟悉現有的語言。

面向過程的
面向對象的
函數式編程

以及神一樣的 Lisp 和背後的 Lambda 演算。

然後,你會發現,沒有一款編程語言能超越 Lisp。但是卻很少有人用它去生產。

小時候也有你的想法。那時候我剛開始學 Visual Basic,連 C 都不會。後來才發現,很多當初覺得不足的地方,恰恰是這門語言成爲這門語言的原因,也是這門語言的優勢所在。

當你熟悉了天下絕大多數種類的語言,然後,如果你還能發現,有一種語言,它還未出現,卻能滿足其它所有語言難以滿足的需求。這時候,你可以開發真正屬於自己的語言了。

如果不是這樣的話,僅僅是爲了增強現有的語言,完全沒必要從 0 開始。

現有的解析器編譯器完全可以復用,唯一要做的,只是略微修改語法。(不過有時候是因爲這樣做工作量太大沒人願意做,比如 PHP 對 func()[index] 語法的支持)

或者用全新的但現有的開源架構,比如 LLVM。

Miskey answered 9 years, 6 months ago

Your Answer