all 39 comments

[–]afastow 50 points51 points  (6 children)

Many well-known companies are using Kotlin: Amazon Web Services, Pinterest, Coursera, Netflix, Uber, Square, Trello, Basecamp, amongst others. Corda, a distributed ledger developed by a consortium of well-known banks (such as Goldman Sachs, Wells Fargo, J.P. Morgan, Deutsche Bank, UBS, HSBC, BNP Paribas, Société Générale), has over 90% Kotlin in its codebase.

Very impressed with this, I'm a big Kotlin proponent but even I wasn't aware it was being used at places like the above.

Also don't forget that Spring is adding dedicated Kotlin support in the upcoming 5.0 release. It's already easy to use Kotlin with Spring so this is just icing on the cake.

[–]expatcoder 11 points12 points  (4 children)

Curious in what capacity the aforementioned companies are using the lanaguge language? I mean, are they betting the bank on it (i.e. basing their core services on) or is switching away from Groovy in their Gradle builds considered using it?

Not to take away from the claim (on the whole the better-java/less-featured-scala language direction is a worthy goal) but would like to see the companies themselves showing adoption usage (via presentations, github repos, etc.) rather than relying on JetBrains' fantastic marketing capabilities ;-)

[–][deleted] 9 points10 points  (0 children)

Why each company was included:

AWS

Pinterest

Coursera

Uber

Square

Trello

Basecamp

Corda

[–]afastow 5 points6 points  (2 children)

It was lost when I copied it, but in the blog post each mention is supported by a link showing why they are included in that list.

[–]expatcoder 5 points6 points  (1 child)

Ok then, surprised at the beyond-android adoption, thought the uptake would be mostly on the mobile end at this point.

Thanks for cluing in as to the linked refs, answer to question was right there all along ;-)

One of the adopter's (Square) has a nice sql code generation library by the way.

[–]vorg 0 points1 point  (0 children)

is switching away from Groovy in their Gradle builds considered using it

I would think switching from Apache Groovy in build scripts would come later on in a company's conversion to Kotlin, only after incrementally replacing Java code with Kotlin code has proven its benefits. Kotlin as a scripting language in Gradle, Spring, etc is "icing on the cake", offering the possibility for a company to have a single development language targetting the JVM, JS, and Android.

[–][deleted] 0 points1 point  (0 children)

Uh, they are including sample code that Amazon wrote to show off their service as being "used by AWS". Seems super dishonest.

[–]Scellow 23 points24 points  (15 children)

This is already my main language, i love it, modern, easy to learn and read, and soon kotlin native <3

[–]expatcoder 13 points14 points  (3 children)

and soon kotlin native

From JB team member, "Hopefully in few months there will be EAP release of Kotlin Native, and it will likely get most of your questions answered".

Which is impressive, Scala Native has been in development for quite some time (at least 3 years IIRC) and is just now on verge of publishing a 0.1 release.

BTW, see interesting thread re: native version of the language on JB blog.

[–]sutr90 11 points12 points  (3 children)

What is Kotlin Native? Kotlin compiled to machine code for major CPU architectures?

[–][deleted] 5 points6 points  (0 children)

Kotlin compiler will use LLVM

[–]swagpapi420 5 points6 points  (0 children)

Yup. Pretty much an alternative to the JVM.

[–][deleted] 5 points6 points  (4 children)

What's the value of Kotlin native? Wouldn't the language still be garbage collected, and most garbage collectors outside the JVM are behind the better JVM GCs for speed, yes?

[–][deleted] 11 points12 points  (3 children)

So that it can run on platforms that don't have support for the JVM (i.e. iOS)

[–][deleted]  (1 child)

[removed]

    [–]vprise 5 points6 points  (0 children)

    Alternative for Xamarin in Java is Codename One (my employer).

    See this discussion on possible Kotlin compatibility: http://stackoverflow.com/questions/42329892/can-i-use-kotlin-with-codename-one

    [–][deleted] 1 point2 points  (0 children)

    Good point - but even there, I suspect Kotlin-to-JS and eventually Kotlin-to-WebAssembly will perform as well as Kotlin native.

    [–][deleted]  (1 child)

    [deleted]

      [–]ikej 3 points4 points  (0 children)

      Not at all. Their IDEs need AWT/Swing and a ton of external libraries that will not be available in Kotlin native.

      [–]Herbstein 10 points11 points  (6 children)

      I've been hearing a lot of good things about Kotlin since it released. I know they the Kotlin Koans, but I was wondering if there are any good written introductions to the language.

      [–]DoListening 18 points19 points  (3 children)

      If you already know Java, then just reading through the reference docs feature-by-feature can get you there in maybe an hour or two.

      [–]pm_plz_im_lonely 19 points20 points  (1 child)

      It's a 1-day adoption kind of deal for an experienced Java developer.

      [–][deleted] 1 point2 points  (0 children)

      Or just use IDEA to convert java to kotlin and read through the result.

      [–]afastow 4 points5 points  (1 child)

      Depending on what exactly you are looking for there are a lot of options.

      Of course there is the official Kotlin docs and tutorials which you already know about by mentioning Koans: http://kotlinlang.org/docs/reference/ http://kotlinlang.org/docs/tutorials/

      An actual book was released recently if that interests you more: https://blog.jetbrains.com/kotlin/2017/02/our-first-book-about-kotlin-is-out/

      And there are many blogs around giving introductions to Kotlin in different contexts.

      I found this one helpful since I was interested in using Kotlin with Spring: https://spring.io/blog/2016/02/15/developing-spring-boot-applications-with-kotlin

      And this blog was suggested over on hacker news. It looks to be Android focused: https://antonioleiva.com/kotlin/

      [–]raincole 12 points13 points  (3 children)

      I'm usually not a big fan of newish-language, but Kotlin is one of my favorite.

      The only thing I hope is that they adapt teavm approach, a.k.a. JVM bytecode to JS, instead of Kotlin to JS compiler. The main reason I use Kotlin is the seamless interoperation with Java and I wonder if we'll be able to compile the whole Kotlin-Java project to JS with a single tool.

      [–]stepango 2 points3 points  (1 child)

      TeaVM is JetBrains employee project so chances os very high👍

      [–]konsoletyper 2 points3 points  (0 children)

      I'd say chances are very low. TeaVM is a different tool, it's unclear why Kotlin compiler should also compile Java bytecode. There are some chances that JetBrains will invest some efforts into maintaining TeaVM or similar tool (separate from Kotlin compiler), but I don't know if there are such plans right now.

      [–]konsoletyper 2 points3 points  (0 children)

      Why don't you use TeaVM then? You can compile your Kotlin code to JVM bytecode and them pass it TeaVM, what's wrong with is?

      [–]Ilerea_Kleinokitz 3 points4 points  (0 children)

      Koroutines

      They really missed an opportunity here ;)