Review : IronPython In Action Permalink

Being one the first books on any topic out there is a double edged sword. On the one hand you can corner the market for a while and on the other you have a wide range of expectations to deal with. With the topic being IronPython, this challenge is even trickier with the diversity of the Python audience (CPython, Jython, PyPy etc) plus the .Net crowd thrown in. Pleasing everyone is going to be tricky! Personally, I was after a more rounded knowledge of Python (I've learnt what I have through a mish-mash of tutorials and podcasts) and, more importantly, a good bit on .Net that will feed into the day job.

The opening chapter introduces the history of both Python and IronPython, dynamic languages and the rich .Net Framework. The short sections on IronPython for .Net Programmer and IronPython for Python Programmer are a nice touch. Being part of the 'In Action' Series, it unsurprisingly wastes no time and dives straight into the Python console, Silverlight, meta-programming and more before reaching chapter 2! The second chapter was one of the key ones for me hoping to fill in my patchy Python knowledge. The authors have thankfully not rushed this section (as many catch-up chapters in books sometimes do). Anyone new to Python should be up to speed no problem. Later chapters in the book cover more advanced Python topics such as protocols. It is also not just Python in there. Design patterns, unit testing and other general topics are covered with their particular relevance to Python.

Chapter 4 introduces the multi-doc example which is revisited in later chapters with different aspects expanded. This contrasts with some shallow samples in other programming books which on second glance are not that helpful. The entire book is also fairly neutral in terms of tools. Mono (alternative version of .Net) is covered. Whilst MS centric technology is covered such as ASP.net and Visual Studio get good coverage too, other editors/IDE such as Wing. The Open Source crowd shouldn't feel left out. The chapter on databases chooses PostgreSQL which is an odd choice as MS SQL would be a bit more Enterprise-y and has some excellent free (beer) editions. This would make the book a bit more appealing to the Windows audience. However the RBMS choice is platform neutral and using the Framework classes doesn't differ too much when using different systems. Another little niggle here is that use of COM objects is not covered - perhaps a legacy topic for a cutting edge technology book and COM usage is covered in online resources.

I have not tried everything in the book - there's a lot in there! GUI test automation is probably next on my list. Later topics cover hosting IronPython in your own programs so you can enable them for scripting and more advanced mixing of IronPython and the regular .Net languages. Powershell also high on my list to re-read. Rather that list all the chapters here I will link to the books own website - which looks like a promising resource for updates particularly for such a relatively young implementation of the language.

To really give the book a road test I decide to use it as my main reference for working on a small desktop application. I chose a code editor as a project - turned out to be very different to MultiDoc and the contrasts particularly in the design decisions. (As a little aside, the editor may get released with a bit more work.) It also served as a good 'playground' for trying out things from the book and I often found myself going there first instead of the usual MSDN and Visual Studio class browser. It is not a dust gathering title. The electronic version is worth having alongside the dead tree version (estimated as being Jan 2009).

Before summing up there's a couple of things I should mention. Firstly, I am basing this review on the 'early access' version of the book which is a very advanced edited draft. At the time of reviewing the Appendices and Index where not available and some diagrams were 'work in progress'. I managed to get by fairly well with the Find feature of Adobe Acrobat though a human edited index would be a good addition. Secondly, I should mention I have bumped into one of the authors on the Internet - but who in the (Python) world, hasn't dropped and email to that guy with the funny name and 6 multicoloured heads! I think that absolves me of bias. Probably. Wink

In conclusion, if you are interested in IronPython this book is a must for your bookshelf. 'IronPython In Action' gives a packed tour of IronPython across the key technologies from the desktop, databases, system administration to the web server and client side. Commendably it manages to bring all interested groups along for the ride and you will definitely be inspired to 'Action'. Ho ho. Going back to my initial goals after reading it, I definitely have improved my IronPython, Python and .Net. Result.

IronPython in Action is published by Mannings. A free chapter is available so you can try before you buy.

Posted by Davy Mitchell on 2008-10-16 20:47:05.
Categories: IronPython, Python Tags :
Like this post? Digg it or Del.icio.us it. |




Locations of visitors to this page