Разработка DSL в Kotlin
08.12.2022
Программисты постоянно спорят о том, какой язык самый лучший. Когда то мы сравнивали C и Pascal, но время идёт, и позади уже остались баталии Python/Ruby и Java/C#.
Очевидно, у каждого языка есть свои плюсы и свои минусы, именно поэтому мы их и сравниваем. В идеале нам бы хотелось расширять языки под собственные нужды.
Такая возможность появилась у программистов очень давно. Нам известны разные способы мета-программирования, то есть создания программ для создания программ.
Даже тривиальные макросы в C позволяют генерировать большие куски кода из небольших описаний. Впрочем, эти макросы ненадёжны, ограничены и не слишком выразительны.
Современные языки имеют гораздо более выразительные средства расширения. Одним из таких языков является Котлин.
Фёдор Ярёменко рассказал о его возможностях и о том, как создавать DSL (domain-specific languages или предметно-ориентированные языки) для своих нужд без существенных затрат времени. Фёдор пишет на Java более десяти лет и уже около четырёх лет на Kotlin.