Персональные инструменты
 

Domain Specific Languages, теория и практика (семинар 2011-06-23, для студентов) — различия между версиями

Материал из CustisWiki

Перейти к: навигация, поиск
м (Примечания и отзывы)
 
м
 
(не показано 5 промежуточных версий 2 участников)
Строка 1: Строка 1:
 
== Аннотация ==
 
== Аннотация ==
;Докладчик: [] <!--Желательно задать ссылку на публичный профиль, ну или на худой конец mailto:-ссылку-->
+
;Докладчик: [http://www.facebook.com/profile.php?id=100002652492324 Всеволод Коньков]
  
 
<blockquote>
 
<blockquote>
Строка 7: Строка 7:
 
'''«Domain Specific Languages: теория и практика»'''
 
'''«Domain Specific Languages: теория и практика»'''
  
* Семинар для желающих разрушить завесу тайны над языково-ориентированным программированием.
+
Данный семинар рассказывает о том, что такое предметно-ориентированные языки и зачем они нужны. Кроме этого, на примере одной из предметных областей достаточно подробно иллюстрируются различные способы создания предметно-ориентированных языков, описываются внутренние механизмы различных реализаций их работы. Показано как, используя возможности языков программирования общего назначения, таких как C# и Ruby можно создавать внутренние предметно-ориентированные языки. И как с помощью дополнительных инструментальных средств можно создавать внешние предметно-ориентированные языки. Среди инструментальных средств рассматриваются:
* Ты не знаешь зачем нужны языки специфичные для предметной области (''Domain Specific Language'', DSL)?
+
* Понятия не имеешь, какие задачи позволяет решать внедрение DSL?
+
* Тебе покоя не дает вопрос, какие подходы используются для создания DSL?
+
* Устал гадать, что за проблемы возникают при внедрении DSL и как эти проблемы разрешать?
+
  
На семинаре разобраны примеры создания DSL на динамических языках общего назначения, таких как <tt>Ruby</tt> и <tt>Boo</tt>.
+
* XML
Для самых бесстрашных будут освещены теоретические вопросы связи языково-ориентированного программирования с ''Domain Driven Development'' (DDD) и ''Model Driven Development'' (MDD).
+
* XSLT
 +
* ANTLR
 +
* Jet Brains Meta Programming System
 +
* Microsoft SQL Server Modeling (Oslo)
  
Кроме этого Сева будет вещать о реальных практиках внедрения DSL в работающих проектах. Сделает обзор средств для создания DSL, таких как:
+
Также обсуждается связь предметно-ориентированных языков с такими современными парадигмами как Domain Driven Design (DDD)  и Model Driven Development (MDD).
  
* <tt>XML</tt>, <tt>XSLT</tt>
 
* <tt>Microsoft SQL Modeling Services</tt> (в частности язык «<tt>M</tt>»)
 
* <tt>Microsoft Visual Modeling SDK</tt>
 
* <tt>JetBrains Meta Programming System</tt> (MPS)
 
* <tt>ANTLR</tt>
 
 
</blockquote>
 
</blockquote>
  
Строка 34: Строка 28:
  
 
  -->
 
  -->
 +
 +
== Презентация ==
 +
[[Файл:SeminarDSL.pdf|center|640px]]
 +
 +
== Исходные коды примеров ==
 +
 +
Ссылка: [[Файл:DSL Examples.zip]]
 +
 +
Для работы всех примеров необходимо:
 +
 +
* [http://www.microsoft.com/visualstudio/ru-ru Microsoft Visual Studio 2010]
 +
 +
Для KitchenBot:
 +
 +
* [http://ironruby.codeplex.com/releases/view/60511#DownloadId=217152 IronRuby]
 +
 +
Для VMSDK
 +
 +
* [http://www.microsoft.com/download/en/details.aspx?id=2680 Visual Studio 2010 SDK]
 +
* [http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=23025 Microsoft Visual Studio 2010 Visualization & Modeling SDK]
 +
 +
Для OSLO
 +
 +
* [http://www.microsoft.com/download/en/details.aspx?id=24113 SQL Server Modeling CTP - Nov 2009 Release 3]
  
 
== Примечания и отзывы ==
 
== Примечания и отзывы ==
Строка 39: Строка 57:
 
;Domain Specific Languages:
 
;Domain Specific Languages:
 
* [[Language Oriented Programming (LOP) в действии (Максим Мазин, ADD-2011)]]
 
* [[Language Oriented Programming (LOP) в действии (Максим Мазин, ADD-2011)]]
 +
* [http://www.williamspublishing.com/Books/978-5-8459-1738-6.html Книга Фаулера "Предметно-ориентированные языки программирования"]
 +
* [http://www.antlr.org ANTLR]
 +
* [http://www.jetbrains.com/mps/ Meta Programming System]
 +
* [http://archive.msdn.microsoft.com/vsvmsdk Visual Studio Visualization and Modeling SDK]
 +
* [http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=24113 SQL Server Modeling (OSLO)]
  
 
;Domain Driven Design:
 
;Domain Driven Design:
 
* [[Тренинг Андрея Бибичева по «DDD» (2010-03-03)]]
 
* [[Тренинг Андрея Бибичева по «DDD» (2010-03-03)]]
 
* [[Domain Driven Design — как, почему и зачем? (Николай Гребнев, ADD-2011)]]
 
* [[Domain Driven Design — как, почему и зачем? (Николай Гребнев, ADD-2011)]]
 +
* [http://www.williamspublishing.com/Books/978-5-8459-1597-9.html Книга Эрика Эванса (Библия DDD)]
  
 
<!-- Если будут отзывы —  <blockquote>[©]</blockquote> -->
 
<!-- Если будут отзывы —  <blockquote>[©]</blockquote> -->
 
{{replicate-from-custiswiki-to-lib}}
 
{{replicate-from-custiswiki-to-lib}}
 
[[Категория:Семинары для студентов]]
 
[[Категория:Семинары для студентов]]
 +
[[Категория:DSL-языки (доклады)]]

Текущая версия на 01:04, 16 ноября 2011

Аннотация

Докладчик
Всеволод Коньков

«Domain Specific Languages: теория и практика»

Данный семинар рассказывает о том, что такое предметно-ориентированные языки и зачем они нужны. Кроме этого, на примере одной из предметных областей достаточно подробно иллюстрируются различные способы создания предметно-ориентированных языков, описываются внутренние механизмы различных реализаций их работы. Показано как, используя возможности языков программирования общего назначения, таких как C# и Ruby можно создавать внутренние предметно-ориентированные языки. И как с помощью дополнительных инструментальных средств можно создавать внешние предметно-ориентированные языки. Среди инструментальных средств рассматриваются:

  • XML
  • XSLT
  • ANTLR
  • Jet Brains Meta Programming System
  • Microsoft SQL Server Modeling (Oslo)

Также обсуждается связь предметно-ориентированных языков с такими современными парадигмами как Domain Driven Design (DDD) и Model Driven Development (MDD).

Видео


Презентация

SeminarDSL.pdf

Исходные коды примеров

Ссылка: Файл:DSL Examples.zip

Для работы всех примеров необходимо:

Для KitchenBot:

Для VMSDK

Для OSLO

Примечания и отзывы

Domain Specific Languages
Domain Driven Design

Внимание! Данная статья выбрана для репликации во внешнюю базу знаний компании. Пожалуйста, не допускайте в этой статье публикацию конфиденциальной информации, ведения обсуждений в теле статьи, и более ответственно относитесь к качеству самой статьи — проверяйте орфографию, пишите по-русски, избегайте непроверенной вами информации.