-2

我没有编程经验,但有兴趣学习一门语言。

因此,阅读本节“ http://wiki.freaks-unidos.net/weblogs/azul/principles-of-software#extend-your-language-to-match-your-domain ”让我对编写单个应用程序感到好奇2 种或更多语言。

它实际上是如何完成的?

4

2 回答 2

3

一些想法:

  • 您链接到的页面非常清楚地解释了它是如何完成的
  • 如果您有兴趣学习一门语言,这可能不是开始的地方
  • 用两种或多种语言编写单个应用程序与链接文档的关系不大。

尽管如此,面对这一切,我将尝试通过类比举例说明其工作原理。

假设您需要与一群人一起完成一些技术任务——按难度对国际象棋谜题进行排名或测试棉花糖是否受到污染等。进一步假设您团队中的一个人只会说日语,另一个只会说葡萄牙语,第三个只会说世界语。

拥有流利地说所有这些语言的能力,你最好的选择是编造一种专门用于手头任务的人工语言;这称为领域特定语言或 DSL。它应该包含您需要谈论的所有术语,包括骑士和白嘴鸦或硅酸盐纳米粒子或任何用于该任务的术语,仅此而已。把这个教给你的每个团队成员,然后你可以同时给他们所有的指示。他们可以互相谈论他们正在做的事情,寻求帮助(只要它与您的语言所涵盖的内容相关),就好像他们都说同一种语言一样。

这大致就是他所说的。

于 2009-03-31T04:57:21.653 回答
2

我想你可能会在走路之前尝试跑步。那里的概念可能需要一点编程经验才能开始。

这篇文章的主旨(坦率地说,表达得很糟糕)是,当你编程时,你经常会遇到受益于声明性语法的任务,即你应该能够表达你想做的事情的意图,并将实现细节留给一个图书馆。一个很好的例子是查询数据库,它更具可读性(通常)能够以声明方式描述您想要做的事情并让一些中间件找出最好的方法,SQL 和 Linq 是声明性机制的 2 个示例查询数据。

这是一个非常有趣的话题,但老实说,如果您没有编程经验,那么它可能更像是 201 主题而不是 101 主题,请先了解您的基础知识。

于 2009-03-31T05:01:42.457 回答