最旧/第一域特定语言

时间:2015-11-10 01:11:30

标签: dsl

我在学校有一份作业,但我一直有找到任何信息的问题。我们目前正在使用java编程和使用内部和外部DSL。我们正在尝试为外部DSL创建自己的解析器,例如:

entity [ Room "bedroom"
         item "lamp",
         item "bed",
         item "sheets"
]

BUT。我的任务是找到 OLDEST FIRST 特定于域的语言,因此我们可以尝试分析它并重建它。它不必与编程相关。但它可能是人类甚至史前的语言。我只需要找到一些证据,它是DOMAIN-SPECIFIC,它是为了特定的东西而创建的,因此它更容易理解。我用谷歌搜索了几个小时但没有。我不知道是否有人像语言专业人士或学习语言一样。

2 个答案:

答案 0 :(得分:6)

只要有人,就会存在特定于域的语言。第一批候选人会被说出来 - 就像在星巴克或者地铁站订购的DSL一样 - 但是我们记录的第一批候选人将是书面的。我不会要求DSL有一个单独的机械或计算解释器。这是一个相对较新的东西,不必要地限制了搜索,并且不属于DSL的标准定义。 DSL不需要生成任何东西;它可以简单地用于记录和传达某些东西。我也不会要求DSL被广泛使用:如今许多计算DSL仅适用于少数人,并且仅限于单个公司或项目。我想我会排除最简单或直接的表示,如理货棒:如果有人能理解它,即使脱离背景,它也可能不会形成自己的语言。

  • Knitting patterns是一个清晰的DSL,第一本包含它们的书可以追溯到至少公元1524年(之前印刷的书不多!)。

  • 更老的是musical notation,其最早发现可以追溯到公元前2000年。

  • Astronomical records是真正古老的,最早的是用跟踪月相的方式标记的骨棍,可能早在公元前35000年。公元前32,000年左右存在一个相当清晰的example of a moon phase DSLAurignacian Lunar Calendar / diagram, drawing after Marshack, A. 1970; Notation dans les Gravures du Paléolithique Supérieur, Bordeaux, Delmas / Don’s Maps

答案 1 :(得分:4)

我会建议Jacquard loom,或者至少 它处理的洞的图案。

织机是包含编织图案的卡片的特殊用途(机械)翻译。因此,通过在卡片上打孔(孔图案是DSL),可以在卡片上“编写”编织,并且织机解释卡片以“编译”编织文档。

来自维基百科:

“每张卡上都有多排孔,一张完整的卡片对应于设计的一行”

它具有DSL的所有属性:

  • 问题域中的专家使用和共享(实际上,广泛地)的特殊符号
  • 一种符号,使得比其他可用符号更容易表达问题/解决方案
  • 与阅读者无关的精确解释/含义
  • 自动翻译

我没有任何证据,但我认为有一些关于配置和操作的指示;如果不出意外,织机上的patent。这将是参考手册和用户指南: - }

这甚至优于巴贝奇的机械发动机。

甚至比Napiers Bones更老,用于执行乘法的一组标记杆。