Pull to refresh
  • by relevance
  • by date
  • by rating

Как система JetBrains MPS позволяет достичь более широкого использование DSL-ей (языков специфичных для предметной области)

Website development *
DSL-и (domain specific languages или языки для специфичных областей) известны программистам давно. Несмотря на это, они редко используются в реальных системах. В этой статье будет рассмотрено, что такое DSL-и, и почему они не получили широкого распространения. Также будет описано, как система JetBrains MPS решает проблемы, препятствующие их широкому использованию.
Читать дальше →
Total votes 21: ↑19 and ↓2 +17
Views 8.6K
Comments 69

Языко-ориентированное программирование в действии. Примеры реального кода на JetBrains MPS

Website development *
Вчера на хабре я опубликовал свою статью про языко-ориентированное программирование, в которой описал, какие проблемы существуют в этой области, и как их решает систем JetBrains MPS. Сегодня я хочу показать реальные примеры того, как выглядит код в MPS, с небольшими комментариями. Мы посмотрим на язык для работы с базами данных, на язык для создания веб интерфейса, на наш javascript. Фрагменты кода взяты из приложения баг-трекера с кодовым именем Charisma, написанного на MPS.

Читать дальше →
Total votes 31: ↑26 and ↓5 +21
Views 3.6K
Comments 27

Видео: Введение в MPS

Website development *
В гостях у DevClub побывал Михаил Мухин из компании JetBrains, который рассказал о системе MPS (Meta-Programming System).

На хабре уже была парочка статей про MPS, а теперь это можно увидеть более наглядно на видео с живой демонстрацией кода: www.devclub.eu/2011/12/02/mihail-muhin-mps-intro

Под катом два видео об MPS
Total votes 16: ↑15 and ↓1 +14
Views 2.6K
Comments 3

Предметно-ориентированные языки для бизнес-приложений — пользовательские интерфейсы

Programming *Interfaces *
Sandbox
Эта статья 一 перевод статьи Domain-Specific Languages for Business Applications — Modelling User Interfaces

Разработка бизнес-приложений связана с решением задач в различных предметных областях, таких как хранение данных, обработка бизнес-логики, проектирование интерфейса пользователя. Для прироста производительности и качества не хватит ни одного предметно-ориентированного языка (domain-specific language, DSL), ни нескольких, если они недостаточно интегрированы между собой. Значительные улучшения может принести лишь целостный подход, при котором согласованно применяются несколько DSL для моделирования решений в различных предметных областях.

В этой статье мы рассмотрим пример DSL, с помощью которого мы моделируем стандартизованные пользовательские интерфейсы для наших бизнес-приложений в modellwerkstatt.org. Логика, присущая DSL, позволяет визуализировать графы объектов полностью и в очень простом, декларативном виде. Мы покажем, насколько просто внедряется обычный код Java, с которым можно взаимодействовать, что обеспечивает дополнительную гибкость и безопасность, в частности типобезопасность. Указав на различие между внутренними и внешними DSL, мы перейдем к JetBrains MPS и сразу же рассмотрим наш DSL для интерфейсов пользователя. Наконец, мы приведем ряд общих соображений относительно взаимодействия DSL между собой и их расширения.
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Views 8.2K
Comments 10