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


Programming Kotlin Applications (Wrox)

Author:  Brett McLaughlin
Publisher: Wrox/Wiley
Pages: 384
ISBN: 978-1119696186
Print: 1119696186
Kindle: B08QCK4982
Audience: Beginning Kotlin Programmers.
Rating: 3
Reviewer: Alex Armstrong

Kotlin applications - what applications in particular?



Go Programming In Easy Steps

Author: Mike McGrath
Publisher: In Easy Steps
Date: January 2021
Pages: 192
ISBN: 978-1840789195
Print: 1840789190
Kindle: B08NF958NM
Audience: Non-programmers wanting to learn to code in Go
Rating: 5
Reviewer: Mike James
Getting going with Go - great idea!


More Reviews

Last Updated ( Thursday, 04 November 2010 )