PyOpinion: Does Python Programming Marginalize You?

Richard P. Muller rpm at wag.caltech.edu
Tue Jun 6 12:32:24 EDT 2000


Does Programming in Python Marginalize You?

I love Python. Of the 10-15 programming languages I know, Python is
the only language which I actually look forward to using. I wake up in
the morning, ask myself, "Will I be using Python today?" and if the
answer is "yes" I know that it's going to be a good day.

And yet, I worry that using Python marginalizes one. Python is hard to
beat for writing applications that run on a single computer. But
that's yesterday's computing model. The future of computing, heck, the
present of computing, is in writing programs that run through a web
browser. And the fact of the matter is that 99% of web browsers
surfing the internet run Java and JavaScript, which gives these
languages a huge advantage over Python, an advantage that Python's
superior design may not be able to overcome. I have Ada-programming
friends who mumble about Ada's superiority over C++; that may be the
case, but does it really matter anymore?

I'm aware of CGI scripting with Python. It's great. But JavaScript
pages load faster than CGI pages, and are easier to program, to
boot. Plus, JavaScript can directly call Java Applet methods, enabling
it to do functions that are simply impossible with CGI scripts.

I'm also aware of the JPython module, which promises to enable
us to write applets in Python instead of Java. But who among us has
actually *used* JPython? Or, for that matter, who has come across a
random web page on the net that uses JPython applets? 

Do I recommend that students today learn Python? Certainly, because
it's easy, fun, it teaches one good OO habits, and it's incredibly
powerful. But I also recommend that students learn C/C++ for speed (I
no longer recommend Fortran), and Java and/or JavaScript for web
programming. Heck, I also recommend that they learn Perl, since so
many other people know Perl. That leaves a significant niche for
Python, but only a niche, and Python is too good a language to be a
mere niche player.

If we don't want to see Python wind up like Ada, what should we do?
I've been teaching a 6-lecture short-course on Python here at Caltech,
in an effort to introduce more people to the language. I'm thinking
about learning enough JPython to give an additional lecture on that
language. Hopefully, if enough people use JPython for writing Applets
we can help establish it as a reasonable alternative to Java. As for
JavaScript, I don't know of a solution. It would have been nice if
Netscape had implemented Python's syntax for LiveConnect rather than
Java, but it didn't happen that way. Think how wonderful it would have
been to write PythonScript functions in web pages rather than
JavaScript.

What else should we be doing to make Python *the* programming language
rather than *a* programming language?

Rick



More information about the Python-list mailing list