News on Monday
more>>
SharePoint Tech Report
more>>


   

 
 
Download Current Issue
ISSUE 2/1/2010 PDF

Need Back Issues?
DOWNLOAD HERE

Receive the print Edition?


 
blogs tab
Visual Studio 2010 Release Candidate Available Today
A Visual Studio 2010 release candidate is available on MSDN.
02/09/2010 09:45 AM EST

Is Microsoft eyeing Office subscription pricing?
Microsoft may be preparing to offer a new Office pricing option called "union," which charges the same for cloud as on-premises.
02/01/2010 09:38 AM EST

Facebook rewrites PHP runtime
Facebook is about to open source its own PHP runtime, written from scratch for speed.
01/30/2010 08:53 PM EST

 

Events calendar tab
2/9/2010 to 2/13/2010
San Francisco
IDG World Expo

2/10/2010 to 2/12/2010
San Francisco
BZ Media

2/17/2010 to 2/25/2010
Atlanta
Python Software Foundation

2/19/2010 to 2/20/2010
Los Angeles
SCALE

2/21/2010 to 2/24/2010
Las Vegas
IBM


 
Most Read Latest News Blog Resources

Windows & .NET Watch: Python: Arbitrarily Interesting




February 3, 2009 — 
Python is the easiest language in which to do interesting things. I’m not claiming that it’s the best language for learning programming, the appropriate language for your next enterprise project, or even, for interesting things, the most powerful language. Only that it’s easy to do interesting things because the language is approachable, flexible and has been popular with scientists.

Professional programmers might find the syntactical niceties of “Hello World” or the calculation of a factorial as an “interesting thing,” but no one else does. You need graphs, at least, if not interactive graphics, image processing and, say, robots. And while for any one of these there are specialized languages that might be even easier for each individual task, Python is your best bet for easy access to arbitrary values of “interesting.”

IronPython, Microsoft’s flagship of the Dynamic Language Runtime, recently achieved its 2.0 release. The cliché is that Microsoft takes three releases to get a product right, and programming IronPython in Visual Studio is still not as seamless as programming in C# or Visual Basic. I’m by no means an advanced Python user, and I take no stand on the completion of the language or its support for Very Important Frameworks. But in my eyes, IronPython and its ability to glue together interesting libraries and tools from both the .NET and the Python worlds is already doing very well.

For fellow dilettante Python programmers, I recommend the book “IronPython in Action” by Michael Foord and Christian Muirhead. Soon to be published by Manning (I reviewed a preprint), the book is particularly strong in providing simple-but-not-simplistic illustrations and tables that clarify behind-the-scenes structural elements. Visual Studio screenshots may be a little more common than I’d like, but for those new to the VS environment, these may be welcome.

A common challenge for books involving technologies ported to new environments is balancing viewpoints. A strength of the Foord/Muirhead book is just such a balance, providing “Pythonic” topics such as test-driven development, mocks and metaprogramming, along with clear discussions of .NET’s CLR structure, Windows Presentation Foundation, and even programming PowerShell with Python.

I’ve talked before in this column about Resolver One, the spreadsheet powered by and programmable in IronPython. Soon after the IronPython 2.0 release, Resolver Systems announced a programming contest for Resolver One (first prize: US$15,000—read more at www.resolversystems.com).

I can’t praise enough the combination of spreadsheet and programming models embodied in Resolver One: I truly believe that this is one of the best ways to do exploratory programming. Although it’s been 15 years since I’ve worked with fuzzy logic, I was able to put together the not-entirely-rudimentary building blocks of a fuzzy manifold editor (a tool for visualizing the response curve of a fuzzy system) in a matter of hours.

Spurred on by the prospect of developing an easy-to-use tool for fuzzy logic, I envisioned how to explain my still-to-be-developed library to others. This gave me a perfect reason to install Blue Reference's Inference for .NET. Inference for .NET is a tool for literate programming using .NET dynamic languages and Microsoft Office. In modern terms, literate programming is a mashup of programming and word processing (or spreadsheet processing). The presentation and formatting tools of Word or Excel can be used to explain code snippets, or the code can be unwoven from the document and executed.

Literate programming naturally appeals to writers, and with the rise of blogs and wikis, it seems like something whose time has come. On the other hand, nothing is as humbling as memorializing your shortcuts, inefficiencies and general shiftlessness on a function-by-function basis (at least such is my experience. It might be different for the talented).

Inference for .NET is very interesting to use and I have barely scratched the surface of its capabilities, but literate programming and Python seem to be an exceptionally good match, since the language lends itself to fairly dense expressions that can require a good bit of explanation.

The problem with fun things is that every success spurs your ambition. My Resolver One fuzzy logic editor spurred my desire to write a tutorial. My Inference for .NET writing spurred my desire for some explanatory 3D graphics. That’s brought me right back to WPF. Between Charles Petzold’s “3D Programming for Windows” (Microsoft Press) and IronPython, I’m sure I’ll get my fuzzy logic editor out the door … sometime before the next Presidential election.

Larry O'Brien is a technology consultant, analyst and writer. Read his blog at www.knowing.net.


Related Search Term(s): documentation.NETPythonWindowsResolver


Share this link: http://www.sdtimes.com/link/33233
 

Comments

02/05/2009 07:09:02 PM EST

Great Column Mr. Obrien - I know who I'm coming to the next time I get this little light bulb in my brain about some sort of software I'd like to develop someday. Damon Tucker Pahoa, Hawaii

United StatesDamon Tucker


Add comment


Name*
Email*  
Country     


  • Comment
  • Preview
Loading