I haven’t posted much recently because I am starting a new job. It is the third time I switched language. Now, I am officially a Python Developer. Hurray!
Since I have always kept myself busy by constantly picking up new computer languages, I know a dozen of odd and exotic languages. Therefore, after I landed on this job, I am surprised by some “interesting” questions about Python that people asked. And these people are no amateur. They are C or Java developers by profession.
Here are the questions:
1) What is Python?
Well, it is a dynamic scripting language. A good overview here.
To emphasize that it is a real programming language, I’d also add that Python is used very extensively within Google.
2) Isn’t Python an very old language?
Oh, this question makes me feel like I am the last Eyak speaker!
Python appeared in 1991 when the creator Guido van Rossum released it to the public. It is actually a very young language.
Let’s compare other still active languages and the time of first appearance:
Ruby – 1995
Java – 1995
Visual Basic (VB4 to VB.Net) – 1995
Lua – 1993
Perl – 1987
Erlang – 1987
C++ – 1983
C – 1972
Cobol – 1959
Fortran – 1957
The debut of Python is a rather recent event in the history of computer language chronologically.
But another meaning implied by ‘Old’ is related to the vitality or dynamism of the language. A low public profile seems to indicates there is not much going on in this language.
It is entirely a matter of perception.
To me, python never feels old. The language is continuously improving and evolving. The community is healthy and the members on the mailing list are friendly, helpful and intelligent. The language users are willing to embrace changes to make Python better.
It is in stark contrast with Java. The discussion of the Closure has highlighted the inertia of the Java language.
But don’t get me wrong: in other arena of Java eco-system, there are still a lot of energy and innovation such as OpenJDK. OpenJDK may even eventually force the hand of Microsoft to open-source their CLR. (Hopefully)
3) Is Python more powerful than Java?
Wow, it is a dangerous questions! My PC answer is: they are designed for different tasks, and each of them have their distinct advantages in the problem domain that these languages are created to serve.4) Isn’t Python dead?
Besides, everyone has their own notion of Powerfulness. We will end up comparing orange to apple.
For me, power is only one of the consideration. Python’s readability is another attractive feature. While Python cannot stop a programmer from writing cryptic code, at least it spares you the eyesore caused by bizarre programming styles that some ‘gifted’ programmers use.
The news of Python’s death is largely exaggerated.Postscript:
- I think the latest announcement of Google App Engine will make a wider audience aware of Python and how good it is.
- Lately a lot of innovation in programming languages (groovy, python and erlang for example) have an European root. Is it a sign that US has under-invested in research in both public and private sections?