Разработка DSL в Kotlin

Разработка DSL в Kotlin

08.12.2022

Программисты постоянно спорят о том, какой язык самый лучший. Когда то мы сравнивали C и Pascal, но время идёт, и позади уже остались баталии Python/Ruby и Java/C#.

Очевидно, у каждого языка есть свои плюсы и свои минусы, именно поэтому мы их и сравниваем. В идеале нам бы хотелось расширять языки под собственные нужды.

Такая возможность появилась у программистов очень давно. Нам известны разные способы мета-программирования, то есть создания программ для создания программ.

Даже тривиальные макросы в C позволяют генерировать большие куски кода из небольших описаний. Впрочем, эти макросы ненадёжны, ограничены и не слишком выразительны.

Современные языки имеют гораздо более выразительные средства расширения. Одним из таких языков является Котлин.

Фёдор Ярёменко рассказал о его возможностях и о том, как создавать DSL (domain-specific languages или предметно-ориентированные языки) для своих нужд без существенных затрат времени. Фёдор пишет на Java более десяти лет и уже около четырёх лет на Kotlin.