In one experimental AmbientTalk application, two smart phones can wirelessly exchange metadata about each other’s music libraries and provide song recommendations to each user. If one user walks out of range during this synchronization process, the application won’t crash or hang. Other languages can provide this functionality as well, but with AmbientTalk, “this behavior of expecting and accepting network disruption is built into the language by default,” says Van Cutsem. “This lets you make these applications without extra programming effort.”
Kodu, a language presented by Matt MacLaurin of Microsoft’s FUSE Labs, addresses a problem on the opposite end of the spectrum: how to get young people interested in programming in the first place. “Our working theory is that programming is intrinsically fascinating and fun, like crosswords or sudoku,” says MacLaurin. “We’re trying to change the cultural perception of what programming is, starting with kids.”
Kodu is a free “visual programming language” for Xbox 360 and Windows PCs that introduces programming concepts in a video-game format. Instead of using abstractions like variables and strings in textual interface, Kodu offers a 3-D gaming backdrop populated with animated characters who can be scripted (via an Xbox game controller or a keyboard and mouse) to perform easily understandable actions–like eating apples or battling enemies. But those objects and actions all map directly to “real” programming concepts, making Kodu a complete language capable of implementing sophisticated logic. “We’ve gotten great validation from some of the language theorists at Microsoft,” MacLaurin says. “The real success is that kids can pick it up without a computer science teacher in the room, and build stuff with it that we didn’t anticipate.”
Pike, Van Cutsem, and MacLaurin all agree that specialized programming languages will become increasingly important in coming decades. But that doesn’t necessarily mean that new languages will push aside old ones to become newly dominant.
Alex Payne, a former engineer at Twitter (and now chief product and technology officer for BankSimple, a personal finance startup), who organized the Emerging Languages Camp, says that “polyglot programming” is much more likely to become the norm, with programmers becoming fluent in many different languages that are optimized for different problems. “It’s going to be a Tower of Babel from here on out,” he said. “But I don’t necessarily think that’s a bad thing.”