Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Web Development

Scripting Languages: Into the Future


What do you think the hottest scripting language of 2010 will be? Perl 8? Python 2.9.9? Some Ruby derivative? Whatever Microsoft is calling "Visual Basic" that year? Or something yet to be invented?

The most likely answer is "None of the above". I think that the dominant scripting language of the near future is already with us; we just haven't realized it yet.

Its name? JavaScript.

No, really, I mean it. JavaScript has a better than even chance of elbowing everything else aside. It already has most of the features that programmers want in a scripting language, like dynamic typing, built-in regular expressions, and a (very) relaxed approach to object-oriented programming. It also has something they don't: a compelling reason to learn it, rather than something else.

That reason, of course, is that everyone who wants to do anything sophisticated on the web has to learn at least a little JavaScript. You can pick and choose among other scripting languages for data crunching, system administration, and server-side programming, but JavaScript is first and last on the list of languages you can use to make old browsers do new tricks.

Nowhere is this clearer than at colleges and universities. No matter what else they encounter in their web programming courses--Perl, Python, PHP, or Java servlets--today's students are always exposed to JavaScript. In fact, depending on what school they're at, it might be the only lightweight language they're ever required to know: every other course they do could well be in Java or C++.

My bet is that as those students go into their first jobs, they'll turn to JavaScript, rather than some other language, when they need to throw a few regular expressions together to yank some data out of a file. Most of today's programmers may never switch, but as they move into management, the younger programmers who replace them will start writing files whose names end in .js instead of .pl or .py.

If you're of a certain age, this will all sound familiar. Twenty-five years ago, Pascal and its derivatives were clearly set to dominate systems programming. C was--well, C was just this thing you had to learn if you wanted to program on UNIX, but that turned out to be enough. Having invested time and migraines in learning how to drive it, a growing number of programmers voted with their feet, and chose C's curly braces and int*'s instead of Pascal's beginUnix, ends, and ^integers.

One other factor working in JavaScript's favor is its respectability. Unlike the competition, it has been blessed by a real standards committee (the kind whose members have business cards and wear polished shoes). It's also a more visible element of hot-buzz applications like Google Maps than whatever's running on the server. While this might not matter to people who tinker with GPL'd Z80 emulators, remember--no one ever made money underestimating the power of corporate comfort levels.

JavaScript clearly isn't ready for heavy-duty general-purpose scripting right now--it doesn't have the rich libraries of its older cousins, command-line interpreters for it don't come bundled with operating systems in the way that Perl and Python interpreters do, and today's IDEs don't support it. But we've built this infrastructure several times in the past few years for other languages; doing it one more time will be pretty straightforward. And yes, Microsoft's implementation doesn't work the same way as Mozilla's, but Jython and Python are different too, and that hasn't slowed either one down.

JavaScript as the next Perl? Stranger things happen in our industry every day.

Gregory Wilson is a DDJ contributing editor. He can be contacted at [email protected].

1


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.