Stop saying "script"
The magazine at right epitomizes the Fear, Uncertainty and Doubt about dynamic languages. Take a look at how it calls Ruby a "scripting tool". Imagine! A mere scripting language that can help test a "real" language like Java or C++!
Dynamic languages like Perl, Python and Ruby have gotten short shrift under the banner of "scripting language" for long enough! It's time to throw off our chains of oppressive language and get some of the respect we deserve!
Perl is an incredibly powerful language, and not just for scripting. Sure, Perl can do things like search-and-replace in all files from the command line:
perl -pi -e's/this/that/g' *
But Perl's awesome power in shell scripting doesn't mean that it's a mere scripting language.
Perl is a programming language!
Perl is compiled like Java and C++. It's just compiled a lot faster!
Perl has objects and namespaces and closures.
Perl has IDEs and debuggers and profilers.
Perl has training and support and community.
Perl is not just web. Perl is not just sysadmin. Perl is not just the duct tape of the Internet.
Consider Mark-Jason Dominus' excellent Higher Order Perl:
- Higher-Order Perl is about functional programming techniques in Perl. It's about how to write functions that can modify and manufacture other functions.
- Why would you want to do that? Because that way your code is more flexible and more reusable. Instead of writing ten similar functions, you write a general pattern or framework that can generate the functions you want; then you generate just the functions you need according to the pattern. The program doesn't need to know in advance which functions are necessary; it can generate them as needed. Instead of writing the complete program yourself, you get the computer to write it for you.
"You get the computer to write it for you"? Does that sound like something a mere scripting language can achieve? Will we ever see the day when Higher Order Korn Shell is published? I think not!
Words have power. Words shape how we think about the world around us.
When you refer to a Perl program as a "script", you help reinforce the idea that Perl is just a scripting language. It hurts Perl, it hurts Python, it hurts Ruby, it hurts all the other real programming languages out there that are incredibly powerful and yet are seen as mere scripting languages.
Stop saying "script"! Start saying "program"!
Don't call Perl a "scripting language", call it a "dynamic language"!
Some day we shall overcome this perception, but only with YOUR help.
(See also: my lightning talk on the subject: http://www.youtube.com/watch?v=G1ynTV_E-5s it starts at about 5:30)