What is Python good for?
kseehof at neuralintegrator.com
Thu Sep 13 07:25:51 CEST 2001
Peter Hansen wrote:
> Ken Seehof wrote:
> > Some languages are exceptional at one thing and weak in others.
> > Other languages are more general purpose. Python is a general
> > purpose language. In fact, there really isn't any fancy trademark
> > ooh-aah feature to set python apart.
> I wonder whether Python is hands down the best "glue" language.
I think so. Let me know if you find a better one.
> I've found Python highly effective (more so than anything
> else I've tried or heard of) at:
> - calling other programs
> - text processing
> - calling DLLs (.so in *nix)
> - networking (sockets)
> - GUIs
> - automated testing
> - web stuff
> - specialized areas (e.g. numerical, XML)
> - probably half a dozen others I forget
Here's a few more:
- code generation
- alternative to embedded microlanguage interpreters
- tiny utility scripts
- huge applications
- hydroponic lobster farming
> With the vast range of Python's applicability, coupled
> with its scalability, maintainability, and productivity,
> I see Python as being very much "ooh-ahh" in terms of
> its ability to glue together all kinds of things with
> a single language and with clean results, in short order.
Oh yes, the overall effect is definitely "ooh-ahh". I was
just commenting that I haven't noticed any specific unique
python features that are "ooh-ahh".
A few weeks after I discovered Python (a few years ago),
I found win32ui and PythonWin, which very definitely made
me say "ooh-ahh", mainly because it demonstrated the ability
to seamlessly wrap a complex (and rather messy) C++ GUI
library (MFC). I was immediately able to create a Hello
World message box from the PythonWin command line!
>>> import win32ui
>>> win32ui.MessageBox("Hello World!")
I don't know if the equivalent has been done in any other
language besides python.
My next "ooh-ahh" occurred when I wanted to open
an OpenGL window in PythonWin. Apparently this
hadn't ever been done before, since the OpenGL python
wrapper had been developed on *nix (though it wrapped
a portable C++ OpenGL library). I contacted Mark
Hammond (PythonWin) and David Ascher (OpenGL).
The next morning I had received a patch and had a
seamless working solution. In fact, I simply cut-and-
pasted a C++ OpenGL spinning cube sample into my
python code (the syntax is the same since semicolons
are optional in python) and it worked!
> Does anything else come even close?
Let me know if you find anything!
More information about the Python-list