DSLs - Not Quite Child's Play ... But Closer!
One of the books I've been reading recently Jack Greenfield's (and several other really smart people) book Software Factories. While I'm not yet sure that I buy into the notion that the creation of software solutions will undergo an industrial revolution of sorts (at least in a measurable timeframe), the thing that really drove me to this book was the discussion on domain specific languages - or "little languages" if you're coming from the UNIX world. I've been following the efforts on DSL coming out of companies such as Microsoft, JetBrains, and Intentional Software for a while now and while I think that model driven architecture is probably too prescriptive as an approach, I do think that there is a great deal of business value to be gained by promoting language oriented programming.
While Jack's book is incredibly insightful, it also (at least for me) can be a pretty difficult read as it takes me back to my old CS days. In fact, much of the work on DSLs reads this way as we are just now starting to try and describe and articulate the theory behind the tools. Therefore, I think it's always fun to see a practical implementation of a "little language".
The Scratch language is a visual programming language for kids developed by Mitchel Resnick and team at MIT's Media Lab. The language allows kids to build software systems that do some very basic - but very real things. What's cool is to think about the next step - when we come to a better understanding of integrating different DSLs to create richer systems. As an example, taking a Scratch application and integrating it into a distribution language would be an easy leap for allowing kids to create simple games that they can immediately promote to the Internet to play with other kids all over the world!
Comment Notification
If you would like to receive an email when updates are made to this post, please register here
Subscribe to this post's comments using
Comments
Leave a Comment
About hdierking
I am currently the Editor-in-Chief for MSDN Magazine. I joined Microsoft in 2006 as a product planner with the certification team at Microsoft Learning. Prior to that, I spent my career as a developer and later as an architect. My main technology passions include pretty much anything on language theory, agile development, and service-oriented architecture.