免责声明:是的,我知道这至少需要3年时间。
我期待着写一种新的解释编程语言。从动态性、语法性、对象模型等方面来说,我对自己想要的东西有一个很好的认识。
现在我有了这个想法,在开始之前我有几个问题:
发布于 2011-07-18 16:12:35
你问题的答案很大程度上取决于你为什么这么做--主要原因。您是在尝试创建下一个Ruby,还是这是一个学习练习?
我听说龙书对学习开发编译器很有好处。
发布于 2011-07-18 16:14:01
发布于 2011-07-18 18:33:27
我认为你为自己设定了太多的目标。你说“性能是必须的”,但在评论中你说你的目标是“学到很多关于语言设计的知识”,而且你不太可能在一个真正的项目中使用它。创建新的编程语言是为了解决问题;更准确地说,它们的创建是为了帮助人们以更好的方式表达问题的解决方案。设计一种语言而不认真、密集、持续地使用它,就像编写没有任何测试用例的软件:您可能最终会遇到一些无法使用的东西。
如果你想尝试语言设计,那么找到一个问题--一个你关心的问题--现有的语言不会让你以你想要的方式解决问题。然后尽你所能得到一个有效的实现,并开始使用它编写和运行程序。您不需要手工构建的JIT编译器,其运行时是用非常糟糕的程序集代码编写的。如果您的目标是JVM或.NET,您将得到一个非常高性能的GC、可伸缩的线程系统、库和许多其他免费的好东西,即使它干扰了您对______的出色想法。
另一方面,如果你只想让某件事情运行得很快,不要同时设计一种语言。只要找到一个你喜欢的,学习实现策略,看看你是否能做得更好。
https://stackoverflow.com/questions/6735807
复制相似问题