What Defines A Great Production Implementation Language?

Last night, I attended a great talk about alternate Pythons (CPython, Jython, PyPy, and so on) at our Boston Python Meetup http://meetup.bostonpython.com/events/25396721/ That got me to thinking what makes a acceptable production implementation programming language.

Throughout my programming career, I’ve learned several computer programming languages. My first learned language was Fortran IV, and first production implementation language, PL/I. Other languages like C and C++ followed, but I never made implementation decisions. I just worked at those places where those decisions had already been made.That all changed in my municipal job. I make the implementation decisions, and they can’t be flaky.

One of the best things about Python is it is a great scripting language; is, like Perl, a “Swiss Army Knife” language with “batteries included”. One of things I don’t like about Python is it is too easy to get in trouble with on-the-fly variable creation and taking advantage of implementation oddities. Python programmers aren’t the first to do this; it was done with every language I’ve ever used including assembly language.

My choice for implementing our water department’s configuration and web applications in Python and Django seems to be paying off. But what about other applications, like batch server jobs? Right now, we have a strong need for web applications.

Should they all be implemented in Django? What about PHP and JavaScript? In part, our main tax bill payment site’s database access modules are implemented in Perl, because of Perl’s rich library and strong Informix support. (Note that Python also has this support.)

Two reasons I’m learning Clojure is because it seemsĀ  — and I say this with no factual backup — that Clojure is being targeted at large multi-threaded, state management applications, along with Erlang and Scala. Oddly enough, I would be more likely right now to write a complicated program in Clojure than Python. It is a judgment call.

Advertisements

Leave a comment

Filed under python

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s