Книга "Предметно-ориентированные языки программирования" посвящена изучению возможностей и преимуществ использования предметно-ориентированных языков (Domain-Specific Languages, DSL) в разработке программного обеспечения. Автор книги - известный специалист в области проектирования ПО Мартин Фаулер - рассматривает общие принципы и подходы к созданию DSL, анализирует, когда целесообразно применять подобные языки, и подробно описывает технологии и инструменты для их реализации.
В первой части книги дается введение в концепцию предметно-ориентированных языков, обсуждаются их достоинства и недостатки, возможные сферы применения. Вторая часть посвящена практическим вопросам создания DSL - выбору синтаксиса, использованию инструментов парсинга и генерации кода, реализации встраиваемых и внешних DSL. Рассматриваются примеры DSL на разных языках программирования, в основном Java и C#.
Книга адресована разработчикам ПО, интересующимся возможностями оптимизации кода и повышения продуктивности с помощью предметно-ориентированных языков. Издание поможет получить практические знания для принятия решения об использовании DSL и их успешной реализации.
В книге рассматриваются принципы и приемы разработки современных предметноориентированных языков. Вы увидите, какой бывает смысл в применении синтетических языков вместо схем и традиционных библиотек. На конкретных примерах будет показано, как эти языки позволяют передавать сообщения пользователям и экономить усилия разработчиков.
Электронная Книга «Предметно-ориентированные языки программирования» написана автором Мартин Фаулер в 2011 году.
Минимальный возраст читателя: 0
Язык: Русский
Серии: Signature Series
ISBN: 978-5-8459-1738-6
Описание книги от Мартин Фаулер
При правильном выборе и применении предметно-ориентированные языки могут существенно упростить сложный код, обеспечить эффективное общение с пользователями, повысить производительность и устранить узкие места разработки. В этой книге известный эксперт в области программного обеспечения Мартин Фаулер предоставляет информацию, которая поможет определиться, следует ли использовать предметно-ориентированные языки для решения стоящих перед вами задач. Если окажется оправданным применение предметно-ориентированных языков, то вам пригодится вторая часть книги, в которой подробно, на конкретных примерах, описаны технологии, применяемые при создании таких языков. Данная книга, по сути, представляет две книги под одной обложкой. Фаулер начинает с обзора общих принципов и концепций, лежащих в основе предметно-ориентированных языков программирования. Читатели узнают, как работают предметно-ориентированные языки, как добиться, чтобы с пользовательским синтаксисом предметно-ориентированного языка было проще работать, чем с синтаксисом таких альтернатив, как XML. Затем автор переходит к подробному рассмотрению примеров, которые помогут разработчикам лучше понять, когда и как использовать ту или иную методику. Фаулер рассматривает как внутренние, так и внешние предметно-ориентированные языки, а также альтернативные вычислительные модели, генерацию кода и другие темы. Методы, описанные в данной книге, могут использоваться в большинстве современных объектно-ориентированных языков программирования. В основном примеры в книге написаны на Java и C#, но в некоторых из них использован язык Ruby. Все главы по возможности организованы в виде самодостаточных частей, а большинство справочных разделов – в знакомом читателю формате описания шаблонов программирования. Из этой книги разработчики получат достаточно информации для того, чтобы принять обоснованное решение об использовании предметно-ориентированных языков в своей работе, а также извлечь из их применения максимальную пользу. В книге освещены следующие темы. – Сравнение предметно-ориентированных языков с различными схемами и библиотеками, а также решение вопроса о достаточных альтернативах. – Применение синтаксических анализаторов и генераторов синтаксических анализаторов, синтаксический анализ внешних предметно-ориентированных языков. – Изучение, сравнение и выбор языковых конструкций предметно-ориентированных языков. – Применение генерации кода и сравнение стратегий генерации кода. – Языковые инструментальные средства для создания предметно-ориентированных языков.