自制编程语言

[日] 前桥和弥
译者序 能翻开这本书的人,想必对编程都有着浓厚的兴趣。大部分编程爱好者都会利用业余时间写一些小程序、开源项目作为消遣,却很少有人会想要自己创造一门编程语言,这是为什么呢? 在翻译本书之前,如果别人问我要不要尝试自制编程语言,我一定会觉得他疯了。因为在潜意识里,我一直认为制作编程语言应该是C 语言之父丹尼斯·里奇这样的业界大牛才能完成的浩大工程,作为一个普通程序员只要安于本分,用好已有的语言就已经足够了。 在翻译完本书后,我才发现自己真的是大错特错。原来创造一门编程语言,只需要一些C 语言基础、一些正则表达式知识、加上不断思索的大脑就可以做到。如果你还觉得难以置信,那么就请看看在这本不算厚的书中,作者居然已经创造了两门编程语言,并且都具备高级编程语言的所有特性。 其实一开始的问题已经有了答案:很多看似难如登天的事情,一旦真的下决心去做,你会发现难度并没有想象中那么高,只是我们往往缺少一颗勇于挑战的心罢了。 本书记录了作者一步一步从零创造出编程语言的全过程,作者并不是什么行业精英,而是像你我一样的普通开发者。整本书中也没有用特别复杂的算法或酷炫的编程技巧,但是就凭借着一行行简单朴实的编程语句,作者最终完成了一个普通开发者看来几乎不可能完成的任务。阅读完本书后,除了自制编程语言的知识,我相信读者还能收获到一些更重要的东西。 本书原文讲到了日文编码的知识,为了更好的将内容精髓呈现给读者,我们大胆地将涉及日文编码的部分全部更改为中文编码的知识,译者刘卓还对此编写了很多原创的补充内容,力求能与原书保持同样的水平。如有错误或疏漏,还请读者随时指正。 读完全书后,你会对编程语言的原理和实现方式有一个全面深入的了解,比如你会明白为什么Java 中String 类型明明是对象类型却不能改变其内容,C 语言中为什么a++ + ++b 这样看似合理的语句却会报错等。以前知其然而不知其所以然的问题…