多类似的环境中，它们是源自宏展开的概念，这包括键盘宏和宏语言。绝大多数情况下，“宏”这个词的使用暗示着将小命令或动作转化为一系列指令。宏的用途在于自动化频繁使用的序列或者是获得一种更强大的抽象能力。计算机语言如C语言或汇编语言有简单的宏系统，由编译器或汇编器的预处理器实现。C语言的宏预处理器的工作只是进行简单的文本搜索和替换，使用附加的文本处理语言如M4，C程序员可以获得更精巧的宏。Lisp类语言如Common Lisp和Scheme有更精巧的宏系统：宏的行为如同是函数对自身程序文本的变形，