<<< Previous speaker next speaker >>>

Michael Hunger, Passionate about software development

 Michael  Hunger

Michael Hunger has been passionate about many aspects of software development even before he received his Master of CS.

He is particularly interested in the people, software craftsmanship, languages and improving code. While he likes coaching and in-project development as an independent (jexp) for small and mid-sized customers, he really enjoys the numerous other projects in his life. His family with three kids, a longtime obsession for a text based multi user dungeon (MUD), reading books whenever possible, running his coffee shop called "buchbar" (book-bar) and a workshop for printing on things are the one side. The other side is filled with learning and working with new programming languages whenever possible, listening to IT podcasts (esp. Software Engineering Radio), working on exciting and ambitious projects like qi4j.org, creating DSLs (jequel, squill and xmldsl.org), tons of refactoring and contributing to and reviewing books in progress (Martin Fowlers DSL-book, Software Apprenticeship Patterns, 97 Things Every Programmer Should Know, and many more). Sometimes he even finds time to do a bigger project with some friends like test.secretari.us, an open source e-mail based time management application.

Michael can be reached at http://jexp.de, mich@elhunger.de or mesirii@twitter.

Presentation: "Yet another Language? What's the Point of DSLs in todays polyglot Programming Environment"

Time: Friday 14:05 - 15:05

Location: Elizabeth Windsor, Fifth Floor

Abstract:

I want to discuss the value of DSLs as tools of communication and learning. DSLs are not only executable specifications but also a way of exploring your domain and a different kind of interfacing with your systems. I will quickly cover the types of DSLs, how to grow one and how a semantic model fits into the picture.

Then I'd like to present a variety of examples for DSLs targeted at different audiences and look at how they differ in form, usage and execution depending on the context they were developed in.