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


Bare Metal C

Author: Steve Oualline
Publisher: No Starch Press
Date: August 2022
Pages: 304
ISBN: 978-1718501621
Print: 1718501625
Kindle: B08YJB9BCF
Audience: C programmers
Rating: 3
Reviewer: Harry Fairhead
Bare metal C sounds exciting and very basic. Time to find out how the machine really works.



Artificial Intelligence For Developers (In Easy Steps)

Author: Richard Urwin
Publisher: In Easy Steps
Date: September 2024
Pages: 192
ISBN: 978-1787910119
Print: 1787910113
Kindle: B0DBHZRZGM
Audience: Developers interested in AI
Rating: 4
Reviewer: Mike James
So many books on AI why another?


More Reviews

Last Updated ( Thursday, 04 November 2010 )