Programming languages 格式与语言

Programming languages 格式与语言,programming-languages,binary,Programming Languages,Binary,在这样的宇宙中,暴风雨已经肆虐了一段时间了。关于人类是否应该喜欢他们能读的东西,而不是他们不能读的东西。这让我在长时间的休息后脱掉了我的思想帽子,向开明的人提出了一个问题: 格式何时演变为特定于领域的语言?或者,我如何决定我是想要一种人类可读的格式还是一种特定于领域的语言。后记是引发这一事件的原因 PS:请原谅开场白;mod down/close(如果已询问此问题)。 PPS:当我说语言时,我指的是一种带有条件、循环等的编程语言 格式何时演变为特定于领域的语言?或者,我如何决定是要>HRF还是D

在这样的宇宙中,暴风雨已经肆虐了一段时间了。关于人类是否应该喜欢他们能读的东西,而不是他们不能读的东西。这让我在长时间的休息后脱掉了我的思想帽子,向开明的人提出了一个问题:

格式何时演变为特定于领域的语言?或者,我如何决定我是想要一种人类可读的格式还是一种特定于领域的语言。后记是引发这一事件的原因

PS:请原谅开场白;mod down/close(如果已询问此问题)。 PPS:当我说语言时,我指的是一种带有条件、循环等的编程语言

格式何时演变为特定于领域的语言?或者,我如何决定是要>HRF还是DSL。后记是引发这一事件的原因

每种格式都可以看作一种语言。因为它需要规则来理解信息。计算机可读语言需要完全指定,没有空间或误解

所以你可以说它们不需要进化,因为它们已经是语言了

我使用了以下定义:

  • HRF(人类可读格式),几乎任何书面格式
  • DSL(领域特定语言),用于单一目的的语言

如果将语言的定义限制为仅包括包含循环和分支的编程语言。故事变了。简单的INI文件不需要这些构造。但宏语言确实如此。所以你可以说,只有描述行为的语言(序列、基于数据的决定)才有可能演变成一种语言。

真正取决于人类为什么想要阅读它

许多潜在的可读格式(如HTML)在机器生成时可能非常难以读取

不管怎样,真正的程序员早餐会读内核转储:-)

至于语言问题,这将取决于定义(而“DSL”并没有明确定义)。我想说的是,需要执行元素(无论多么模糊),如果它只是数据的二进制序列化,那么我不会将其称为语言(例如,许多光栅格式)


进一步考虑这一点,这里似乎有两个相互关联的基本问题:

  • 文本(可能是人类可读的)或二进制(对于人类读者来说非常困难)更好(其中包含整个方面)
  • 格式何时成为DSL
虽然第一个问题在别处有所涉及,但它不能与后一个问题完全分开。毕竟,有以二进制格式保存的DSL(例如Word宏)和可以编译的DSL(例如.NET SDK包括一个将XSLT转换为程序集的工具)

这让我想到了真正的问题:是什么让一种格式成为DSL。这里的问题是“DSL的真实性”在很大程度上取决于旁观者的眼睛和上下文

HTML是DSL吗?带有事件处理程序属性和JavaScript的HTML是DSL吗?第一个是有争议的,而后者很难说不,因为程序代码是明确使用的

我对这个问题的最初反应是考虑DSL需要某种形式的直接执行。即,在处理DSL时,应用程序修改其操作。进一步思考,这是一个过于宽泛的定义。考虑一个没有宏的文字处理应用程序。加载的文档显然控制着应用程序的状态并驱动其性能

这导致了第二种基于人工创作的潜在定义,即直接用语言指定指令来指导(或类)应用程序。然而,这是相当模糊的。但至少避免了WP文档成为DSL


因此,我目前的答案是:这有关系吗?DSL或格式是让计算机做事情的工具,学术定义并不能真正推动这项活动。

HRF?大部分似乎代表“人权基金会”,它似乎与上下文不符?猜测:人类可读格式;-)当然,现在很明显:-)为什么要放弃主观标签?对于什么是DSL或人类可读格式,没有明确的定义。是吗?对不起,这是无意的。好的,我怕有人会这么说。但增加了澄清;)我说“一种编程语言”,是因为有一个框架可以让你在不改变基本元素的情况下继续工作。不,我不是说像C++这样的主流编程语言HRF是有限的,需要不断的监控吗?“所以你可以说只有描述行为的语言(序列,基于数据的断言)才有可能演变成一种语言。”——我很困惑。对因为除此之外,循环没有太多用处。“描述行为的语言”已经是语言了。因此我感到困惑。循环等都是例子和参考点。你觉得你有很多好的想法吗?想解释一下吗?扩展了。。。但可能没有帮助:-)不,实际上这是有道理的,至少对我来说是这样。我们正在为实施什么进行激烈的斗争。DSL或只是一个HRF文件。有时,这些定义可能会反过来咬你(在项目被抛弃很久之后;)很好!几天后重读这篇文章,我认为人们很容易被定义一些不需要详细定义的东西所束缚。更重要的是,它是满足您的需求的有用且有效的方法。