Disclaimer: The following content expresses my own opinion and does not aim to represent circumstantiated facts.
Google, IDEA, IntelliJ, Java, Kotlin, and other names, brands, products mentioned in this post are trademarks of their respective owners.
Everybody loves Kotlin, right?
It’s the best language on the JVM! It’s as fast as Java, less verbose, it provides better null handling (because heaven forbid that we stop using them), etc, etc… A true miracle of modern software engineering!
And it’s also young, cool and if you are not using it well… you are obviously a moron!
“Why?” you ask? Well, because everyone says so, of course!
And why does everybody say so?
To give my answer to this question, let’s go back a couple of years…
I happen to work in a great environment, yet many of my coworkers – while being good fellows – are of the most conservative and rigid sort.
They have Java (and Typescript which I think I can safely call “browser java”…), Java is their shepherd and they shall not want.
When I tried to interest them in anything else, the reaction has always been: “back off, Riccardo, with all your Clojure and LISP nonsense!”.
But then they added:
“Kotlin seems interesting, though…”.
“Why?” I ask.
No conclusive answer.
They know nothing about it. They never read a book or an article about it, they never coded with it, there is not a single project they know about where Kotlin is the key factor. They just happen to “find it interesting”.
And let’s be clear, most of them never heard of Lua, Clojure, Elixir, Erlang, Haskell, or other languages before knowing me. Maybe (just maybe) they heard about Scala.
But still, they do recognize Kotlin as a potential Java replacement. They know it’s most likely a good thing.
This leads us back to the first question:
Why it seems that anybody considers Kotlin the best next thing after sex?
Here is my little conspiracy theory: keep in mind that everything that follows is pure speculation, I’m not pinning anything on anybody.
Kotlin is an IntelliJ creation, the same company that makes the (excellent) Idea IDE: that they are pushing their language on every turn is no surprise.
But then, there is also Google.
Google is all over Kotlin, with its tech evangelists oozing loads of virtual ink on it, Bukkake-style.
Did you know that Kotlin is the best language for Android development?
I’m sure Google would have let you know by now.
Care to try a new young, cool, slim language? Kotlin is the language for you: even we, at Google, use it!
How many Google developers are actually using Kotlin by the way? 50%? 107? 2? We will never know…
It would look as if Google is drinking the Kool-Aid from IntelliJ, except that Google is smart and we – the developers – are the morons who are drinking it!
I don’t know if this is really how it shook out, but If I had to put my money somewhere, I would bet that Google received Android Studio from IntelliJ almost for free.
Because Google used us suckers as a currency to pay them.
By pushing for every technology Idea puts into Google’s mouth.
Kotlin could be the best language for Android development because it’s the language provided to Google by Idea and because – I would think – Idea has also provided all the manpower for the porting Kotlin on the platform, just as I’d say they provided the manpower to put a bow on IDEA and gift it to Google as Android Studio.
Google is pervasive and ubiquitous: should Idea want to shove Kotlin down our throat, would it be so strange for it to want to have Google on its side?
Remember when I said that “it seems that anybody considers Kotlin the best thing after sex?”. Well, I think that the “anybody” I was talking about is mostly Google.
The apple of our eyes
Take the most rigid, focused, and conservative Java developer on the planet, and, no matter how indifferent he may be about other languages, you can bet IDEA or Google has slapped Kotlin on his face at least once a day.
And, I think, this is all it takes to inspire trust in otherwise rational human beings.
“If IntelliJ created IDEA which is so damn good, then Kotlin must be good as well, right?!”
“If Google that’s so big and powerful uses Kotlin, it must be that Google is big and powerful because it uses Kotlin!”
It’s as I wrote in the title: “monkey see, monkey love”.
I think I can almost hear you.
“How do you dare to compare us to monkeys, Sir! We, the developers, are not common human beings! We talk with computers! We have degrees in Physics, Mathematics, Engineering!”
This is the hubris that gets us: we think we are so special, so rational, so smart, but in the end, as humans, we have just the same cognitive biases as everybody else.
“But Riccardo” you may say “even if that may be true, in this way Google doesn’t have to develop a half-assed IDE, Idea gets the advertising it deserves and we – the developers – get great tools to work with. Aren’t we all winning? What’s the problem?“.
The problem is that the same company that created our IDE may be aggressively pushing for its (mediocre) language to replace the one we came to it for in the first place, and could be doing it without being upfront about it.
Another problem is that it may be trying to establish a monopoly and incorporate us into an ecosystem where they control all the variables.
Isn’t it funny?! We got to them because they provide the best IDE for Java around, and they could end up using it to defeat the competition and making us leave Java in the first place!
Doesn’t that bother you?
Well, maybe you are right. I’m overreacting. Don’t worry about it.
Have a glass of Kool-Aid, instead: it’s on me!