Select your localized edition:

Close ×

More Ways to Connect

Discover one of our 28 local entrepreneurial communities »

Be the first to know as we launch in new countries and markets around the globe.

Interested in bringing MIT Technology Review to your local market?

MIT Technology ReviewMIT Technology Review - logo


Unsupported browser: Your browser does not meet modern web standards. See how it scores »

{ action.text }

Creators of two dozen new programming languages–some designed to enable powerful new Web applications and mobile devices–presented their work last week in Portland, OR. The reason for the gathering was the first Emerging Languages Camp at the O’Reilly Open Source Convention.

The designers included hobbyists eager to flex their development muscles, academics hoping to influence the next generation of computing, and researchers from corporations like Microsoft and Google who want new tools to address evolving applications and infrastructure.

In dense 20-minute presentations, designers shared details of their embryonic languages. What all the designers had in common was a desire to shed decades-old programming conventions that seem increasingly ill-suited to modern computing–a desire shared by the tech industry at large. “There’s a renaissance in language design at the moment,” says Rob Pike, an engineer at Google and codesigner of Go, a programming language being developed at the company. “And the biggest reason for it is that the existing mainstream languages just aren’t solving the problems people want solved.”

One of those problems, of great interest to large enterprises like Google as well as Facebook and Amazon, is how to manage the exploding complexity of distributed, multicore computing platforms like data centers and cloud networks. Google’s Go language was unveiled in late 2009 for this purpose as an alternative to C++, which, according to Pike, does not allow programmers to easily take advantage of modern parallel computing architecture. “C++, which is the main systems language at Google and a lot of other places, is essentially 20 years old now,” Pike says. “Many of the things we understand now about hardware and networking–and how they’re changing software design ideas–haven’t had a chance to affect the design of that language.”

On Google’s scale, Pike and his teammates found that C++ limited productivity by taking minutes or hours to compile. (Compiling is the process in which human-readable source code is batch-translated into binary “machine language” that a computer’s CPU can execute). Go reduces redundancies in the compiling process, which means that “programs can be ready to execute in a matter of seconds,” says Pike. Pike doesn’t think that Go will push aside C++ as a dominant language; “we just thought it needed some competition,” he says, but adds that Go is already being used on “real projects” internally at Google.

Another evolving area of computing concerns programs running on mobile devices linked in “ad hoc” wireless networks. AmbientTalk, an experimental language presented by Tom Van Cutsem from Vrije Universiteit Brussel in Belgium, explores a new paradigm called “ambient-oriented programming,” which departs from traditional distributed computing in two main ways. First, it does not rely on central infrastructure. Second, it assumes that network connections are volatile and unpredictable (as is usually the case with mobile devices passing in and out of range with each other). According to Van Cutsem, “AmbientTalk is smart enough to buffer messages so that when the connection drops, they’re not lost, and when the connection is restored, it sends the messages through as if nothing happened.”

43 comments. Share your thoughts »

Credit: James Duncan Davidson

Tagged: Computing, Google, Facebook, Microsoft, computing,, programming, code

Reprints and Permissions | Send feedback to the editor

From the Archives


Introducing MIT Technology Review Insider.

Already a Magazine subscriber?

You're automatically an Insider. It's easy to activate or upgrade your account.

Activate Your Account

Become an Insider

It's the new way to subscribe. Get even more of the tech news, research, and discoveries you crave.

Sign Up

Learn More

Find out why MIT Technology Review Insider is for you and explore your options.

Show Me