Expanded Library

Kotlin Fundamentals: Domain Specific Languages

by Greg Milette

This course will mature your understanding of Kotlin by helping you master DSL development. Once mastered you will understand Kotlin more completely and be able to write elegant language-like code.

What you'll learn

How do you create great APIs? One way is to make code that uses your API streamlined and intuitive to use. To do so, sometimes you need to create mini-languages within your Kotlin code. These are called Domain Specific Languages (DSLs). Designing and implementing DSLs requires thinking differently about your code and utilizing a suite of Kotlin features which make DSLs practical. In this course, Kotlin Fundamentals: Domain Specific Languages, you will learn the Kotlin features and implementation techniques for DSLs. First, you will learn what design criteria you should use to make a DSL. Next, you will put those design goals into action as you discover some DSL techniques for use in DSL implementations such as nested builders and context variables. Finally, as you implement some DSLs during the course, you will explore how to create clean structured DSLs containing lambdas, infix notation, and other language-like syntax. When you’re finished with this course, you will have the skills and knowledge of DSL implementations needed to build new DSLs, understand how to use existing ones, and even improve your non-DSL code.

About the author

Greg Milette is a software developer with over 15 years experience in developing mobile applications, web apps, and research software. He has a keen interest in Android, speech recognition, IoT, domain-specific languages, music recording, and a quality cup of tea. Greg is also a conference speaker and co-author of Professional Android Programming. Currently, he is an Android developer at TripAdvisor where Kotlin code abounds.

Ready to upskill? Get started