Code Camp Talk – Domain Specific Languages
Thanks to all those people who enjoyed endured an hour of me talking about Domain Specific Languages and Boo :)
Slides can be downloaded from here, and a zip file containing the code is here.
The DSL Book
If you found this topic interesting and want to learn more about writing Domain Specific Languages with Boo, I strongly encourage you to buy Ayende's book "Writing domain specific languages in boo".
It's very thorough (350 odd pages) - and includes a lot of guidance around not only writing a domain specific language with Boo, but the far larger topic of incorporating a business DSL into real world applications, versioning concerns, batch compilation etc. that must be considered when ever you write a domain specific language to be used in a production system.
Do yourself a favour and buy it today - it's currently in Mannings EAP (early access program) - but is complete and just undergoing the final editing stages before going to print.
Boo & Boo DSL Resources
- Boo language google group
- Boo Tutorials
- IDE Support / Development Environments
- Sharpdevelop website (IDE capable of building Boo projects on windows).
- MonoDevelop (Mono IDE capable of building Boo projects, windows version does not currently support boo).
- Boo Lang Studio (Boo plugin for visual Studio .net 2008 - fairly alpha)
- Booish (A boo command line interpreter / REPL)
- Ayende's Posts
Syntax highlighting Editors
I had a few questions via email / skype about the WPF syntax highlighting component I used in my demos - it was AvalonEdit, part of the SharpDevelop 4.0 project - you can grab the code via subversion from here:
Ayende's book also covers building a simple script editor using the SharpDevelop windows forms editor control (know as ICSharpCode.TextEditor)... there is an article on codeplex here which describes how to use that library.
Thanks! and Next Architecture Chat
Thanks all for coming to code camp - and for those that are interested, we have an upcoming Architecture Chat this Thursday 24th September at 11:30am - hopefully we might see a few new faces there this week!