![]() |
1
2
这真的取决于一个人为什么要读它。 当机器生成时,许多可能可读的格式(例如HTML)可能非常难以读取。 不管怎样,真正的程序员在早餐时会阅读核心转储文件——) 至于语言问题,这将取决于定义(而“DSL”的定义并不明确)。我会说需要执行元素(多少有点含糊),如果它只是数据的二进制序列化,那么我不会称之为语言(例如许多光栅格式)。 进一步考虑到这一点,这里似乎存在两个潜在的相互关联的问题:
虽然第一个问题在别处被讨论,但它不能与后者完全分离。毕竟,有以二进制格式(如Word宏)保存的DSL,以及可以编译的DSL(如.NET SDK包含将XSLT转换为程序集的工具)。 这让我想到真正的问题是:是什么让一种格式成为DSL。这里的问题是,“DSLness”在旁观者的眼中非常重要,并且依赖于上下文。 HTML是DSL吗?带有事件处理程序属性和JavaScript的HTML是DSL吗?第一种是有争议的,而后一种是很难拒绝的,因为程序代码是绝对使用的。 我对这个问题的最初反应是认为DSL需要某种形式的定向执行。即,在处理DSL时,应用程序修改其操作。进一步考虑,这是一个过于宽泛的定义。考虑一个没有宏的字处理应用程序。加载的文档明显地控制应用程序的状态并驱动其性能。 这将导致基于人工创作的第二个潜在定义,以直接在语言中指定指令来指导(或类)应用程序。然而,这是相当模糊的。但至少可以避免wp文档是DSL。 因此,我现在的回答是:这重要吗?DSL或格式是让计算机做事情的工具,学术定义并不能真正推动这种活动。 |
![]() |
2
1
每种格式都可以看作是一种语言。因为它需要规则来理解消息。计算机可读语言需要完全指定,不能有任何错误解释。 所以你可以说它们不需要进化,因为它们已经是语言了。 我使用了以下定义:
如果您将语言的定义限制为只包含包含循环和分支的编程语言。故事变了。简单的ini文件不需要这些构造。但是宏语言是这样的。所以你可以说,只有描述行为(序列、基于数据的决策)的语言才有可能演变成一种语言。 |
![]() |
Sudhanva c · 如何提高编码技能?[已关闭] 7 年前 |
![]() |
hoffm · 为什么Ruby找不到调用方类中定义的常量? 7 年前 |
![]() |
Thamme Gowda · “lambda”关键字的较短替代项? 7 年前 |
![]() |
AlphaModder · 有没有带有“不寻常”访问修饰符的编程语言? 9 年前 |
|
lucasasecas · 有可能静态地使用动态语言吗? 10 年前 |
|
Eugenio Laghi · 仅由括号、加号和感叹号组成的语言 10 年前 |
![]() |
dallin · 数组中的逗号运算符是否有名称? 11 年前 |