Nombas 和 ScriptEase
大概在 1992 年,一家称作 Nombas 的公司开发了一种叫做 C 减减(C-minus-minus,简称 Cmm)的嵌入式脚本语言。Cmm 背后的理念很简单:一个足够强大可以替代宏
操作(macro)的脚本语言,同时保持与 C (和 C ++)足够的相似性,以便开发人员能很快学会。这个脚本语言捆绑在一个叫做 CEnvi 的共享软件中,它首次向开发人员展示了这种语言的威力。
Nombas 最终把 Cmm 的名字改成了 ScriptEase,原因是后面的部分(mm)听起来过于消极,同时字母 C “令人害怕”。
现在 ScriptEase 已经成为了 Nombas 产品背后的主要驱动力。
这里面的 “宏” 是什么?
首先引用百科里面的一段话:
然后说说我的理解:
宏
很像脚本语言:它会定义一系列指令,有些还能定义变量和进行简单计算。但是它和脚本语言仍然有较大的不同,简而言之就是它们比脚本语言更简单,并且不如脚本语言通用(最简单的一点,宏无法定义脚本语言那样复杂的计算)。但宏与脚本语言之间的这种界限并不是那么严格,就像脚本语言与高级语言一样。什么语言是脚本语言,什么又是高级语言呢?很难有严格的定义。
宏和脚本语言也一样,主要还要靠自己领悟。可以把
宏
理解成更加抽象化、层次更高的脚本语言:脚本语言的一条指令往往能够抵得上很多条高级语言指令,而宏的一条指令往往能抵得上很多条脚本语言的指令。但这样一来也限制了它的通用性,层次越高的语言其通用性也越低,因为很难用它进行精细化的控制,也更难以与底层打交道,所以宏往往只能应用于很小的范围,比如用于某款特定的软件(或软件系列)中。例子:
C/C++里面的宏仅仅只有文本替换功能,可以认为它仅仅定义了这么一个操作,属于最简单类型的宏。
按键精灵里面可以用宏编写按键脚本,这些宏脚本看起来很像脚本语言
Windows的批处理脚本与其说是脚本语言,不如说是宏脚本,因为它的行为更像宏
很多软件里面都有宏录制功能,用来录制用户的操作,从而可以重复执行这些操作,实现一定程度的自动化。比如PS、NotePad++等。录制的宏实际上最后会转化为宏脚本,和手动编写是类似的
and more...
宏的作用是什么啊?