gpt4 book ai didi

domain-driven-design - Antlr 是 DSL 生成器还是有意编程的替代品?

转载 作者:行者123 更新时间:2023-12-05 00:09:21 24 4
gpt4 key购买 nike

我对 Charles Simonyi 为建立意向编程领域所做的努力的雄心和创造力感到震惊,首先是在微软,然后是他自己的公司。

What exactly is Intentional Programming

http://en.wikipedia.org/wiki/Intentional_programming

In this approach to software, a programmer first builds a toolbox specific to a given problem domain (such as life insurance). Domain experts, aided by the programmer, then describe the program's intended behavior in a What You See Is What You Get (WYSIWYG)-like manner. An automated system uses the program description and the toolbox to generate the final program. Successive changes are only done at the WYSIWYG level.



它似乎是一种非常有用和实用的编程方法,可能会规避当前软件开发方法的许多问题。

从本质上讲,它似乎有助于非程序员(业务/系统分析师)创建特定于领域的语言,但处于比 UML 所能提供的更接近现实生活的阶段。他说它最终会完成,但还没有完成(将近 15 年后)。

DSL 运行的范围很广,从简单的 5 行规则引擎到复杂的应用程序,如 Ruby on Rails。因此,我认为发布他的产品的延迟与他正在处理简化更高级别的抽象这一事实有关,因为他必须基本上允许同时封装所有领域语言。

所以,我的问题是

(a) 是否Antlr可能是有意编程的替代方案 - 尽管可能是一种不太用户友好的替代方案,它需要程序员的干预而不是允许业务分析师生成 DSL? 您能否使用 Antlr 生成像 Ruby on Rails 这样的 DSL(假设它支持 Ruby 作为输出 - 我认为它不支持)?它不能做什么?另外,我不明白为什么它被称为“语言解析器”而不是“语言生成器”——因为后者描述了它的用途,而前者描述了它如何实现其最终结果。



(b) 如果 Antlr 与 Intentional Programming 不同,是否有类似 Intentional Programming 的东西?

最佳答案

在回答 b) 部分时,在类似空间中工作的三个系统是:

  • JetBrains MPS
  • Eclipse xText
  • MetaCase MetaEdit+

  • 这些产品中的每一种都有不同的优点和缺点,但都属于 Language Workbenches 的类别。 . Intentional Software 的 Intentional Workbench 可能是迄今为止该类别中最雄心勃勃的产品,但也并非普遍可用。

    MPS 和 xText 是免费的开源产品。 MetaCase 是最成熟的,是商业产品。他们都有一个陡峭的学习曲线。

    关于domain-driven-design - Antlr 是 DSL 生成器还是有意编程的替代品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/499573/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com