Why new programming languages succeed -- or fail

Some languages become industry favorites, while others drift into obscurity. What sets the successes apart?

Page 2 of 2

But open source benefits language designers, too. Unlike most kinds of software, compiler users are all developers, by definition. Any of them could improve the language and its tools, given the chance. Outside contributions can be especially helpful in fleshing out a language's standard library, where Java has a long head start.

This isn't to say there's no money in programming languages. Free C and C++ compilers have been around for decades, yet Intel still does good business with its high-performance optimizing compilers. But that only works for established languages. A new language that wants to win an audience today must first be freely available and completely open. The market for "professional" tools comes later.

Successful languages have a niche
Languages such as C++ and Java have become successful largely by being jacks-of-all-trades. Whatever your specialty as a developer, these languages have something to offer you.

But that's also what makes them hard to displace. We already have one Java -- do we need another? Because the inertia of these established languages is so great, new general-purpose languages seldom fare as well as those that carve out a specific niche.

For example, Perl started out as a kind of juiced-up shell-scripting tool for sys admins. Later, its rich text-processing tools made it ideal for CGI scripts, and it grew from there.

Similarly, when Ruby began it was essentially a more powerful Perl. That was fine, but Ruby didn't really take off until the Rails framework made it a hot tool for building Web applications.

C#'s niche is Windows development, like Visual Basic before it. But being a vendor-specific language only works when you have a huge installed base, as Windows does. The vendor-specific approach, by contrast, isn't delivering for Google's languages.

Of the 10 cutting-edge languages I looked at, almost all of them cater to some specific problem area. Some of them were designed for Web applications. Others tackle the thornier problems of parallel computing. Still others target the sciences. None of them aims to be a drop-in replacement for the general-purpose languages we already have.

Successful programming languages need a little bit of luck
Of course, some people say we don't need any more programming languages at all. I disagree. But it seems clear that the mainstream won't accept just any language. To be successful, a new language has to be both familiar and innovative -- and it shouldn't try to bite off more than it can chew.

As for why academia doesn't produce more languages, it may just be the nature of the beast. Stuffy, prescriptive languages tend to turn casual developers off -- take Ada, for instance. As Lopes acknowledges, the first versions of some of the most popular languages were slapped together in a month.

At least part of the formula for success seems to be pure luck, like a band getting its big break. But it also seems much easier for a language to shoot itself in the foot than to skyrocket to stardom.

Whatever the key to success may be, as long as there remain people who are passionate about programming languages (as Lopes is), new ones will keep being born. Whether they ever leave the cradle, on the other hand, is another matter.

This article, "Why new programing languages succeed -- or fail," originally appeared at InfoWorld.com. Follow the latest news in programming at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.

| 1 2 Page 2
From CIO: 8 Free Online Courses to Grow Your Tech Skills
View Comments
Join the discussion
Be the first to comment on this article. Our Commenting Policies