我厌倦了寻找,而且从来没有找到一种满足我需求的编程语言(我想大多数优秀的程序员都有同样的感受)。无论如何,我确实有一个我想要的编程语言的想法,我想尝试开发我自己的编程语言。我感兴趣的是关于它有多难以及需要多长时间的信息(我的意思是,获得一种最低限度有用的语言)。我已经知道我需要什么资源,但我仍然觉得,如果不全身心地投入(或者让别人帮助我,我认为这是不可能的),我几乎不可能完成这样的事情。
无论如何--当我说“编程语言”和“最低限度的有用”时,我指的是准备好的核心语言,用于调用C代码的有效FFI,以及至少与Quack一样有用的Emacs IDE。
如果有任何经验报告,我将不胜感激。
谢谢!
发布于 2009-11-14 20:59:49
有一个haskell教程,你可以在他们声称的48小时内编写一个方案。我想说为什么的药水花了大约两个月的时间,但他为它写了一个解释器和JIT编译器。所以我要说的是,如果你知道你在做什么,那么根据时间和天赋的不同,需要一周到一到两个月的时间才能发布第一个有用的版本。如果你把语法写得足够简单,用antlr编写语法会比写语法花更长的时间来学习工具。
发布于 2009-11-14 20:41:15
不管你想做什么--停止它。
如果没有能让你满意的编程语言,也许是时候提高你的编程技能了?
如果我是你,我会描述问题(即你需要编写哪种类型的应用程序),并询问哪种语言最适合它。
所有超级发明通常都会被重写成更标准的语言,这样更多的人就可以在上面工作了。我听说许多公司试图发明他们自己的内部语言,他们最终将其重写为C或C#,以便能够雇佣能够直接使用它的人。
糟糕的一步,真的,糟糕的一步。
发布于 2009-11-14 20:59:04
嗯,这是一个相当大的任务!
你有没有想过只包含编译器的所有东西?你需要学习的知识有多丰富(语法,机器代码,平台约定,文件格式,...)?更不用说一些非常简单的事情了,比如运算符优先级,变量作用域,……
编译器不适合胆小鬼。如果你从来没有这样做过,那么为一种非常简单的语言(比如非常简化的pascal)编写一个解释器可能已经花费了大量的时间。
如果你能负担得起,那就去做吧,因为这很有趣,而且你会从中学到很多东西。但是不要认为你的语言在几年前就只是一个玩具了。即使到那时,它也肯定会遗漏许多其他通用语言中的特性。
https://stackoverflow.com/questions/1734117
复制相似问题