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


SQL Server 2022 Revealed

Author: Bob Ward
Publisher: Apress
Pages: 506
ISBN: 978-1484288931
Print:1484288939
Kindle: B0BLB4VJL9
Audience: DBAs & SQL devs
Rating: 5
Reviewer: Ian Stirk

This book aims to explain the new features in SQL Server 2022, how does it fare?



Learn Quantum Computing with Python and Q#

Author: Dr. Sarah Kaiser and Dr. Chris Granade
Publisher: Manning
Date: June 2021
Pages: 384
ISBN: 978-1617296130
Print: 1617296139
Kindle: B098BNK1T9
Audience: Developers interested in quantum computing
Rating: 4.5
Reviewer: Mike James
Quantum - it's the future...


More Reviews

Last Updated ( Thursday, 04 November 2010 )