web-dev-qa-db-ja.com

M言語は何のためにありますか?

MicrosoftがMというプログラミング言語を開発したと聞きました。

誰かがMの使用法と、C#プログラマーがMからどのように利益を得ることができるかを説明できますか。

21
Embedd_Khurja

更新2:

2015年7月、MicrosoftはMの大幅に改訂されたバージョン Power Query をリリースしました。それは「公式言語」として記述されており、もはやモデリング自体についてではありません。


更新1:

私がこれを書いてからほぼ4年が経ちましたが、私の推測(「あまり役に立たない」)は多くの人々に共有されていたことがわかりました。 Mは廃止されてから長い間、リリースされませんでした。 MSは代わりに OData に取り組みを切り替えました。


Mの背後にあるポイントを理解するには、いくつかの簡単な歴史を理解する必要があります。

  • 1990年代半ばから2000年代初頭にかけて、ソフトウェアエンジニアリングには、ビジネス関係者にソフトウェアの作成と開発を促すための小さな動きがありました。これは、大規模なビジネスアプリをモデル化するためのソフトウェア開発者の仲介者を排除することにより、大規模なソフトウェアプロジェクトの複雑さを軽減するための取り組みと見なされていました。今ではビジネスマンがソフトウェア開発に直接貢献できるようになったため、多くの管理チームがこのアイデアを気に入っていました。

  • 人々がビジネスアナリストのエンゲージメントを高めるために使用した戦略はたくさんありました。最も人気のあるものの1つは、モデル指向のアーキテクチャでした。このスキームでは、ビジネスマンは、ある種の視覚言語(UMLなど)を使用してモデルを直接指定し、それをコードに生成することができます。これは、自動生成されたデータベースの列とテーブル、および適切なNHibernateタグでタグ付けされた関連するC#クラスを作成するある種のビジュアルデザイナーと同じです。

  • いくつかの概念をモデル化するためだけに新しいプログラミング言語を学ぶのは不便であるため、ほとんどのビジネス関係者は生成されたコードを理解できませんでした。実際、ほとんどの人は、モデル化されたコードのスタックを開発者に渡して、「ここで、これで実行してください」と言いたかっただけです。一般的に、生成されたコードの品質レベルは低かった。

  • 結局、今書いたばかりのソフトウェアを理解できないビジネス関係者がいることが問題であることが明らかになると、運動は消滅しました。ツールも部分的に責任がありました。滑らかなボックスと矢印の図は、PowerPointプレゼンテーションでは見栄えがしますが、ソフトウェアではあいまいな表現になっています。可能な実装間の意図の違いは、ツールでキャプチャするには微妙すぎることがよくありました。

そこでMが登場します。Microsoftは、ツールが改善されて、物事をより直接的にモデル化できるようになったと確信しています。 Mはテキスト言語であるため(以前のビジュアルモデリングツールの滑らかなボックスと矢印の言語ではなく)、彼らは明らかに他の人の過ちから学びました。 MをUMLの別のバージョンと考えてください。ただし、多くの断片が取り除かれ、(イベント、アクターなどのシーケンス、およびUMLを使用できる他のすべてのものではなく)モデリングオブジェクトに多かれ少なかれ専念していますモデル)。

IMO、それを効果的に使用するためのマインドシェアが十分でないため、現時点ではあまり役に立ちません。言語の有用性の一部は、それが動作するツールであり、現在、それらはほとんどありません(実際、現在、Mで役立つ単一のサードパーティツールを考えることはできません)。

補足:誰かがマイクロソフトの人々にいくつかのSEOマーケティング101クラスを与える必要があります。 「mdsl」の上位10件の結果のうちゼロはDSLについての話にさえ近いものです。1つの結果はデトロイトのソフトボールリーグに関するものです。 1つは携帯電話のデジタル加入者線に関するものです。など。アルファベットの文字にちなんで新しいツールに名前を付けないでください。

31
John Feminella

MicrosoftのM言語からの引用 仕様

マイクロソフトのコードネーム「M」モデリング言語(以下、Mと呼びます)は、テキストを使用してドメインをモデリングするための言語です。ドメインは、関連する概念またはオブジェクトのコレクションです。モデリングドメインは、モデルに含める特定の特性を選択し、無関係と見なされる他の特性を暗黙的に除外することで構成されます。テキストを使用したモデリングには、図や粘土などの他のメディアを使用したモデリングに比べて、いくつかの長所と短所があります。 M言語の目標は、これらの利点を活用し、欠点を軽減することです。

6
n535

Mはマッシュアップクエリの略で、PowerQueryとPowerBIDesktopで使用されます。これは、Power Query FormulaLanguageに名前が変更されました。 非公式には「M」として知られています です。

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