The Windows and .NET watch column, February 1, was Python: arbitrarily interesting . For certain classes of "interesting" problems, where interesting is defined arbitrarily, Python is an easy way to tackle those interesting problems.

It picks out a few specific areas of IronPython application, which is good and bad. Good because it shows one direction in which Python is headed. Bad because there is that class of knuckleheads who will respond "Aha, Python is only good for Resolver One, that's not good enough for me."

[Resolver One].

Negativity

There's a lot of nay-saying about Python, dynamic languages in general, and even the LAMP technology stack. I'm particularly fond of this question on Stack Overflow: Is the LAMP stack appropriate for Enterprise use?

The presumptions behind a vague, "is it appropriate?" question are "it's not" and "prove it to be otherwise." Specific questions ("how do I configure Linux, Apache, MySQL, Python") are generally positive in nature. Vague, general questions -- questions that can only be answered by "it depends' -- are essentially negative questions.

While a focused article can be taken negatively, I think, on balance, that O'Brien's highlight of a specific solution that includes Python helps sway folks toward understanding that Python may become as big a deal as Java, perhaps bigger.

Futures

To an extent, static languages are about optimization more than anything else. Yes, they can do a lot of static checking. But C had an advantage over BASIC because it could be optimized down to a few machine instructions. While there's still a need for that level of optimization, it isn't needed everywhere. We have a lot of CPU cycles that we can invest in resolve names in dynamic languages.

I think the separation between static (Java, C, C++) and dynamic languages (Python) will fluctuate as Java embraces more dynamic programming features. Eventually, Java folks will have to make a hard decision on which way they want to focus the language, and the dynamic features will probably win out.

Many of the static features will become part of a subset of the language used for writing frameworks. The rest of us will use the dynamic language features exclusively.