by Tim Kridel

New Programming Languages to Watch

Programming ultimately is about building a better mousetrap, and sometimes that includes the programming languages themselves. Today, there are at least a dozen up-and-coming languages vying to become the next C++ or Java.

Should you care? The definitive answer: It depends.

One big factor is whether an emerging language stands a chance of building a following among developers, vendors and the rest of the IT industry, or whether it's doomed to be a historical footnote. That's always tough to predict, but a newcomer stands a better chance when its creator is a major IT player, such as Google, which created Dart as a replacement for JavaScript.

"For any language that hopes to play a similar role to JavaScript, such as Dart, some level of support would have to come from browser vendors," says Al Hilwa, applications development software program director at IDC, an analyst firm. "Google would have to come up with a plug-in for each browser that compiles to JavaScript, and some browsers may block that for one reason or another."

The role of a major vendor isn't limited to creating the language itself. In some cases, the vendor can be influential when it creates an ecosystem and then encourages use of a certain language.

"For example, Microsoft pushed C# hard when it launched .NET a decade ago, which resulted in great traction for that language," says Hilwa. "The Microsoft developer system is somewhat unique in that, up to this point, Microsoft has huge credibility in moving the ecosystem with its actions given its dominance in personal computing. But even then, many languages are made available to please specific factions of developers, and not necessarily because they are expected to dominate. I would put F# in this category."

When a particular language is able to build market share, it's often at the expense of an incumbent -- hence the better mousetrap analogy. Time will tell whether that's the case with Dart and JavaScript.

"JavaScript is much maligned, though it's often used primarily as a syntax approach for all manner of different specific semantic implementations," says Hilwa. "Browsers purport to support JavaScript but have great variations. Other server technologies use the JavaScript syntax but solve different types of problems, such as Node for asynchronous server computing."

Emerging languages also have to overcome the fact that incumbency often has its privileges -- or at least an installed base of products and people that are unwilling or unable to change.

"The issue with launching new languages to replace old and potentially inferior ones is the body of code written and the mass of developers who have vested skills," says Hilwa. "It's very hard to create a shift in the industry due to these effects. Such a change requires a high level of industry consensus and a sustained multivendor push that involves the key influential vendors.

"For example, if IBM was to put its power behind Dart, then that might help it. It may be hard for Google to muster up such long-term commitment given its culture of focus on the hot and new."

Coding in Dart, F# and Fantom

Here's an overview of three emerging languages that, at this point, seem to have enough market momentum that enterprises should keep an eye on them:


Dart is a class-based language that's supposed to make it easier to develop, debug and maintain Web applications, particularly large and thus unwieldy ones. It also uses syntax similar to that of JavaScript, which should be helpful for learning Dart. Dart's creators say one goal is to make the language applicable for all devices that use the Web, including smartphones, tablets and laptops, as well as all major browsers.


F# is one of the elder newcomers in the sense that Microsoft began shipping it with Visual Studio 2010. Pronounced "F sharp," it's a functional-style language that's designed to be easy to integrate with imperative languages such as C++ and Java. It also supports parallel programming, which is increasingly important as multicore processors become more common.


Fantom is designed to enable cross-platform development, spanning Java VM, .NET CLR and JavaScript in browsers. "But getting a language to run on both Java and .NET is the easy part," say its creators. "The hard part is getting portable APIs. Fantom provides a set of APIs that abstract away the Java and .NET APIs. We actually consider this one of Fantom's primary benefits, because it gives us a chance to develop a suite of system APIs that are elegant and easy to use compared to the Java and .NET counterparts." Fantom's ease of portability means that it eventually could be extended for use with Objective-C for the iPhone, LLVM or Parrot.








Programming & Coding - New Programming Languages to Watch

Article: Copyright © All rights reserved