В гостях у DevClub побывал Михаил Мухин из компании JetBrains, который рассказал о системе MPS (Meta-Programming System).
MPS – довольно своеобразная среда для разработки. При помощи MPS можно создавать новые языки и расширять уже имеющиеся. Отличительной особенностю данной системы является то, что языковые конструкции описываются синтаксичским деревом, а не грамматикой как в других аналогах (см. xText). Кроме того, для нового языка почти автоматически создаётся редактор, который может быть использован для написания программы на вновь созданном языка. Кроме того, для новых языков автоматически появляется возможность “интеллисенс” и рефакторинга.
Для примера был показан язык “Lazy”, который состоял всего из одной конструкции, позволяющей организовывать отложенные вычисления.
Кстати, в тот же день другой гость Евгений Щепотьев рассказал о том, как MPS применяется в разработке проекта YouTrack. Видео здесь.
Tarmo Pikaro
Идея хорошая, исполнение — нет. Я сам ищу механизмы упрощения программирования, но MPS усложняет задачу. Я хочу взять за основу упрощенный язык, с минимальным количеством слов — а затем решать задачи с оформлением лексикона каждой проблемной области отдельно от остальных. Я смотрю в качестве возможного идеала аналог Toki Pona — искуственно сконструированный язык (Google: Toki Pona, wiki) Если хотите — можно початится на тему, например по скайпу или по майлу….
Антон Архипов
Poki Pona это наверное всё таки немного другое нежли MPS 🙂
Если нужен расширяемый синтаксис, то наверное лучше посмотреть на Forth или Lisp.
аргументы?
Tarmo Pikaro
Лень доказывать — скайп ?
Андрей Дикун
>> Евгений Щепотьев рассказал о том, как MPS применяется в разработке проекта YouTrack. Видео здесь.
Ссылка неверная?
Антон Архипов
да. исправили.