什么是方言——自然语言中的方言和编程方言

首先,什么是自然语言,也就是我们平时使用的方言呢?

一般来说,平时使用的方言的特点是用的地方少,但是一些比如地方特有或者地方特别优秀的东西表达比普通话简洁易懂得多。

编程中,我们也会碰到这种使用场景。我们一般把编程中的方言称为DSL(Domain-specific language),这些方言通常用在特定的场景中。

在自然语言中,有用处极大的方言,比如粤语;

也有衍生到很难看到父节点影子的,比如日语。

程序世界中,Rails其实是Ruby的一个Web领域的方言,在Web开发方面言简意赅;

MoonScrpitLua的方言,但是就语言本身来说,看不到Lua的影子了。

方言的流行化是元编程的产物,但也不是只有元编程可以用来构造方言。在C++中,QT和Boost都支持foreach这类的宏,也是一种方言。只是较之能够支持元编程的编程语言,这种方言过于简单,实现起来却更加复杂,元编程赋予了方言生机。