2 Reasons Why Google Wants to Acquire JetBrains
Acquiring JetBrains will solve:
1 Google’s IDE problem. Google is a “full-stack” company, like Apple and Microsoft: they have services (maps, messaging, photos, cloud storage, intelligent personal assistant), productivity apps (email, calendar), office tools (word processing, spreadsheet, presentation), browser, and OS (both for desktop and mobile).
This led all 3 companies to create APIs, programming languages, and host major developer conferences. But only Apple and Microsoft also have their own IDEs, XCode and Visual Studio. If Apple and Microsoft wants to promote a given technology, they’ll make sure it is well supported by their IDE. To be able to better compete with Microsoft and Apple, Google needs its own IDE .
Here comes the language created by JetBrains: Kotlin. It is a modern, pragmatic language, with first class support for server-side code, Android apps, and (soon) the browser . It is a language that can be accepted by most programmers, especially if it gets Google’s backing. Swift solved Apple’s language problem; Kotlin can solve Google’s language problem.
What are Google’s alternatives?
- The status quo. Aka not solving their language problem. That will hurt Google, but one should never underestimate how good the “same-as-yesterday”-algorithm is at predicting tomorrow.
- Coming up with their own language: a language developers can use to develop both Android and web apps. In theory, this is Google’s best option. But they should have started work on this years ago. Developing a language, the toolchain, the libraries, the community take time. It is now too late for this.
- Going with Scala. Getting control would involve acquiring Typesafe, which should be doable. However, I can see 2 important reasons why Google might not want to go that route. First, even with Typesafe under its belt, Google would be left with a weak IDE story . Second, while the language is one of the best around, in many ways superior to Kotlin, slow compilation and extraordinary complexity  mean Google would be fighting a very hard battle.
JetBrains engineering is done primarily in St Petersburg. This can be played in 2 ways:
- Awesome: it gives Google a major development center in Russia, the ability to recruit talents locally, and incorporate them into a well respected group.
- This is a show-stopper, given Google’s history with Russia.
Most likely, the reality is somewhere in between. I can see Google setting up JetBrains as a whole owned subsidiary, so JetBrains presence in Russia doesn’t have too much impact on the rest of Google from a legal standpoint .
What I Am Not Saying
When I first published this article, I titled it “2 Reasons Why Google Should to Acquire JetBrains”. Should, from what perspective? Google’s. I hope that changing “should” by “wants” in the title helps make this clear. But just in case it isn’t enough:
- I am not saying it is in JetBrains’ best interest to be acquired by Google, or that I’d like to see JetBrains acquired by Google. JetBrains has a history of being a strong, independent company, and this is something that I respect and appreciate. They also make a product, IntelliJ, that I’ve been using for a long time, and like a lot. I’d be disappointed to see JetBrains get acquired by Google.
- I am not saying that I would prefer Kotlin, rather than Scala, to have a better shot at becoming “the next Java” through Google’s acquisition of JetBrains. I personally prefer Scala to Kotlin, and have somewhat of a vested interest in Scala, since this is the main programming language we use at Orbeon, for server-side code, and now increasingly client-side code as well through Scala.js.
- I am not saying that Google acquiring JetBrains is likely to happen. If anything, my impression is that JetBrains isn’t interested in selling out. At all. (But of course, I can’t know. One shouldn’t underestimate the power of money. Especially the power of lots of money.)
- Google already partnered with JetBrains to produce Android Studio. This was good way for them to get to know the people at JetBrains, and see if the teams can work well together. Assuming that experiment panned out, it is now time to go to the next level.
- Internally, Google has insane amounts of code written in C++ . But I’m here talking about languages that Google sees being used by developers writing code for their platforms, and C++ isn’t part of that picture.
- Go should be seen in that context, with some at Google hopping that, going forward, Go will be able to replace C++, at least in some cases.
- The Angular team had lately been very cosy with TypeScript, but even if Google were to more adopt TypeScript, this wouldn’t change much the picture we’re drawing here.
- Typesafe does have its own “Scala IDE for Eclipse”. Compared to acquiring JetBrains, Typesafe wouldn’t give Google control over the whole IDE. Plus, my feeling is that IntelliJ is both superior to Eclipse, and a better foundation to build things on. I can see Google’s engineers cringe at the idea of having their own IDE built on top of Eclipse.
- Complexity is Scala’s curse and blessing. In fact, @eric_kolotyluk puts it well when he says: “Scala takes me to the extremes of my emotions like no other programming language” (via).
- This, maybe, is not unlike what Amazon did for a while with Lab126 in California. But I should maybe stop here, as I’m getting into topics I know absolutely nothing about.