DSL实践地图册! (敬谢何编赠书)_领域特定语言书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > 领域特定语言 > DSL实践地图册! (敬谢何编赠书)
Zoom.Quiet 领域特定语言 的书评 发表时间:2013-04-21 16:04:07

DSL实践地图册! (敬谢何编赠书)

书是 130325 寄送到珠海的,超乎相象的厚!
- 好象趁出差帝都,用原先的家务时间替换为读书时间,才将此书啃完的
- 果断是当初: 编程语言实现模式 (豆瓣)
        http://book.douban.com/subject/10482195/
  的配套图书! 之前就吼过:"但是,要配套另外两本才真心实用的起来,这本是基本地图,ANTLR 是装备,DSL 语法设计图书则是藏宝图了..."

照例吐槽先!
- 至今读到的最象 OREILLY 图书的技术图书!
  - 不论书脊,排版,章节设计
  - 都是浓浓的一般 OREILLY 动物书的自在流畅
  - 山寨到这种地步真心不易
  - 但是,太对不起 ThoughtWorks 的敏捷形象了吧
- 以外,最最最怨恨的是居然没有给出图书源代码工程来!
  - 最最最吸引俺的,就是译序中指出的:
  - "这是用DSL写成的有关DSL的书"!
  - 因为OBP 工程的原因
    http://code.google.com/p/openbookproject/
  - 俺是习惯使用 rST 配合 Sphinx 进行图书撰写的
  - 也同样遇到了老马的 patternRef/codeRef 问题
  - 虽然 rST 本身提供了一定的解决方案,但是,用起来还是不够直觉
  - 如果 DSL 可以公开 docbook 的工程源代码
  - 那么,真心可以是对中国出版社技术图书组稿方式的一大推动
  - 其实不用全部公开,只对中/E文版本公开包含图书典型场景的几章就好!

整本图书,正如作者在序言中所述
- "尽力将DSL 领域所有知识,进行了关键性评点..."
- 就已经这么厚了! 所以,作者只能自认没法真正完成本身就在快速迭进的DSL技术全貌描述
- 所以,整本内容,处处表现出一种谦虚谨慎的学术范儿,令人安心,共鸣
- 只是,出版社应该联系作者,尽快将DSL 实现过程把诊断/错误处理相关的内容,专门出本书吧!

其实,对于多数程序猿,第一部分,叙述部分的内容,就已经值得整书价格了!
- 对什么是DSL,DSL 的分类,DSL 的适用场景,进行了综合性介绍
- 可以感觉的出,是作者写的最畅快的部分
- 然后的部分:通用/外部DSL/内部DSL/其它模型,都是具体实现的细节论述
- 整个图书的设计,非常象当年的 可爱的Python
  http://book.douban.com/subject/3884108/
  - 先用实例故事将想传达的经验包含进来
  - 通过 PCS 部分,对各个技术细节进行深入描述
  - 所以,读起来很是自得
- 只是非常怨念的是作者展示各种DSL 技巧使用的是 JAVA/C#/Ruby
  - 几种俺最无爱的语言!
  - 特别是JAVA 看着大片大片密仄的代码段,实在没有心情认真理解
  - 好在,每种实现都不算长,也就一两页,当需要时,完全可以对等翻译成 py 版的
- 其实,DSL 在平时就在经常使用
  - 各种框架使用的模板系统
  - ORM 库
  - OpenResty 的 lua 业务脚本
  - 复用 Graphviz 脚本,解析成工作流
  - 周蠎其实就是种经典的解析树操作实现的内部DSL
  - ...
- 只是,没有机会真正自个儿从头实现一个
  - DSL 这书给出了几乎全部 DSL 实现形式
  - 对于各种场景什么适合,进行了郑重的建议
  - 省的我们自个儿乱折腾了
  - 完全能够根据业务特性,选择合适的模式,进行快速完成

对于俺,DSL 这书最有用的是:
- 第三部分,外部DSL,是个完备的指导手册,可以在具体实践中直接使用
- 以及 p49 开始,不断强调的:
  - "对任何有持久价值的东西,都应该通过测试进行双重确认"
  - 这一思想,实在是软件工程师应该第一时间训练出来的自觉
  - 但是,,,,嗯嗯嗯,不展开了
  - 所以,要真心开始训练自个儿了...
- 另外: ANTLR 看来是DSL 谁也跳不过去的工具,也应该有专门的图书进行分享吧?
  - 推荐 The Definitive ANTLR Reference: Building Domain-Specific Languages
  - Terence Parr 07年的书
  - 看哪个出版社手快了...



PS:
- 最后,忽然发现一个非常诡异的事儿:
  - 书是华章科技出的
  - 但是,在封底折边出现的是 博文的微信公众帐号宣传
  - 难道机械同电子出版社要合并了!?
  - 进一步的,博文的微信号名称是码农读书会
  - 嗯嗯嗯,图灵也乱入了?

展开全文
有用 2 无用 2

您对该书评有什么想说的?

发 表

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

对“DSL实践地图册! (敬谢何编赠书)”的回应

resty 2013-05-20 19:01:55

antlr的作者有本编程语言实现模式,用的就是antlr,有中文版的