26

我听说微软开发了一种编程语言,叫做M.

有人可以解释MC# 程序员如何从M.

4

3 回答 3

35

更新 2:

2015 年 7 月,微软发布了名为Power Query的 M 的重大修订版本。它被描述为“公式语言”,不再是关于建模本身。


更新 1:

我写这篇文章已经快四年了,我的猜测(“它不是很有用”)结果被很多人分享。M早已不复存在,从未被释放。MS 转而使用OData


要了解 M 背后的观点,您必须了解一些简短的历史:

  • 在 1990 年代中期和 2000 年代初期,软件工程领域发生了一些小型运动,以鼓励业务人员编写和开发软件。这被视为通过削减软件开发人员为大型业务应用程序建模的中间人来降低大型软件项目的复杂性的努力。许多管理团队喜欢这个想法,因为现在业务人员可以直接为软件开发做出贡献。

  • 人们曾经尝试过很多策略来提高业务分析师的参与度。比较流行的一种是面向模型的架构。在这种方案下,业务人员可以直接使用某种可视化语言(例如 UML)指定模型,然后将其生成为代码。这与使用某种可视化设计器创建自动生成的数据库列和表以及使用正确的 NHibernate 标记标记的关联 C# 类没有什么不同。

  • 因为仅仅为了建模一些概念而学习一种新的编程语言是不方便的,大多数业务人员无法理解他们生成的代码。事实上,大多数人只是想把一堆建模代码交给开发人员,然后说“在这里,用这个运行”。一般来说,生成代码的质量水平较低。

  • 最终,一旦业务人员无法理解他们刚刚编写的软件是有问题的,这一运动就消失了。这些工具也是部分原因:光滑的方框和箭头图在 PowerPoint 演示文稿中看起来很棒,但在软件中却有模棱两可的表示。可能的实现之间的意图差异通常太微妙而无法在工具中捕获。

这就是 M 的用武之地。微软认为工具已经改进到现在可以更直接地建模事物的地步。他们显然从其他人的错误中吸取了教训,因为 M 是一种文本语言(而不是早期可视化建模工具的圆滑的方框和箭头语言)。将 M 视为 UML 的另一个版本,但去掉了很多繁琐的东西,或多或少地专注于建模对象(而不是事件序列、参与者等,以及 UML 可用于的所有其他事情)模型)。

IMO,它现在不是很有用,因为没有足够的思想共享来使其有效。语言的部分实用性是它所使用的工具,而现在这些工具很少(实际上,现在我想不出一个可以帮助您使用 M 的第三方工具)。

边栏:有人需要给微软的人一些 SEO 营销 101 课程。“m dsl”的前十个结果中,零个甚至接近于谈论 DSL:一个结果是底特律垒球联赛;一是关于手机数字用户线;等等。不要用字母来命名您的新工具!

于 2010-05-23T12:21:14.847 回答
6

引用微软 M 语言规范

微软代号“M”Modeling Language,以下简称M,是一种使用文本对领域进行建模的语言。域是相关概念或对象的任何集合。建模领域包括选择某些特征以包含在模型中,并隐含地排除其他被认为不相关的特征。使用文本建模与使用其他媒体(如图表或粘土)建模相比具有一些优点和缺点。M 语言的一个目标是利用这些优点并减轻缺点。

于 2010-05-23T12:06:57.013 回答
6

M 代表混搭查询,用于 PowerQuery 和 PowerBI Desktop。它已重命名为 Power Query 公式语言。它被非正式地称为“M”

https://msdn.microsoft.com/en-us/library/mt270235.aspx

于 2015-10-28T21:21:26.047 回答