I have been thinking a lot about “scripting” versus “programming”. Although it has often been subtle, there is a level of quiet discomfort between the “scripting” versus “programming” factions in some corporate development environments in which I have participated. In some instances, executive-level technology management has held scripting languages in disdain as not being “real” languages for day-to-day problem solving, which has discouraged highly talented scripters on staff from practising their craft. In such an environment, scripters are relegated to the lower ranks — they haven’t yet learned “real” programming skills.
The scripting folks need mentoring and lots of training in C++ and Java from the “real” developers to take their abilities to the next level. In the worst of these cases, the use of scripting languages is more or less banned.
On a practical level, I’ve found that two things happen in these environments: 1) many of the most talented scripters eventually become disgruntled and leave for scripting-friendly pastures, and 2) the “real” developers spend days and weeks writing Java and C++ code to solve problems that those talented Perl or Python programmers could have knocked out in a few hours. If you put the world’s most talented Java developer and the world’s best Perl programmer in a room and gave them an unstructured textual document to parse, I would put my money on the Perl programmer to finish first. When you’re going on a one-kilometre hike, you shouldn’t weigh yourself down with a full set of silverware, a saw, scissors, and an inflatable boat just in case you run into a raging river. You take a light backpack, a bottle of water, and a Swiss Army knife. That’s the mentality behind scripting — when going on a one-kilometre programming hike, the tools for climbing Everest will only weigh you down.
I agree with a colleague who says: “I’m still hoping we’ll promote scripting languages to the first-class At InfoWorld, scripting languages are not only first-class citizens, they have received my CTO Medal of Honour.