首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将内部DSL转换为外部DSL是反模式的吗?

将内部DSL转换为外部DSL是反模式的吗?
EN

Stack Overflow用户
提问于 2008-10-11 20:25:19
回答 2查看 752关注 0票数 1

在我们的遗留系统中,我们编写了自己的VM来在运行时执行内部DSL。内部虚拟机仅用于运行我们的内部DSL。我们正在重写我们的遗留应用程序。我们正在考虑的一个想法是,将内部数字用户线转换为外部数字用户线(C#或Java),并利用它们的虚拟机。

没有明确的指导方针,什么时候为我们的内部DSL编写我们自己的VM,而不是转换到外部DSL并运行它。

EN

回答 2

Stack Overflow用户

发布于 2008-10-11 20:38:00

内部DSL/VM与外部DSL/VM的决策与所有构建与购买与下载的决策相同。所有软件的指导方针都是明确的,都是一样的。

既然别人会为你支持Java或Python,为什么还要支持你自己的VM呢?

这里有一些明确的指导原则。请注意,这些准则对所有软件都是相同的。

  1. 让您继续维护自己的软件是否更便宜。在这种情况下,DSL和VM?
  2. 是你自己的DSL和VM比Java还是Python?通过“更好”,您必须填写质量因素的任意组合:更快、更小、更可靠、更好的功能、更少的资源使用、更可审计、更安全等。

不要混淆DSL和VM。这没什么特别的,只是更多的软件而已。

票数 3
EN

Stack Overflow用户

发布于 2010-01-13 02:31:52

它绝对不是反模式。与内部DSL相比,外部DSL具有许多优势。在您的案例中,独立于宿主语言或实现平台就是其中之一。其他好处是更好的语法灵活性,可以使用模型驱动的方法,如模型转换,模型查看等。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/194576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档