这可能是主观的,我不知道:我有这个问题,我有点等同于“这个项目的语言是什么?”既然我似乎解决不了这个问题。
我被委托为一个非常精通技术的社区写一本关于某个领域的书(比方说一个非常具体的物理分支),但他们不是程序员。这是一本关于算法子集的书,他们每天都在使用。
为此,鉴于我的听众,我一直在玩弄定义DSL的想法,而不是让他们学习X语言,并从这个角度来讨论算法,而不是用给定的语言或伪代码。
那么,问题是:有什么迹象表明,您需要的是DSL,而不是从一种成熟的通用语言中调用的函数库?
谢谢。
编辑:到目前为止有利于DSL的建议:
在他/她的领域,通用语言complexity.
发布于 2009-09-28 01:29:09
你的观众是non-programmers.
我会选择DSL而不是通用语言。
发布于 2009-09-28 01:32:14
您可以选择一个DSL来匹配您正在处理的域。程序员可以习惯于通用语言,并在许多情况下应用它。您的非程序员可能受益于与他们直接相关的语言。如果关键字和概念与他们的专业知识相匹配,他们也会更容易理解。
就像大多数事情一样,这是一种交换。DSL对你的听众来说应该更容易,但它很可能是更多的工作对你。
发布于 2009-09-28 01:27:19
您可以使用DSL将一组相关操作与调用语言分离。
如果您想保护您的用户不受通用语言复杂性的影响(或者限制他们对该语言的访问,因为他们可能滥用该语言),请设计一个DSL。
但是,如果希望以与调用语言集成的方式使用这些操作,则使用函数库(或其他操作符)。
https://stackoverflow.com/questions/1485006
复制相似问题