You'll find millions of apps in the Google Play store, many of them written using the powerful, stable, workhorse programming language Java. If it were a car, Java would feature a fast, reliable engine but not antilock brakes, power steering, or cup holders. Totally drivable. Not exactly a joy ride.

In May Google gave Android developers another option when it announced it would start supporting a new programming language called Kotlin, which offers most of the same basic features as Java plus the coding equivalent of seat warmers and a killer sound system. This means programmers can write safer, more reliable code with less work. That's good news for users because it should translate into apps with fewer bugs and crashes. But it's even better news for programmers, because it means spending more time working on the interesting parts of code and less on more routine matters—the things that make programming a rewarding career or hobby. "Working with it just brings a smile to your face," says Christina Lee, an Android developer at Pinterest and Kotlin enthusiast.

Companies like Pinterest, Basecamp, and Square had already been using it, but now that it has the official support of Google, you can expect to find Kotlin in more and more places. "Kotlin is what our development community has already asked for," Android product manager Stephanie Saad Cuthbertson said during the announcement of Kotlin support at Google's IO conference in May.

Works Well With Others

Although the first official release of Kotlin came only last year, the language has a history that stretches back to 2010. It was created by a Czech company called JetBrains, which makes software for programmers and project managers. But the team didn't make Kotlin to sell. They made it to solve their own development problems.

More than 70 percent of its products were built with Java, says Hadi Hariri, a developer evangelist at JetBrains, but most of the rest were written in Microsoft's C# language. The team saw a lot to like in C#, and were getting sick of some of Java's old fashioned ways. Using Java means writing out lots of code that other languages tend to handle automatically. Something as simple as printing the phrase "Hello World" can take up three lines of code in Java, but usually only takes three words in modern languages.

That means extra work, much of it fairly repetitive. And all that extra code—"verbosity" in programming lingo—makes programs more cluttered and makes it easier to make mistakes. "The biggest issue with programming languages is that when you look at some code, you've got to figure out what the code is doing," says Hariri. "It translates into a lot of noise that really isn't necessary to understand the problem it's trying to solve."

The JetBrains teams really wanted to use a more modern language, but they still had many applications written in Java that would need to be maintained. It just wasn't practical to re-write all of their existing Java applications in C# or some other language. What they needed was a language that was compatible with Java, so that they could add new features to old applications using the new language without completely rewriting the applications from scratch.

A few such options existed. Scala was gaining popularity at the time, thanks in part to its use at Twitter. But Hariri says it wasn't as fast or as simple as the JetBrains crew would have liked. "It's a very powerful language that, if misused, could end up badly," he says. Groovy and Clojure, meanwhile, employed different programming paradigms altogether.