Sunday, October 3, 2010

Java or Python?

Python is a great programming language.

(Image from xkcd web-comic.)

































It is so simple, powerful, dynamic, and easy.
It has very good support of interacting with other C/C++ based libraries like OpenCV, VTK/ITK, R, etc.
It has a very good support for mathematical/scientific programming with its very nice Numpy and Scipy packages.

Though when it comes to developing enterprise application, how good is it?
In developing enterprise applications, we want to package the whole application as a single package.
Does Python have any good support for something like that?
It might be useful for Unix-like systems as an open-source distribution, in that the developers make a Make-script and included the other dependencies to auto-compile all of them.
But when we want to just distribute a single, ready-to-use package, how good is Python in that aspect?

And, about Cloud Computing,
and using one of the most used Cloud Computing infrastructure: Google App Engine,
we can only use pure Python or Java code to program our application for it.
Then the advantages of Python about Numpy, Scipy and all the other good support for nice interface for the other C/C++ based libraries, just go away.

Java is in contrast, pretty much self-contained.
But it's not as easy and intuitive as Python.

Now, some people say Jython might be a good option for developing for the Google App Engine, when we want to take the advantage of the both worlds: here.

So, what is the answer?
May be we're still waiting for a perfect programming language to come.
Waiting for Godot...

(Image from here.)


















But I'll update here about my decision, experience and so on about the dilema - Java or Python, especially for scientific programming and cloud computing.

No comments:

Post a Comment