or
Sign in to turn on 1-Click ordering.
 
 
Express Checkout with PayPhrase
What's this? | Create PayPhrase
More Buying Choices
48 used & new from $14.81

Have one to sell? Sell yours here
 
   
Ironpython in Action
 
See larger image
 
Tell the Publisher!
I’d like to read this book on Kindle

Don’t have a Kindle? Get your Kindle here.
 
  

Ironpython in Action (Paperback)

~ Michael Foord (Author), Christian Muirhead (Author), (Author), Jim Hugunin (Foreword)
4.6 out of 5 stars  See all reviews (9 customer reviews)

List Price: $44.99
Price: $29.69 & this item ships for FREE with Super Saver Shipping. Details
You Save: $15.30 (34%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.

Want it delivered Tuesday, November 24? Choose One-Day Shipping at checkout. Details
33 new from $24.28 15 used from $14.81

Frequently Bought Together

Ironpython in Action + Beginning Python Visualization: Crafting Visual Transformation Scripts (Books for Professionals by Professionals) + Gray Hat Python: Python Programming for Hackers and Reverse Engineers
Price For All Three: $91.16

Show availability and shipping details


Customers Who Bought This Item Also Bought

Beginning Python Visualization: Crafting Visual Transformation Scripts (Books for Professionals by Professionals)

Beginning Python Visualization: Crafting Visual Transformation Scripts (Books for Professionals by Professionals)

by Shai Vaingast
4.6 out of 5 stars (10)  $35.10
Gray Hat Python: Python Programming for Hackers and Reverse Engineers

Gray Hat Python: Python Programming for Hackers and Reverse Engineers

by Justin Seitz
3.9 out of 5 stars (7)  $26.37
The Art of Unit Testing: With Examples in .Net

The Art of Unit Testing: With Examples in .Net

by Roy Osherove
4.8 out of 5 stars (12)  $26.39
Natural Language Processing with Python

Natural Language Processing with Python

by Ewan Klein
4.0 out of 5 stars (7)  $39.87
Pro IronPython

Pro IronPython

by Alan Harris
3.5 out of 5 stars (2)  $38.12
Explore similar items

Editorial Reviews

Product Description

In 2005, Microsoft quietly announced an initiative to bring dynamic languages to the .NET platform. The starting point for this project was a .NET implementation of Python, dubbed IronPython. After a couple years of incubation, IronPython is ready for real-world use. It blends the simplicity, elegance, and dynamism of Python with the power of the .NET framework.

"IronPython in Action" offers a comprehensive, hands-on introduction to Microsoft's exciting new approach for programming the .NET framework. It approaches IronPython as a first class .NET language, fully integrated with the .NET environment, Visual Studio, and even the open-source Mono implementation. You'll learn how IronPython can be embedded as a ready-made scripting language into C# and VB.NET programs, used for writing full applications or for web development with ASP. Even better, you'll see how IronPython works in Silverlight for client-side web programming.

IronPython opens up exciting new possibilities. Because it's a dynamic language, it permits programming paradigms not easily available in VB and C#. In this book, authors Michael Foord and Christian Muirhead explore the world of functional programming, live introspection, dynamic typing and duck typing, metaprogramming, and more.

"IronPython in Action" explores these topics with examples, making use of the Python interactive console to explore the .NET framework with live objects. The expert authors provide a complete introduction for programmers to both the Python language and the power of the .NET framework. The book also shows how to extend IronPython with C#, extending C# and VB.NET applications with Python, using IronPython with .NET 3.0 and Powershell, IronPython as a Windows scripting tool, and much more.



About the Author

Christian Muirhead began his career in a high-volume database environment, and for the last eight years has been building database-driven websites. He has five years of experience working with C#, the .NET framework, and ASP.NET. he has been using Python in most of his projects since discovering it in 1999, including building web applications for the BBC using Django. He is now working at Resolver Systems developing a next-generation data-modeling tool in IronPython.


Michael Foord has many years of Python under his belt as well as hands-on commercial experience with IronPython. Michael has written many articles on Python, including the official "HOWTO" Fetch Internet Resources Using urllib2." He has also written articles on IronPython and has spoken about IronPython in the U.S., England, and Poland. He is the author of several popular open-source Python projects and has a blog on all things Python.

Product Details

  • Paperback: 464 pages
  • Publisher: Manning Publications; Pap/Pas edition (March 1, 2009)
  • Language: English
  • ISBN-10: 1933988339
  • ISBN-13: 978-1933988337
  • Product Dimensions: 9 x 7.3 x 1.4 inches
  • Shipping Weight: 1.6 pounds (View shipping rates and policies)
  • Average Customer Review: 4.6 out of 5 stars  See all reviews (9 customer reviews)
  • Amazon.com Sales Rank: #278,068 in Books (See Bestsellers in Books)

    Popular in this category: (What's this?)

    #69 in  Books > Computers & Internet > Programming > Software Design, Testing & Engineering > Testing

More About the Author

Michael J. Foord
Discover books, learn about writers, read author blogs, and more.

Visit Amazon's Michael J. Foord Page


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(1)

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

 

Customer Reviews

9 Reviews
5 star:
 (6)
4 star:
 (2)
3 star:
 (1)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.6 out of 5 stars (9 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
6 of 6 people found the following review helpful:
5.0 out of 5 stars If you are a .NET person who is curious about Python, or a Python person who has an interest in .NET - you need this book, July 18, 2009
Disclaimer: I'm friends with both the authors and was sent a freebie review copy by the publisher, so I'm bound to be breathlessly gushing in this review. Fortunately, that's easy to do, because the book really is great. (Except for Christian's chapters... Joke!)

Having spent some years working with .NET, and with a series of intriguing personal experiments in Python under my belt, I originally approached IronPython some years ago with a modicum of trepidation. I feared that the weld between the two would be intrusively visible, forming distracting differences from regular Python. I feared for the execution environment, the data types, and perhaps even the syntax itself.

Experience with IronPython showed these worries were needless. I have found IronPython to be a remarkably pleasant marriage - the same elegant language we know and love, given first-class status in the .NET runtime. Gifted with seamless interoperability with other .NET languages, the dowry from such an alliance turns out to be all the .NET libraries in the world, including the substantial and highly capable .NET standard libraries themselves.

IronPython is, to some extent, a niche implementation of a niche language. However, its position seems to potentially be one of importance and strength. Not only does it allow Python programmers to use .NET libraries - and does so admirably, but it also allows the existing legions of .NET programmers to be introduced to the joys of Python. They will fall in love with it, and will be able to introduce it into their workplaces in a way that is politically acceptable. After all, it is now simply another .NET language. Since .NET is orders of magnitude more popular than Python, this could turn out to be an important source of future Python adoption.

This book is aimed to satisfy programmers coming from both the Python and the .NET worlds, and in this it seems to succeed. It starts with quick overviews of concepts from each: 30 pages about Python as a language, and 17 pages about .NET as an environment (data types, events, delegates, Windows Forms, etc) - just enough to get everyone up to speed regardless of background, but without being so verbose as to turn anyone off with a surfeit of material they are already familiar with. Despite being brief, these sections are packed with detail and very pragmatic, focusing on real-world use such as inheriting from existing .NET types, and solving some common problems like creating Windows Forms applications from IronPython.

This style of practical and densely informative content is continued throughout. Straight after the opening sections, we dive right in with another rapid-fire chapter, demonstrating common IronPython techniques by writing a non-trivial application. Woven around this ongoing example, the chapter discusses many immediately important topics, including duck typing, Python protocols, MVC, using Windows Forms to build a GUI, tab pages, dialogs, menus, toolbars, images, saving text files, .NET Streams, text file encodings, Python exceptions and lambda functions. These diverse topics are covered rapidly but thoroughly, giving the reader enough information about each to be able to use them together from IronPython to create a useful project.

Having covered these foundations, the book then moves on to address some specific areas in more detail. The following chapter headings give you some idea of the topics which are explored in depth:

* First-class functions in action with XML - demonstrates pragmatic use of functions as first-class objects, and higher-order functions (functions that take other functions as arguments and return modified versions.) and of course decorators. These are shown in use, appropriately paired up with the .NET XmlWriter and XmlReader classes, demonstrating event driven parsing of XML.
* Properties, dialogs and Visual Studio - Python properties, .NET dialogs, and using IronPython in Visual Studio. This sounds like a straightforward chapter, but as you might guess, the book gets deep into the topics and is jammed full of information. By the end of the chapter you'll have added to the example application to create document observers, used BinaryFormatter to serialise objects, and touched on Python's pickle equivalent.
* Agile Testing: where dynamic typing shines - From the unittest module and creating tests, through mock objects, listeners, monkey patching, dependency injection and functional testing. This is a dense chapter in a dense book, touching along the way on Python attribute lookup rules, bound and unbound methods, asynchronous execution for functional testing. My only criticism is that it's clearly hard for developers to 'get' testing until they have hands-on experience of it, so this single-chapter, while very thorough in explaining how to test, has an ambitious remit, and doesn't have enough space to explain much of why we test. I guess this is partially my own bias shining through here - I regard testing as quite literally the most important thing to happen in computer science since the invention of the compiler, and would encourage anyone interested to go and read as much as they can about it.
* Metaprogramming, protocols and more - More Python protocols, dynamic attribute access, and metaclasses. The sorts of things that in a static language would be deep black magic, or else completely impossible, but here they are just the right sort of crazy. Read, enjoy, and unlearn. We see how to create a profiling decorator, that modifies the functions you pass to it, wrapping them in stopwatch timing calls. We also learn about some of the more advanced integration of IronPython with the .NET CLR, including static compilation of IronPython code into assemblies, and one of the very few additions to Python syntax that IronPython has been obliged to provide - the typing of .NET arrays and generics. You'll never need to use generics yourself (in Python, everything is a generic), and you'll never want to go back to typed containers if you can avoid it. However, you may need to deal with some from an existing C# API, and this is how you do it.

Whew! We're only halfway through! The remaining chapters are equally detailed, but I'm going to start skimming through them somewhat. They cover the interactions of IronPython with more advanced .NET topics such as:

* Windows Presentation Foundation (WPF) and IronPython - WPF is the DirectX user interface library that is a successor to Windows Forms. This includes XAML, an XML dialect for describing user interfaces, decoupling their implementation from application logic.
* Windows System Administration with IronPython - using IronPython as a scripting language for sysadmin automation tasks, from the simple, such as copying files, to the complex, such as Windows Management Instrumentation (WMI), administration of remote machines, and a substantial discussion on the uses of PowerShell with IronPython.
* IronPython and ASP.NET - building a web-based front end to the sample application developed earlier. Reusable controls.
* Databases and Web Services - using ADO.NET to work with databases, and using SOAP and REST.
* Silverlight: IronPython in the browser - creating Silverlight applications, and accessing the browser DOM from them.
* Extending IronPython with C#/.NET - all about creating C# class libraries for use in IronPython, calling unmanaged code from IronPython, and creating interfaces on your C# classes to provide dynamic, Pythonic behaviour. It also includes dynamic compilation of assemblies at runtime, which opens the door to advanced code-generation techniques.
* Embedding the IronPython Engine - many developers might want to provide IronPython as a scripting language within their own application, and this chapter shows you how.

Alright, that's it! There are appendices:

* A whirlwind tour of C# - in case anyone wants more guidance while looking at some of the C# code or concepts that are discussed throughout the book.
* Python magic methods - a description of all the Python magic double-underscore methods, which is a fabulous resource, one which l haven't seen collected anywhere else, and have been referring back to ever since I read the book.

So there you have it. If you haven't inferred already, I learned absolutely heaps from this book, even though it's about a language and environment I've been using every day for years. I think I can say without any equivocation that this is the best IronPython book in the world.

If dynamic languages make you break out in hives, or if .NET makes you think of Darth Vader, then you shouldn't touch this book with a barge pole. However, if you're a .NET person who is curious about Python (and believe me, you should be), or if you're a Python person who fancies .NET - maybe for DirectX or Silverlight or any number of other wonderful things, then you should absolutely go directly to the IronPython in Action book website or Amazon, right this second, and buy it.
http://www.ironpythoninaction.com/

What are you still doing here?
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
4 of 4 people found the following review helpful:
5.0 out of 5 stars Great for learning and to have on hand as a reference!, April 26, 2009
What I liked best about this book is that in the beginning, IronPython was discussed while looking at it from two different angles - covering what a .NET developer would get out of IronPython and a what Python developer would get out of it as well. The examples in this book were easy to follow and very applicable to everyday programming. The book flowed well, covering the fundamentals and then stepping up into more complex concepts (WPF, ASP.NET, system administration, web services, databases, and more).

I had reviewed this book before it came out, and I had mentioned that I'd buy a copy of it when it came out, even though I already have the eBook. I purchased this through Amazon.com, and I now keep it on hand as a reference while I'm coding in IronPython or when I'm giving a presentation on IronPython at the various events in the region of MI/OH/KY/TN.

Overall, I would recommend IronPython in Action for anyone wanting to learn IronPython. Even if you're an experienced IronPython programmer, this book would be great to have on hand as a reference.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
4 of 4 people found the following review helpful:
5.0 out of 5 stars Highly Recommended, April 13, 2009
Written by Python Experts who have developed complex applications with IronPython, this excellent book covers IronPython 2 and provides several code examples illustrating how faithful IronPython 2 is to Python 2.5 and how .Net and Python concepts map to each other. The diverse examples range from showing how IronPython integrates nicely with various .Net libraries such as Windows Forms, Windows Presentation Foundation and Silverlight, to how Python's advanced features can be used effectively in agile testing, and to how C# and VB.Net applications can embed the IronPython Engine to run Python code and scripts. The book also tackles areas in which the integration between IronPython and .Net is currently not straightforward, providing guidance on how to work around these issues, as well as information on how Microsoft may address these remaining issues. Overall, I think the authors did an excellent job, and even readers who may be relatively new to either Python or .Net will find the book an easy and valuable read because of the many little things that the authors did (e.g., thoughtful and concise explanations, copious code, great references, etc) to make it so!!
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews

3.0 out of 5 stars It's good, but....
I liked the book, but I'm a web developer and all of the winforms stuff turned me off. I thought Python was a great web development language? Read more
Published 3 months ago by Ryan Montgomery

5.0 out of 5 stars makes it easy to get started using IronPython right away.
I've always wanted to use Python more. Mostly I use it to write little one off scripts when I want to move a bunch of files around or parse some text. Read more
Published 5 months ago by Scott C. Koon

4.0 out of 5 stars If you start with IronPython, buy this book
IronPython is the first dynamic language developed for the .Net plateform. At first, .Net didn't support this kind of language. Read more
Published 6 months ago by Matthieu Brucher

5.0 out of 5 stars Simply a Fantastic Python Book
While I just got my print copy of Michael Foorde's excellent book, "IronPython in Action," I've been using it and referring to it for the better part of a year. Read more
Published 6 months ago by Robert S. Oakes

4.0 out of 5 stars The best IronPython book to date
This book excels in its discussion of both "pythonic" and ".NET / DLR" issues. IronPython is a relatively new port of Python and its interaction with Microsoft's managed platform... Read more
Published 6 months ago by Larry OBrien

5.0 out of 5 stars Excelent book for both the .net and Python programmer
A very good and useful book to start using IronPython. You only need to have an idea of programming (any language) before starting with this book. Read more
Published 7 months ago by Hernan Garcia

Only search this product's reviews



Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   


Listmania!


So You'd Like to...


Product Information from the Amapedia Community

Beta (What's this?)


Look for Similar Items by Category


Look for Similar Items by Subject

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Your Recent History

 (What's this?)

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.