Я слышал, что Microsoft разработала язык программирования под названием M
.Для чего нужен язык M?
Может кто-нибудь объяснить использование M
и как программист на C# может получить выгоду от M
.
Я слышал, что Microsoft разработала язык программирования под названием M
.Для чего нужен язык M?
Может кто-нибудь объяснить использование M
и как программист на C# может получить выгоду от M
.
UPDATE 2:
В июле 2015 года Microsoft выпустила сильно пересмотренный вариант М называется Power Query. Он описывается как «язык формул» и больше не относится к моделированию.
UPDATE 1:
Это было почти четыре года, так как я написал это, и мое предположение (что «это не очень полезно»), оказывается, поделились большим количеством людей. M уже давно не существует и никогда не выпускался. Вместо этого MS переключилась на OData.
Чтобы понять точку позади M, вы должны понять, краткую историю:
В середине 1990-х и начале 2000-х, там было что-то мини-движения в программной инженерии поощрять деловых людей писать и разрабатывать программное обеспечение. Это было замечено как попытка уменьшить сложность крупных программных проектов, вырезав посредника разработчиков программного обеспечения для моделирования крупных бизнес-приложений. Многие управленческие команды любили эту идею, так как теперь деловые люди могут напрямую участвовать в разработке программного обеспечения.
Было много стратегий, которые люди пытались увеличить вовлеченность бизнес-аналитиков. Одним из наиболее популярных было модель-ориентированная архитектура. В соответствии с этой схемой бизнес-люди могли напрямую определять модели с использованием какого-то визуального языка (например, UML), который затем генерируется в код. Это было бы не похоже на какой-то визуальный дизайнер, который создал столбцы и таблицы с автогенерируемой базой данных, а также связанные классы C#, помеченные соответствующими тегами NHibernate.
Поскольку неудобно изучать новый язык программирования только для моделирования нескольких концепций, большинство деловых людей не могут понять свой сгенерированный код. Действительно, большинство людей просто хотели передать стек моделируемого кода разработчикам и сказать «здесь, бегите с этим». В общем, уровень качества сгенерированного кода был низким.
В конечном счете, движение вымерло, когда стало очевидно, что наличие деловых людей, которые не могут понять программное обеспечение, которое они только что написали, было проблематичным.Частично виноваты инструменты: графические диаграммы с прямоугольными и квадратными стрелками отлично смотрятся в презентациях PowerPoint, но имеют неоднозначные представления в программном обеспечении. Различия в намерениях между возможными реализациями часто слишком тонки для захвата в инструменте.
Это место, где М находится. Microsoft делает ставку на то, что инструменты улучшились до такой степени, что теперь можно более точно моделировать вещи. Они, очевидно, узнали из-за ошибок других людей, поскольку M - текстовый язык (а не язык слайдов и стрелок ранних инструментов визуального моделирования). Подумайте о M как о другой версии UML, но с большим количеством отброшенных кругов и сосредоточенной более или менее исключительно на объектах моделирования (а не на последовательности событий, актеров и т. Д.), А также на других вещах UML можно использовать для модель).
IMO, это не очень полезно сейчас, потому что недостаточно ума, чтобы сделать работу с ней эффективной. Часть полезности языка - это инструменты, с которыми он работает, и сейчас их очень мало (на самом деле, сейчас я не могу представить ни одного стороннего инструмента, который поможет вам с M).
Боковая панель: кто-то должен дать людям Microsoft некоторый SEO-маркетинг 101 класс. Ноль десяти лучших результатов для «m dsl» даже близок к разговору о DSL: один результат для лиги софтбола в Детройте; речь идет о цифровых абонентских линиях для мобильных телефонов; и т. д. Не называйте свой новый инструмент после буквы алфавита!
Чтобы выполнить поиск 'm dsl' ... попробуйте выполнить поиск' c dsl'. «M» - это спецификация языка, у него просто много шума, как «B», «C» и «D» ... которые являются всеми языками программирования. –
Прошло почти шесть лет с тех пор, как вы написали это, и M либо полностью отличается от того, что вы описали, либо сейчас чрезвычайно полезно. Спасибо за справочную информацию. –
Разрушенные остатки M были переделаны в Power Query с некоторой дополнительной добротой и новыми идеями. Power Query - это не язык моделирования, который первоначально был M, а скорее инструмент для опроса данных. Подробнее здесь: https://msdn.microsoft.com/en-us/library/mt270235.aspx –
Цитата из М языка от Microsoft specification:
Имя Microsoft код "M" Modeling Language, далее М, является языком для моделирования областей с использованием текста. Домен представляет собой любой набор связанных понятий или объектов. Модельный домен состоит из выбора определенных характеристик для включения в модель и неявного исключения других, которые считаются несущественными. Моделирование с использованием текста имеет некоторые преимущества и недостатки в отношении моделирования с использованием других сред, таких как диаграммы или глины. Цель M-языка - использовать эти преимущества и смягчить недостатки.
Разве они просто говорили о моделировании в глине? Я вижу, что это проблематично как модель бизнес-решений, так как процесс всегда заканчивается увольнением. –
M означает запросы mashup и используется в PowerQuery и PowerBI Desktop. Он был переименован в Power Formula Query Formula Language. Это informally known as "M".
Ug, что страница была удалена. – Michael