特定于域的语言与函数库

Der*_*unk 16 dsl programming-languages

这可能是主观的,我不知道:我有这个问题,我有点等于"这个项目用什么语言?" 问题,因为我似乎无法解决它.

我一直致力于为一个技术精湛的社区写一本关于某个领域的书(让我们说一个非常具体的物理学分支),但他们不是程序员.这是一本关于这个算法子集的书,他们日复一日地使用它们.

为此,鉴于我的观众,我一直在思索定义DSL的想法,而不是让他们学习语言X,并且从这个角度讨论算法,而不是在给定的语言或伪代码中.

那么问题是:有什么迹象表明你需要的是一个DSL,而不是一个功能库,可以从一个成熟的通用语言调用?

谢谢.

编辑:目前有利于DSL的建议:

  • 防范通用语言的复杂性.
  • 让"程序员"在他/她的域中更有效率.
  • 使语言概念对编程中的新手非常直观.(现在想到这个)

Ara*_*raK 3

  1. 您的受众不是程序员。
  2. 您正在针对特定领域。
  3. 他们需要完成工作。

我会选择 DSL 而不是通用语言。