IE7 beta 1: CSS support fixed Annotating the planet: Flickr + Google Maps!
May 04

Python has a leg up in the dynamic language race

Java, Microsoft, Tech Add comments

I have had an absolute ‘duh’ moment. I am a Ruby fan, and keep pinging JRuby to see if it is ready for prime time, and it never is (YET!). I have also talked with Microsoft about Ruby.NET.

I have written Python code in my past, but it was sandwiched between Perl and Java, and was used at first due to the very nice embedable API (embedding Perl was a nightmare for example). And, then I have moved on to Ruby/Groovy for my scripting needs. So, partly due to timing, partly due to FEEL, Python has been overlooked (as has PHP).

However, it turns out that Python is an obvious choice for a dynamic language that is fairly ubiquitous:

Not only can you get it on unixen, Windows, etc… but it runs on the JVM and CLR!


JPython has always been out there, but it seems to have picked up more steam recently (anecdotaly). We do have the strange combining of the worlds, and deciding whether to use python APIs vs. Java APIs, which depends on whether you are looking to run on the Java platform and just use a scripting approach here and there, of if you want a scripting language on a whole set of platforms (e.g. reusing your .py all over the shop).


It seems that the Python community hasn’t been happy with how Microsoft has gone quiet until a recent IronPython release. Jim Hugunin is a great bloke, and I have no doubt that things will change and he will be able to break through the MSFT beauracracy.

With a solid IronPython, JPython, and CPython, you now have a very compelling dynamic language!

If you can put up with self ;)

And, there is also word that a new web framework named spyce is going to try to do what Rails has done for Ruby.

7 Responses to “Python has a leg up in the dynamic language race”

  1. Bill de hOra Says:


    In short, Python is seriously portable. And we call JPython, Jython these days ;) There is renewed community activity to the likes of Brian Zimmer and Sean McGrath. The focus of the curret work is about about moving to meet the new language features in 2.2/2.3/24 Python releases and rounding out the libraries.

  2. Laszlo Marai Says:


    I don’t really see the point in, as you say, using Jython for making python running ‘on a whole set of platforms’. It’s nice for rapid java prototyping and scripting, but if you only need python then just use CPython as it’s multpiplatform in itself :).

    Another reason for using Jython is to reuse some nice (OS) java library or framework that’s not there for pyhton (e.g. a decent web framework – it’s strange to see how dynamic langugaes are going to make the same mistake as java and PHP did with inline code in JSP).

  3. Kevin Dangoor Says:

    It’s not a coincidence that Jython is picking up steam. The Jython project won a grant from the Python Software Foundation to help bring it up to the 2.4 level. Python underwent some major internal change in 2.2 that hadn’t made it into Jython.

    In truth, Python is not lacking in a decent web framework. There are many of them. If anything, the lack is in documentation. Spyce, CherryPy, Quixote, Nevow, WebWare all have strengths.

    Regarding putting code in your templates: sure, it’s not a good idea in most cases. However, one of the reigning principles in dynamic languages is “trust the programmer”. If you can be trusted to use dynamic typing, you can probably be trusted to do the right thing with your templates.

    p.s. there’s no need for a 6 digit captcha. Even a 1 digit captcha will likely keep the spammers out.

  4. Jonathan Ellis Says:

    Spyce 2.0 beta was just released:

  5. Victor Says:

    I use Jython for scripting any Java API for fast propotyping. For example a Oracle or DB2 JDBC driver, I will write a code snippet fairly fast to load some csv data into Oracle or DB2 for performance testing.

  6. Tim Gilbert Says:

    Also, just as a side note, most of the python web frameworks out there allow the use of many different templating engines, and some of the more interesting ones (PyMeld, Kid, TAL) do not allow you (or at least encourage you not to) embed code in the templates. Kid lets you embed python in it, but the python blocks aren’t allowed to output anything, so ideally they function more as strict presentation-layer logic blocks.

  7. free ringtones Says:

    Hi, cool site. I really like it. 7100i blackberry nextel ringtone nextel cell phone ringtone download ringtone for nextel phone free downloadable nextel ringtone absolutely free nextel ringtone nextel forum ringtone 100 free nextel ringtone free i850 nextel ringtone free blackberry ringtone for nextel create nextel ringtone free i760 nextel ringtone free motorola and nextel ringtone how to get free nextel ringtone i836 free nextel ringtone nextel voice ringtone nextel music ringtone download nextel motorola i730 free ringtone nextel ringtone free nextel voice ringtone i836 nextel ringtone

Leave a Reply

Spam is a pain, I am sorry to have to do this to you, but can you answer the question below?

Q: What is the number before 3? (just put in the digit)