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

Reply via email to