Saturday, January 24, 2009

Craig Murphy Reviews IronPython In Action

Craig Murphy is a .NET developer who helps organise a lot of community events in the UK and Scotland. He has read an early access version of IronPython in Action, and has posted a detailed review:
During 2008, dynamic languages picked up a lot of momentum. Indeed, in IronPython In Action, Foord and Muirhead describe this momentum somewhat amusingly: “dynamic languages are trendy; all the alpha-geeks are using them!” With what is the largest known IronPython codebase forming a large part of their careers, the authors are well-placed to provide us with accurate and authorative information coupled with practical code examples.
Fortunately Craig liked the book (and so he should!) and says some nice things:
You should buy this book if you wish to understand where the Dynamic Language Runtime fits into your .NET toolkit. If you are looking for better ways to test your code, dynamic languages and duck typing lend themselves to mock objects: you should buy this book to discover the gems of chapter 7. If you are searching for the Holy Grail that is an extensible application architecture, you need this book for chapter 15 alone.
Chapter 15 is one of my favorite chapters (it was fun to write). This chapter is on embedding IronPython in C# and VB.NET applications:
The ability to run Python scripts from within your CLR-based .NET application is frankly astounding, the authors present us with everything we need in order to achieve this in just a few lines of code. Similarly, the ability to treat Python code as part of your application’s “plug in” architecture makes extending and customising your applications without altering the primary codebase so much easier. Given that such functionality, extensible application architectures, are becoming commonplace, this chapter serves us well. It’s examples are to-the-point and are supported by sensible quantities of explanatory narrative.

No comments:

Post a Comment

Note: only a member of this blog may post a comment.