Dynamic Languages: Not Just For Scripting Any More

21.01.2009
Scripting languages have been around pretty much since operating systems were built to stay resident-back to DOS JCL, and no I don't mean that DOS. I mean the . OS/360 JCL, Digital's various command line interpreters, UNIX shell scripts and awk all allowed more-or-less complicated programming to perform repetitive tasks. Later, scripting languages like Rexx, Tcl and Perl gave script programmers more flexibility. Still, the general assumption was that even a program that could be prototyped using a scripting language would need to be rewritten into a compiled language.

This assumption started breaking down in Web-based applications. Many important, high-capacity Web systems were built with or . At the same time, scripting languages languages like and began to violate long-held prejudices. Python and Ruby were clear, powerful, and new implementation techniques were making them increasingly efficient.

The result is that scripting languages occupy a greater and greater part of the programming landscape; the potential for high productivity overcame many objections. Still, scripting languages weren't used in two areas of programming: systems programming and commercial, installable, "shrink-wrapped" products. Now those barriers have been broken as well.

Recently, I needed to build some new semantics around the Sun ZFS file system in order to prototype some new ideas. Traditionally, I might have done this with . The existence of would simplify that. With a FUSE file system, I could write those new components in C in a user application, at least.

At about the same time, though, I ran into a lovely Mac product called . ExpanDrive allows any remote system that is accessible through or SFTP to be mounted on a Mac as if it were a native file system. It's a nice step up from most FTP tools. With ExpanDrive, I simply remotely mount one of my websites as a file system; I can copy, paste, edit and rename exactly as if it were my own local disk. This led to reading , he being one of the primary developers of ExpanDrive.

It turns out that ExpanDrive is very largely written in Python. As :