Kotlin Promotion


#1

In my perception there is very little buzz around Kotlin. If I look at reddit.com/r/programming there is almost never an article about Kotlin, same on Hacker News. I've never read a magazine article about Kotlin yet. There are no forum answers like "look how simple that would be in Kotlin ...". I'm not aware of a "killer framework" in Kotlin, and so on.

The JVM is dominated by Java (of course), then you hear a lot about Scala, something about Clojoure and Groovy and then there is deep silence.

The question is why and would could we do to make Kotlin more well known? I’d really whish that Kotlin become the default language for many developers on JVM.


#2

Christian,

There is definitely growth, in both adoption as well as community interest. We’re seeing more downloads, more project, more people on social media, in blog posts, on StackOverflow and in general sensing more activity. Even the IRC channel, while quite silent, does have more subscribers :).

I think that once we hit the major beta milestone and subsequently release, is where we’re hoping there will be a substantial increase in presence and promotion. Of course, we will be doing our part to promote it, but it also largely depends on people like yourself and the community to continue to use and promote the language.

This really is a team effort.


#3

Thanks for your answer.It is good to know that the Kotlin community is growing.

I’ve tried to place an article about Kotlin in a magazin, but the editor refused it :frowning: He feared that Kotlin wouldn’t be the next big thing. He is disappointed that Scala have not been the next big thing in his perception and don’t want to publish another article about a language that wouldn’t become the nex big thing. I think that this kind of measure is complete nonsense, since probably no language will ever be so popular as Java (on the JVM) and Scala is quite sucessfull. However I’ll try to contribute my part …


#4

Well, it depends on the magazine of course, but the one that publishes only "next big things" or "proven technologies" is not what I would subscribe to. It's not about if Kotlin will become the next big language, will it be more popular than Scala or if it even can challenge Java. It's more about opening up a discussion of what constitutes modern language. If you still can talk to editor about your article, I'd suggest trying to convince him that discussions like that are important for our community to evolve and invent.


#5

Also, it would be interesting to look at the article, and if all good we can publish it as a guest post in our blog or something.


#6

Independently of whatever bias I might have, I subscribe to what Ilya says. Someone that is only focusing on the next big thing is probably not the greatest. It would naive of us, them or anyone to think that there will be a single language dominating the JVM (beyond Java). That's one of the beauties of the JVM ecosystem. It truly allows for a polyglot environment.


#7

this article from the famous Jake Wharton from square (the company that brought us a lot of awesome android library that most serious Android projects use (mortar, flow, dagger, okio, okhttp, spoon, otto, retrofit, ...) explains why Kotlin is a superior solution to Java and should be used for Android app development.

RxJava has been getting a lot of buzz lately but people are starting to push Kotlin…


#8

IMO that's mostly because Kotlin doesn't need a lot of hype to be useful.

The software industry has suffered a lot from the ecosystem problem - before the JVM started to generalise, languages were not compatible with anything except C APIs and they all rolled their own toolchains, compilers, libraries and sometimes even their own IDEs. This is such a huge pile of work that everyone subconsciously understood that it was vital to join the biggest club and try to grow your club in any way possible, as only by attracting a critical mass of developers would you get the productivity boosting libraries and tools you so badly needed.

No wonder that programming language debates often have flavours of a holy war.

The JVM and .NET CLR has helped a lot to reduce this problem because now lots of quite different languages can share powerful compilers, runtimes, access Java libraries and sometimes each others libraries, and so on. You don’t tend to see Clojure vs Scala holy wars to anything like the same extent because hey, if we disagree so what? We can still share code with only a tiny fraction of the effort it once took.

Still, there is some friction. These libraries do their own collections and the interop isn’t perfect.

Kotlin is the natural extension of this trend - it focuses heavily on Java interop to the extent that the notion of a “Kotlin library” hardly makes sense: such a thing would be basically the same as a Java library, except written in a different language. If Kotlin auto-converted Bean properties into Kotlin properties the distinction would get even thinner.

What’s more JetBrains appear heavily committed to Kotlin and are using it for their own internal codebases, so there is not much chance they will abandon it because it didn’t get huge immediately - they need to maintain it if only to develop their own products.

So why bother trying to create lots of attention and hype? The utility of Kotlin is independent of the size of its developer base to a far, far greater extent than previous languages, and that’s a good thing. More Kotlin developers might mean a handful of little libraries and DSLs that add syntax sugar on top of the real Java meat … but that’s about it.


#9

I think it's safe to say that we all want to see Kotlin succeed. It's a great language, and I for one make a fuss whenever I have to go back to either Java or JavaScript. At first I was nervous about the lack of hype. I thought that if it wasn't rapidly growing JetBrains would lose interest in it. I've certainly seen good things die because they didn't catch fire. However, it is comforting, as was previously mentioned, that JetBrains, "eats their own dogfood". It also sounds like it isn't their top priority to become the popular kid on the block. So it sounds like support of Kotlin is going to be stable for the predictable future, regardless of hype. However, there are a few other reasons why popularity is important to us. The first reason I think isn't very logical, it's more emotional. It's the feeling that the things we like should be evangelized. "Why do you use a PC when you can do the exact same thing slightly differently on Mac?" The second reason is credibility. It might be hard to persuade a client to let you execute a project in Kotlin when it's something they've never heard of. I think Scala is around this 'credibility' barrier - less than 3% of programmers know Scala but most have at least heard of it. The third reason is shared knowledge. If you are working with other people, it's important that everybody speak the same language. If you are doing a large project in a language anywhere less than the top ten in popularity, you'll find that you're either tacking on a month of onboarding in order to get them to a decent velocity (not just language, but tooling, libraries and ecosystem), or you're hiring for a very poor reason in my opinion: specific language expertise.

There is also one big advantage to remaining small - agility. I was part of the Macromedia Flash community before it was bought up by Adobe. There was a time when you could give your suggestions, bug reports, and feedback and you’d see a turnaround of a few months. Flash, Dart and Java I see a turnaround of 18+ months, long after I’ve completely abandoned hope…. I’ve got a sad little mug because Adobe fixed 1 of the many dozen bug reports I filed. In contrast, I’ve been seeing Kotlin issues often being resolved in a single sprint. 100% response rate and about 70% resolved within a month!

So as long as my clients are ok with me writing things in Kotlin (for whatever reason, they seem to trust me), I hope Kotlin does stay small! :slight_smile:

-N


#10

The nice thing about Kotlin is a Java developer can read all the docs in a few hours and be productive within a few days. It packs a lot into a small surface area.

I did some promotion of my own recently when I gave a talk on (amongst other things) Kotlin, to the senior architects at a large financial services firm. They were loving it, especially the fact that it runs on Java 6 VMs :slight_smile:

The main points I hit on were how easy it is to incrementally migrate a large existing Java codebase, thanks to the binary compatibility/interop and the J2K tool. They use a mix of Java and C# and it was clear that the Java guys were wanting something like a C# for the JVM, and Kotlin is pretty close to being that. So they were very interested to see how it compares and how easy it was to use. We covered most of the non-DSL-oriented language features in a relatively quick talk and they said they were going to look into using it. I guess I’ll check back in a few months and see if anything happened.

There are a TON of large corporations out there with massive Java codebases they can’t do much with. Kotlin is probably the first language where it’s feasible to actually start using it, as you can start using the benefits immediately with no rewriting of working code required. And JetBrains is a trusted name. So, I think Kotlin will probably have a bright future in these sorts of places, even if perhaps that sort of audience doesn’t translate to excited posts on Hacker News :slight_smile: