Описание книги
В книге "Предметно-ориентированные языки программирования" известный эксперт в области программного обеспечения Мартин Фаулер предоставляет информацию, которая поможет вам определиться, следует ли использовать предметно-ориентированные языки для решения стоящих перед вами задач. Если применение предметно-ориентированных языков окажется оправданным, то вам пригодится вторая часть книги, в которой подробно, на конкретных примерах, описаны технологии, применяемые при создании таких языков.
Методы, описанные в данной книге, могут использоваться в большинстве современных объектно-ориентированных языков программирования. В основном примеры в книге написаны на Java и C#, но в некоторых из них использован Ruby. Все главы по возможности организованы в виде самодостаточных частей, а большинство справочных разделов - в знакомом читателю формате описания шаблонов программирования.
При правильном выборе и применении предметно-ориентированные языки могут существенно упростить сложный код, обеспечить эффективное общение с пользователями, повысить производительность и устранить узкие места разработки. В этой книге известный эксперт в области программного обеспечения Мартин Фаулер предоставляет информацию, которая поможет вам определиться, следует ли использовать предметно-ориентированные языки для решения стоящих перед вами задач.
Если применение предметно-ориентированных языков окажется оправданным, то вам пригодится вторая часть книги, в которой подробно, на конкретных примерах, описаны технологии, применяемые при создании таких языков.
Данная книга, по сути, представляет две книги под одной обложкой. Фаулер начинает с обзора общих принципов и концепций, лежащих в основе предметно-ориентированных языков программирования. Читатели узнают, как работают предметно-ориентированные языки, как добиться, чтобы с пользовательским синтаксисом предметно-ориентированного языка было проще работать, чем с синтаксисом таких альтернатив, как XML. Затем автор переходит к подробному рассмотрению примеров, которые помогут разработчикам лучше понять, когда и как использовать ту или иную методику. Фаулер рассматривает как внутренние, так и внешние предметно-ориентированные языки, а также альтернативные вычислительные модели, генерацию кода и другие темы.
Методы, описанные в данной книге, могут использоваться в большинстве современных объектно-ориентированных языков программирования. В основном примеры в книге написаны на Java и C#, но в некоторых из них использован Ruby. Все главы по возможности организованы в виде самодостаточных частей, а большинство справочных разделов - в знакомом читателю формате описания шаблонов программирования.
Из этой книги разработчики получат достаточно информации для того, чтобы принять обоснованное решение об использовании предметно-ориентированных языков в своей работе, а также извлечь из их применения максимальную пользу.
В книге освещены следующие темы.
Сравнение предметно-ориентированных языков с различными схемами и библиотеками, а также решение вопроса о достаточных альтернативах
Применение синтаксических анализаторов и генераторов синтаксических анализаторов, синтаксический анализ внешних предметно-ориентированных языков
Изучение, сравнение и выбор языковых конструкций предметно-ориентированных языков
Применение генерации кода и сравнение стратегий генерации кода
Языковые инструментальные средства для создания предметно-ориентированных языков
Книга предназначена, в первую очередь, для профессионалов в области разработки программного обеспечения, но будет интересна и полезна и начинающим программистам. Особо следует отметить, что большая часть описываемых методик применима не только для создания предметно- ориентированных языков, хотя все эти технологии рассматриваются именно в данном контексте. Книга снабжена массой перекрестных ссылок, что упрощает поиск необходимого материала.
Об авторе
Мартин Фаулер - ведущий научный сотрудник ThoughtWorks. Сам о себе он пишет так: "Автор, консультант, лектор и просто крикун в области разработки программного обеспечения. Сферой моих интересов является разработка крупномасштабного программного обеспечения, где особую роль играет хорошее проектирование". Фаулер - автор таких бестселлеров, как Шаблоны корпоративных приложений, UML Distilled, а также (в соавторстве) Refactoring: Improving the Design of Existing Code.