如何轻松构建DSL(一) DSL编译原理
程序员文章站
2022-04-01 20:03:26
...
编译原理相对来说都是很难的一门技术,但是在实际中却非常有用,很多时候,我们并不止是在编程的时候才与它打交道,对于很多系统级的软件来说,为了解决一个领域的问题,往往都会有自己的一套脚本语言,可以由使用者按照自己想要的方式去使用它,这样就让这个系统的功能不再是限定在你所开发的功能上,因为作为系统的开发者来说,你开发的功能肯定是有限的,但是一旦有了DSL,普通用户也可以贡献自己的智慧,来开发功能了,有点类似UGC的赶脚。
普通人最常接触到的DSL,我觉得应该是office的VBA,刚工作的时候做的第一个项目是一个VBA的项目,一开始的感觉是VBA那就是小孩子,小白,菜鸟用的编程语言,我这种专业的开发人员搞这个?后来在实际使用的过程中,感叹微软的Office的强大,你需要在office软件里做什么,你都可以用脚本记录下来,可以按照你想要的方式让office去工作,每一个行,列,公式,操作,都有对应的函数来做,各种丰富的脚本论坛,你可以借用前人的智慧,这种劳动在Office的使用者之间可以交换。所以,如果没有VBA,我们只能用鼠标来操作,却不能记录和保持传播,不能跨越时空的传递这种智慧,所以一个DSL对于一个系统软件来说,就如同文字对于人类的发展,有些文明是有语言但是没有文字的,这种文明就只能口耳相传,跟有文字的文明根本就不是一个level的,所以WPS跟office,那就不是一个级别的。
上一篇: 很像知道这种平缓出现图片的效果是如何做的
下一篇: java 猜拳小游戏
推荐阅读