DSLs in Boo

Author: Ayende Rahien
Publisher: Manning, 2010
Pages: 352
ISBN:978-1933988603
Aimed at: .NET DSL programmers
Rating: 3.5
Pros: Interesting topic
Cons: Inconclusive, lacks depth
Reviewed by: Mike James

 

Boo has lots of features which makes it suitable for use in implementing Domain Specific Languages in .NET. Does this book get to grips with it?

Author: Ayende Rahien
Publisher: Manning, 2010
Pages: 352
ISBN:978-1933988603
Aimed at: .NET DSL programmers
Rating: 3.5
Pros: Interesting topic
Cons: Inconclusive, lacks depth
Reviewed by: Mike James

This promises to be an exciting book. Boo is a language that has lots of interesting features which makes it suitable for use in implementing Domain Specific Languages. In particular its ability to interact with its own code during the compile phase makes it easy to use it to implement new language features.

Banner

The first chapter lived up to the promise in that it is about as convincing an argument for the DSL approach you are likely to find. Being a little on the skeptical side before reading it, I have to say it won me over to the idea, and as a result I am now looking to see if I can find an opportunity to incoporate a DSL in future projects.

Chapter 2 continues the good work with an overview of Boo, but not quite as successfully. There was far too much reference to the standard Boo material and it didn't really succeed in pointing out to me the strong features that Boo has that makes it suitable for language implementation. It was too short and not deep enough.

But even so I was still on-board with the project and was looking forward to making progress on actually implementing a DSL - surely then I would understand Boo and its relationship to the task. Unfortunately Chapter 3 is another general chapter about DSLs - a bit more specific than Chapter 1 but unnecessary and simply getting between the reader and the subject matter. Chapter 4 is more examples with lots of - "we will deal with this in detail later" and "don't worry if you don't understand" - by Chapter 4 things really should make more sense.

It didn't get any better with Chapter 5 dealing with integrating DSLs into your application. We still haven't really got to the bottom of the implementation of DSLs and now we are integrating them. Finally in Chapter 6 we reach advanced compiler extensibility approaches, but I found this more or less incomprehensible.

Chapter 7 is on the Rhino toolkit aimed at making DSLs easier to implement. From here the book deals with the usual tangential topics - testing, versioning, creating a UI, documentation - and rounds off with a real-world example.

At the end of the book you are left with the feeling that the author never adequately communicates the ideas that are central to implementing DSLs in Boo. Instead it simply provides lots of examples and discussion of general topics that left me wondering what the bigger picture was. Perhaps a reader knowing more about Boo before tackling the book might get more out of it but for me it just left me wanting to know more and feeling slightly left out.

Banner


Clean Craftsmanship

Author: Robert C. Martin
Publisher: Addison-Wesley
Date: November 2021
Pages: 416
ISBN: 978-0136915713
Print: 013691571X
Kindle:B095C16LSW
Audience: General
Rating: 4
Reviewer: Mike James
Well, I'm a clean craftsman - are you?



Wild West To Agile (Addison-Wesley)

Author: Jim Highsmith
Publisher: Addison-Wesley
Pages: 304
ISBN: 978-0137961009
Print: 0137961006
Kindle: B0BXWP88KP
Audience: Adherents of Agile methodology
Rating: 4.5
Reviewer: Alex Denham

The subtitle of this book is Adventures in Software Development Evolution and Revolution and it is personal reminin [ ... ]


More Reviews

Last Updated ( Thursday, 04 November 2010 )