The term "scripting language" is a pretty misunderstood one these
days. I hold the opinion that what it is supposed to mean can, today,
apply to any language. C, even, is a scripting language. All any of
our software today is doing is calling out to some other component
and simply acting as a "script" for what these other parts should do.
In that respect, what does it matter what language you're controlling
the exact same libraries from? Well, now what matters is how easily
that language makes it to do so.
Selling other developers to new languages can be difficult. There is
a lot of stigma to taking steps outside what they think of as the
norm. Showing them what you can do in a "scripting language" is the
first step. Remind them that Python is a bytecode compiled language
over a virtual machine, just like the Java you're already using.
On Dec 11, 2007, at 7:24 PM, Ron Provost wrote:
OK, I don't mean to start any sort of war or flaming or anything
here but I really need to discuss this with other afficionados of
Python - I know none other than myself.
I'm a software developer. Where I work, the dominant development
language is Java with some mostly-legacy C/C++ software. In places
where I don't need to directly integrate with our Java suite of
apps, the first thing I ask is, "do you mind if I do that in
Python?" in several cases I was given approval after demonstrating
stuff I've already done (These people giving approval are generally
not very technical).
Now, I've also shown my applications (both work related and my own
projects) to other developers at work.
Some of the applications I've written are quite sophisticated. I
have software which uses pymedia to playback media files and
Tkinter/Tix apps with quite-good (infact called "very professional
looking" by a few coworkers) GUIs. Apps that process thousands of
records of data in less than a second, and an application I
developed which launches our suite of Java applications (previously
everything needed to be launched by hand with lots of command-line
parameters). Configurations (that specify which apps and which
command line parameters) can be created, edited, deleted, saved and
loaded. In addition, once the suite of applications is running, my
application continues to monitor all the processes (many of which
don't have GUIs). The application alerts the user if an app
appears to start taking over memory or %CPU (Our app suite is
extremely large and complex) and allows a user to selectively
terminate apps. It's incredibly useful and I've gotten nothing but
complements on the app.
But here's my problem, most of my coworkers, when they see my apps
and learn that they are written in Python ask questions like, "Why
would you write that in a scripting language?" Whenever I hear a
comment like that I can feel myself boiling inside. While many
call Python a scripting language, I acutally use it as a full-
fledged programming language. To me a scripting language is sort
of like a shell language where I may process output of one app,
feed it into another, etc. That is, a scripting language (by my
definition) pulls apps together. I don't use python like that (in
fact, after my suite launching app I feel subprocess is very
immature). What's so different from python generating .pyc files
and executing them from javac producing .class files which you then
run on java?
I've been in the Python world since version 2.3 final was released,
so I don't know a lot about the history of Python. Was Python
originally more like a scripting language and the "culture" of
refering to it as scripting has just stuck? I would like to see
the Python world get away from the "script" term, perhaps starting
in Python 3.x.
Ron
--
http://mail.python.org/mailman/listinfo/python-list
--
http://mail.python.org/mailman/listinfo/python-list