Я слышал, что Microsoft разработала язык программирования M
.
Может кто-нибудь объяснить использование M
и как программист С# может получить выгоду от M
.
Я слышал, что Microsoft разработала язык программирования M
.
Может кто-нибудь объяснить использование M
и как программист С# может получить выгоду от M
.
ОБНОВЛЕНИЕ 2:
В июле 2015 года Microsoft выпустила сильно измененную версию M, называемую Power Query. Он описывается как "язык формул" и больше не относится к моделированию.
ОБНОВЛЕНИЕ 1:
Прошло почти четыре года с тех пор, как я написал это, и мое предположение (что "это не очень полезно" ), оказалось, было разделено многими людьми. M уже давно не существует и никогда не выпускался. MS переключила усилия на OData вместо этого.
Чтобы понять точку, стоящую за М, вам нужно понять краткую историю:
В середине 1990-х и начале 2000-х годов в разработке программного обеспечения было что-то вроде мини-движения, чтобы побуждать деловых людей писать и разрабатывать программное обеспечение. Это было замечено как попытка уменьшить сложность крупных программных проектов, вырезав посредника разработчиков программного обеспечения для моделирования крупных бизнес-приложений. Многие управленческие команды любили эту идею, так как теперь деловые люди могут напрямую участвовать в разработке программного обеспечения.
Было много стратегий, которые люди пытались увеличить вовлеченность бизнес-аналитиков. Одной из наиболее популярных была модель-ориентированная архитектура. В соответствии с этой схемой бизнес-люди могли напрямую определять модели с использованием какого-то визуального языка (например, UML), который затем генерируется в код. Это было бы не похоже на какой-то визуальный дизайнер, который создал столбцы и таблицы с автогенерируемой базой данных, а также связанные с ними классы С#, помеченные правильными тегами NHibernate.
Поскольку неудобно изучать новый язык программирования только для моделирования нескольких концепций, большинство деловых людей не могут понять свой сгенерированный код. Действительно, большинство людей просто хотели передать стек моделируемого кода разработчикам и сказать "здесь, бегите с этим". В общем, уровень качества сгенерированного кода был низким.
В конечном счете, движение вымерло, как только стало очевидно, что наличие деловых людей, которые не могли понять программное обеспечение, которое они только что написали, было проблематичным. Частично виноваты инструменты: графические диаграммы с прямоугольными и квадратными стрелками отлично смотрятся в презентациях PowerPoint, но имеют неоднозначные представления в программном обеспечении. Различия в намерениях между возможными реализациями часто слишком тонки для захвата в инструменте.
Вот где M. Microsoft делает ставку на то, что инструменты улучшились до такой степени, что теперь можно более точно моделировать вещи. Они, очевидно, узнали из-за ошибок других, так как M - текстовый язык (а не язык с пятнами и стрелками ранее инструментов визуального моделирования). Подумайте о M как о другой версии UML, но с большим количеством отброшенных кругов и сосредоточенных более или менее исключительно на объектах моделирования (а не на последовательности событий, актеров и т.д.), А также на других вещах UML можно использовать для модель).
ИМО, это не очень полезно сейчас, потому что недостаточно ума, чтобы сделать работу с ней эффективной. Часть полезности языка - это инструменты, с которыми он работает, и сейчас их очень мало (на самом деле, сейчас я не могу представить ни одного стороннего инструмента, который поможет вам с M).
Боковая панель: кто-то должен дать пользователям Microsoft несколько классов SEO Marketing 101. Ноль десяти лучших результатов для "m dsl" даже близок к разговору о DSL: один результат для лиги софтбола в Детройте; речь идет о цифровых абонентских линиях для мобильных телефонов; и т.д. Не называйте свой новый инструмент после буквы алфавита!
Цитата из языка Microsoft M спецификация:
Язык кода Microsoft "M", именуемый в дальнейшем M, является языком для моделирования доменов с использованием текста. Домен представляет собой любой набор связанных понятий или объектов. Модельный домен состоит из выбора определенных характеристик для включения в модель и неявного исключения других, которые считаются несущественными. Моделирование с использованием текста имеет некоторые преимущества и недостатки в отношении моделирования с использованием других сред, таких как диаграммы или глины. Цель M-языка - использовать эти преимущества и смягчить недостатки.
M означает запросы mashup и используется в PowerQuery и PowerBI Desktop. Он был переименован в Power Formula Query Formula Language. Это неофициально известный как "M" .