65.9K
CodeProject 正在变化。 阅读更多。
Home

创建你自己的酷炫编程语言

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.77/5 (17投票s)

2011年11月19日

CPOL

3分钟阅读

viewsIcon

66613

关于《创建你自己的酷炫编程语言》一书的评论

引言

我已经做了19年的程序员,虽然我的工作主要围绕分布式、实时和嵌入式系统,但我一直对编译器、解释器和编写解析器很着迷。我记得在大学里,听完一堂关于编译器的课后,我们一伙人认为我们可以用我们自己的编程语言征服世界。但那并没有发生。依我之见,每个软件开发人员都应该经历学习如何编写解析器或如何构建编译器的心理过程。关键是理解在语言实现中发现的常见模式。这会让你成为一个更好的程序员!

语言设计是火箭科学吗?

正如Eric Lippert曾经说过:“令我惊讶的是,很多人确实将编程语言视为神奇的东西。当我在聚会或其他场合遇到人时,如果他们问我做什么,我告诉他们我设计编程语言并实现编译器和工具,而且令人惊讶的是,许多人——专业程序员,请注意——会说‘哇,我从来没有想过这个问题,但是的,总有人需要设计这些东西’。就好像他们认为语言是凭空产生的,并且已经拥有了围绕它们的工具基础设施一样。”

语言的设计就像任何其他产品一样:通过仔细地在一系列相互竞争的可能性中做出权衡。编译器和工具的构建就像任何其他专业的软件产品一样:通过分解问题,一次编写一行代码,然后对生成的程序进行彻底的测试。

如果你有兴趣设计一种语言,一个好的开始是思考你已经知道的语言的不足之处。设计决策通常源于考虑另一个产品中的设计缺陷。

我正在寻找一本关于创建编程语言的书,这本书不要太密集,要切中要害,并且没有多余的术语。我找到了 Marc-Andre 写的 创建你自己的了不起的编程语言电子书。这本书没有让我失望,也不会让任何对语言应用感兴趣的程序员失望。

image

我为什么要购买这本书?

我购买这本书的主要原因是它得到了 Ruby 的创建者 Matz 的认可,并且同一本书也被用来编写流行的语言 CoffeeScript。 这足以让我投资 40 美元,而且还提供退款保证!

Marc 很好地解释了创建你自己的语言的不同方法。他首先展示了如何使用纯 Ruby 的词法分析器、解析器和解释器,创建一个类似于 Ruby 且带有 Python 缩进的语言“Awesome”。所有这些工具都包含在书籍包中。第二种方法是更全面的方法,托管在 JVM(Java 虚拟机)上,并提供一个执行环境,你可以在其上构建一个更高性能的语言。

还有一个 10 分钟的屏幕录像,展示了如何扩展 JVM 语言。本书的所有章节都有小的练习,帮助你练习所学的内容,而且我喜欢看实际的代码并进行练习,就像一个务实的人一样。

谁应该阅读这本书?

这本书对任何大学生甚至像我这样的专业人士来说都很好,他们试图了解最流行的编程语言是如何创建的。它涵盖了重要的部分和所有内容。但是,这不是关于实现细节的书。你需要在事先了解一些概念,并熟悉本书中使用的术语。如果你正在创建一个编译器,一个好的起点是 Jack Crenshaw 的《让我们构建一个编译器》。

这本书包含什么?

只需 39.99 美元,你就可以获得一本 60 页的电子书 PDF、练习和解决方案、一个展示如何扩展 JVM 语言的屏幕录像,以及 Ruby 和 Java 中两种语言的完整源代码。如果我可以买到印刷版,我会毫不犹豫地拿出那叠钱!写得很好,而且非常有趣!
© . All rights reserved.