Question

J'ai entendu Microsoft a développé un langage de programmation appelé M.

Quelqu'un peut-il expliquer l'utilisation de M et comment un programmeur C # peut benifit de M.

Était-ce utile?

La solution

UPDATE 2:

En Juillet 2015, Microsoft a publié une version fortement révisée de M appelé pouvoir requête . Il est décrit comme un « langage de formule », et n'est plus sur la modélisation en soi.


UPDATE 1:

Il a été près de quatre ans que j'ai écrit cela, et je pense (que « ce n'est pas très utile ») se révèle avoir été partagée par beaucoup de gens. M est depuis longtemps disparu et n'a jamais été libéré. MS mis les efforts pour OData à la place.


Pour comprendre le point derrière M, vous devez comprendre une brève histoire:

  • Au milieu des années 1990 et au début des années 2000, il y avait quelque chose d'un mini-mouvement en génie logiciel pour encourager les gens d'affaires à écrire et développer des logiciels. Cela a été considéré comme un effort pour réduire la complexité des grands projets logiciels en coupant l'intermédiaire des développeurs de logiciels pour la modélisation de grandes applications d'entreprise. De nombreuses équipes de gestion ont aimé l'idée, car maintenant, les gens d'affaires pourraient contribuer directement au développement du logiciel.

  • Il y avait beaucoup de stratégies que les gens utilisés pour essayer d'augmenter l'engagement des entreprises analyste. L'un des plus populaires est architecture orientée modèle . Dans le cadre de ce régime, les gens d'affaires peuvent spécifier des modèles en utilisant directement une sorte de langage visuel (par exemple UML), qui serait alors généré dans le code. Ce serait un peu comme avoir une sorte de concepteur visuel qui a créé des colonnes et des tables de base de données générées automatiquement ainsi que des cours associés C # tagués avec les bonnes balises NHibernate.

  • Parce qu'il est peu pratique d'apprendre un nouveau langage de programmation simplement pour la modélisation quelques concepts, la plupart des gens d'affaires ne pouvait pas comprendre leur code généré. En effet, la plupart des gens voulaient juste remettre une pile code modèle pour les développeurs et dire « ici, courir avec cela. » En général, le niveau de qualité du code généré est faible.

  • En fin de compte, le mouvement est mort une fois qu'il est devenu évident que les gens ayant d'affaires qui ne pouvaient pas comprendre le logiciel qu'ils avaient tout simplement écrit était problématique. Les outils sont en partie à blâmer, aussi: diagrammes de boîtes-et-flèches slicks fière allure dans des présentations PowerPoint, mais qui ont des représentations ambiguës dans le logiciel. Les différences dans l'intention entre les implémentations possibles étaient souvent trop subtiles pour la capture dans un outil.

est où M entre en jeu. Microsoft est le pari que les outils se sont améliorés au point où il est maintenant possible de choses modèle plus directement. Ils ont évidemment appris des erreurs des autres, puisque M est un langue textuelle (plutôt que la langue slicks boîtes-et-flèches d'outils de modélisation visuelle plus tôt). Pensez à M comme une autre version de UML, mais avec beaucoup de cochonneries dépouillé, et concentré plus ou moins exclusivement sur la modélisation des objets (plutôt que des séquences d'événements, acteurs, etc., et toutes les autres choses UML peuvent être utilisés pour modèle).

OMI, ce n'est pas très utile en ce moment parce qu'il n'y a pas assez d'un Mindshare pour rendre le travail efficace. Une partie de l'utilité d'une langue est les outils avec lesquels il travaille, et maintenant il y a très peu de personnes (en fait, en ce moment je ne peux pas penser à un seul outil tiers qui vous aide à M).

Barre latérale: quelqu'un doit donner aux gens un peu de marketing Microsoft SEO 101 classes. Zéro des premiers résultats de dix pour « m dsl » sont encore près de parler de DSLs: un résultat est pour le softball ligue à Detroit; on est sur le téléphone mobile des lignes d'abonnés numériques; etc. Ne pas le nom de votre nouvel outil après une lettre de l'alphabet!

Autres conseils

Une citation de la langue M Microsoft spécification :

  

Le nom de code Microsoft "M" Modeling Language, ci-après dénommé M, est un langage pour les domaines de modélisation en utilisant du texte. Un domaine est tout ensemble de concepts associés ou des objets. domaine La modélisation consiste à sélectionner certaines caractéristiques à inclure dans le modèle et excluant implicitement d'autres inintéressants. La modélisation en utilisant du texte présente des avantages et des inconvénients sur la modélisation à l'aide d'autres supports tels que les diagrammes ou de l'argile. Un but de la langue M est d'exploiter ces avantages et d'atténuer les inconvénients.

M signifie requêtes mashup, et est utilisé dans PowerQuery et PowerBI Desktop. Il a été rebaptisé Power Interrogation Formule Langue. Il est officieusement connu sous le nom « M » .

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top