The Differences Between Dynamic/Scripting Languages and "Regular" Languages No Longer Matter

to Development |

If your software development experience comes from the old-style world of compiled languages, such as C++ or COBOL, you may be a little mystified by the new generations of scripting or dynamic languages. Now you have "modeling" languages to worry about, too. Do any of these names matter, when it comes down to choosing the best language to solve the programming problem? Probably not.

I'm not saying that there is no technical difference between the various language types. Absolutely, there is. It's just that, when push comes to shove—that is, when you need to answer, "Which is the right tool to solve this problem?"—the distinction is largely academic.

It used to mean a lot more. If you're an old fogey (as I am) you may need to revisit your assumptions. "Regular" programming languages were for "real" applications that would go into production. Scripting languages (starting with EXEC on the mainframe, which later became REXX) were about creating an automation process and running system commands. These evolved into shell scripts and batch languages. You could do a lot more than system commands with scripting languages, of course (Teach Yourself REXX in 21 Days, which I cowrote, included a checkers program), but writing applications wasn't their primary role. These scripting languages were (and are) dynamically typed, but that wasn't a big deal; it just contributed to their usefulness as "quick and dirty" tools.

Another side issue in the acceptance of interpreted languages may have been that they were inherently "open source." Anything you wrote was human readable rather than turned into executable code by a compiler. That openness is part of what inspired the early PC industry; you could download a BASIC program from a BBS or type in the code from a computer magazine and do something useful. But any "enterprise" application needed to be written in a compiled language to protect the company's intellectual property. (Or so the boss believed.)

As software development moved to the Internet generally and the Web specifically, it became more important for software to respond dynamically. The disadvantages of interpreted languages became irrelevant; an application server spends more time waiting for user input than responding to it. And these languages (back when we'd have said they were "emerging"—I've think they've now emerged) were all consciously open-source, with the geekiest developers quietly doing their Web-thing without the attention of anyone in the CXO hallway noticing if the software was written in company-approved .NET or Java.

Meanwhile, somewhere in there, "scripting languages" turned into "dynamic languages;" if anybody makes a technical distinction between "scripting" and "dynamic," I don't know what it is.

And then there's the question of whether a language ought to be classified as dynamic at all; that issue was raised after I wrongly called Scala a dynamic language in 6 Scripting Languages Your Developers Wish You'd Let Them Use (you can see my non-technical explanation in its comments). For Scala user Ricky Clarkson, writing in a discussion list, the distinction isn't necessarily whether the language has a type system, but if it is "an essence or a ceremony language." Apparently that mainly means whether the language requires explicit type annotations throughout; if it does, it's a ceremonious language. (Who comes up with these terms?!)

Clarkson added, "I expect that most people who say scripting language as a positive thing won't be able to define

Continue Reading

Print

Browse CIO Blogs

See all CIO Blogs »

Cloud computing has emerged as one of the most significant game changers to hit the technology landscape in the past 20 years. With this massive expansion of the cloud, the perception of the IT organization is shifting from a utility player to a change agent. This eBook breaks down five ways progressive organizations are using cloud-based IT Management solutions to help drive innovation and become more strategic, including: adding visibility and analytics, speeding up time-to-value, lowering costs, improving prioritization, and providing a blueprint for future cloud deployments.
Read the white paper to see how IBM helped Citigroup deliver new services and enhancements to their 200 million customers faster.
There are 3 ways to modernize legacy applications: rewrite completely, acquire packaged solutions or migrate existing code. This paper explains why it's best to migrate and how IBM® Rational® software can help.
Accommodating specific lines of business can result in a hybrid ecosystem of applications and servers. The resulting complexity of this architecture makes for an environment that is costly to maintain and difficult to change when addressing new challenges.
This whitepaper will help you to define a mobile device passcode policy. Security managers must attempt to reconcile two opposing goals. They must: 1) create a passcode policy that is strong enough to protect the device if it is lost or stolen, while: 2) not annoying users with needless length or complexity.
This whitepaper, authored by The Radicati Group, looks at the key reasons organizations should consider moving to a cloud-based archiving solution. Email archiving solutions enable organizations to store, monitor, and collect electronic data exchanged by their users to comply with internal policies and regulations.
ATERNITY will showcase a 30-minute demo on how Fortune 500 companies are leveraging its award-winning FPI Platform to deliver a user-centric approach to Proactive IT Management.
For businesses to move forward and tap into the ever-expanding universe of Internet users and network-enabled devices, it's critical to learn how to make the transition to IPv6. Learn the critical steps your organization must take to make a seamless transition-and keep your business world connected.
Learn how IT teams can protect against spear phishing tactics. Harry Sverdlove, chief technology officer of Bit9 offers a frank discussion about spear phishing - the most common technique used in today's advanced attacks.
Learn how to build a solid business case for your migration to Red Hat Enterprise Linux so you can run leaner, innovate faster, be more flexible and own the New Now.
Social media isn't about you; it's about everything around you. As you consider how your customers want to communicate with you, social media is something that can't be ignored. But what should your strategy be? Is social media "just another channel?" What kind of a plan makes sense for your contact center and for your customers? Join our experts as they share their insight and research results.
Hardware tokens were a popular method of strong authentication in past years but the cumbersome provisioning and distribution tasks, high support requirements and replacement costs have limited their growth. The additional log-in steps that hardware tokens require and the resulting user frustrations have limited adoption and make them impractical for larger scale partner and customer applications.

Newsletter Sign-Up »

Receive the latest news test, reviews and trends on your favorite technology topics

Choose a newsletter
  1. View all Newsletters | Privacy Policy