After completing Coffeescript Application Development, I’d like to share my thoughts with you about the book. Let me start with a confession. I read the book but I didn’t do the homework. My reading was done during my bus commute on my kindle touch, which is not a full-sized screen and some technical titles aren’t a good fit for that medium. Long coding examples or charts/tables don’t render well on it in some cases. I’m happy to say I didn’t run into any issues with that. Granted, some longer lines of code did wrap, but at no point did I ever feel like it was too unwieldy to comprehend on the screen, and I find it rare now to find any technical book about programming that doesn’t include lines that need to wrap. Because I was on the bus traveling light, I didn’t break out my laptop and download the code to go through the exercises.
Here we go
I was anxious to dig into this book for a number of reasons. I don’t use Coffeescript on a regular basis for project work, and have seen some good introduction material, but I was curious about what more might be included. It had been a while since I had seen the material, so the first few chapters were a refresher. That said, they were pretty quick reading and did a very good job of explaining the syntax of the Coffeescript language.
In addition to the syntax of Coffeescript itself, the book included discussion of some tools and libraries that can be used with Coffeescript. While I’m sure the author wouldn’t expect to exhaustively identify all the tools and libraries worth mentioning, he did a good job of including enough to whet my appetite and make me feel like I should do some digging to find out more.
The writing of the book was well done too. The author did a good job of keeping things lively at the same time explained all the concepts thoroughly. The code examples were all a good combination of being simple without being contrived. Building from a simple app adding features as the book progressed helped introduce gradual more and more concepts within the language we..
Improvements
I would have liked to have seen unit testing addressed. There were never any tests for the exercises and never any discussion about which frameworks would integrate well with writing Coffeescript tests for Coffeescript code. I realize that could be the subject of a book itself, but some discussion of it would have been nice.
Conclusion
When I knew I was going to review the book, I had developed a question I was trying to answer that I kept considering as I went -- was Coffeescript worth the effort? If I were on a javascript project and considering a switch to Coffeescript what would I be gaining at the cost of a new language and additional complexity associated with that change? As I read the initial chapters I was still on the fence. It seemed to me the switch from javascript to Coffeescript was similar to the one from java to groovy. A lot of the same issues are solved by both languages and I have to admit I much prefer groovy over java. The more I read, the more I was convinced the change would be worth it.
Overall I would say the book was worth my time, and if you are considering the change to Coffeescript, you should check it out. You can find details here.
Disclosure: I was provided an electronic copy of this book for review by the publisher.