Having trouble reading this email? View it in your browser.
New This Week

Programming DSLs in Kotlin »

Creating your own domain-specific languages (DSLs) is both challenging and exhilarating. DSLs give users a way to interact with your applications more effectively, and Kotlin is a fantastic language to serve as a host for internal DSLs because it greatly reduces the pain and effort of design and development. Learn to avoid the pitfalls and leverage the language while creating your own elegant, fluent, concise, and robust DSLs using Kotlin.

Recently Released:


Coming Up Next:

  • Using Elixir for Graphs, in beta
  • Pandas Brain Teasers
  • A SwiftUI Kickstart
  • A Swift Kickstart, Second Edition
  • A Functional Programming Kickstart

Best Sellers:

Make sure you haven't missed anything!

  1. A Common-Sense Guide to Data Structures and Algorithms, Second Edition
  2. The Pragmatic Programmer, 20th Anniversary Edition
  3. Apple Game Frameworks and Technologies
  4. Become an Effective Software Engineering Manager
  5. Distributed Services with Go

See all best sellers...

Programming DSLs in Kotlin
August 27, 2020

Getting to the point fast means getting results even faster, and that's why developers love Kotlin. It's succinct, fluent, and elegant. So what better setting could you have for designing DSLs, where the requirements are powerful and simple, expressive and concise? And what better resource could you have for learning about them, than the Pragmatic Bookshelf's brand new series, Pragmatic Answers.

At just 50-ish pages apiece, these digital-only books will get you over the toughest hurdles in the blink of an eye. Pragmatic Answers are a fast and furious deep dive into a complex topic with an expert you trust.

Interested in DSLs but new to Kotlin? Now through September 10, pick up both Programming Kotlin and Programming DSLs in Kotlin together and get 25% off when you apply coupon code KotlinSpecial to your order at pragprog.com.

Now come see why this extremely popular language is the perfect answer to all your DSL questions!

Programming DSLs in Kotlin: Design Expressive and Robust Special Purpose Code

Internal DSLs remove the burdens of implementing a full blown language compiler. The host language quickly becomes your ally to creating DSLs, but the syntax you can choose for your DSLs is limited to what the host language allows. You can work around the limitations by tactfully bending the rules and exploiting the language capabilities. Learn the power of Kotlin and ways to design with it, in the context of crafting internal DSLs.

Start by learning ways to exploit the flexibilities of Kotlin to make your DSLs fluent, expressive, and concise. Then pick up techniques to extend the language with domain specific properties and functions. Quickly move ahead to tie your DSL snippets into the runtime environment and context of execution of your applications. Design to prevent any non-sensical syntax in your DSL that may otherwise be valid in the host language. Finally, learn techniques to gracefully handle errors. Practice using the multiple examples that are included in each chapter.

Fire up your editor and follow along each example to become proficient in designing and implementing your own internal DSLs using Kotlin.

Now available in beta from pragprog.com/titles/vsdsl.

You Could Be a Published Author

Is there a tech topic you are deeply passionate about and want to share with the rest of us? You could become a published Pragmatic Bookshelf author! Take a look at our pragprog.com/become-an-author page for details, including our 50% royalty (yes, for real!) and world-class development editors.

Upcoming Author Appearances

  • 2020-08-28 Craig Walls, Salt Lake Software Symposium
  • 2020-09-11 Craig Walls, Lone Star Software Symposium: Dallas (NFJS)
  • 2020-09-12 Diana Larsen, Agile Business Day - Venice & online
  • 2020-09-16 Diana Larsen, Enterprise Agile San Francisco Bay Area - online
  • 2020-09-17 Michael Keeling, European Conference on Software Architecture in L'Aquila, Italy + Virtual
  • 2020-09-18 Diana Larsen, Agile Austin
  • 2020-09-21 George Dinwiddie, Washington DC Scrum Users Group
  • 2020-09-23 Jon Reid, Cocoaheads NL Meetup
  • 2020-09-28 Diana Larsen, Agile Human Factors - eXperience Agile conference
  • 2020-09-29 Craig Walls, FrontEnd Fest
  • 2020-10-01 Diana Larsen, Online Workshop
  • Don't Get Left Out

    Are your friends jealous that you get these spiffy email newsletters and they don't? Clue them in that all they need to do is signup at pragprog.com.

    Tell your friends! Tweet this

    Follow us on Twitter for the latest news, commentary, and occasional discounts:: @pragprog, Andy Hunt @PragmaticAndy.

    Thanks for your continued support,
    Andy Hunt
    Publisher, Pragmatic Bookshelf

    By Professional Developers, for Professional Developers

    Sent by the Pragmatic Programmers, LLC. • 9650 Strickland Rd Ste 103-255• Raleigh NC 27615