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


Adventures of a Computational Explorer

Author: Stephen Wolfram
Publisher: Wolfram Media
Pages: 432
ISBN: 978-1579550264
Print:1579550266
Kindle: B07Z6BYVSC
Audience: Fans of  Stephen Wolfram
Rating:  3
Reviewer: Alex Armstrong
A personal account of being a computer geek?



Deep Learning with JavaScript

Authors: Shanqing Cai, Stan Bileschi and Eric Nielsen
Publisher: Manning
Date: February 2020
Pages: 560
ISBN: 978-1617296178
Print: 1617296171
Audience: JavaScript Programmers
Rating: 5
Reviewer: Mike James
JavaScript doesn't seen a natural for AI but...


More Reviews

Last Updated ( Thursday, 04 November 2010 )