KotlinConf 2019: What's New in Java 19: The end of Kotlin? by Jake Wharton

  • Published on Dec 17, 2019
  • Recording brought to you by American Express. americanexpress.io/kotlin-jobs
    Kotlin's introduction was a breath of fresh air at a time when the pace of innovation in Java felt glacial. Since that time, development of Java has rapidly increased with an emphasis on fixing the pain points of the language and the efficiency of data representation in the VM. Will Kotlin still have a place in the JVM language ecosystem in a few years?

    This talk will compare and contrast how the two languages approach solving the same problems of today's Java. We'll look at data-carrying types, asynchronous programming, nullability, and more. For some of these, we'll also see how one language sometimes influenced the other. Finally, we'll peer a few years into the future to see where both languages are headed and determine whether we still need a Kotlin (spoiler: we probably do!).

    KotlinConf website: jb.gg/fyaze5
    KotlinConf on Twitter: kotlinconf

    Kotlin website: jb.gg/pxrsn6
    Kotlin blog: jb.gg/7uc7ow
    Kotlin on Twitter: kotlin


    About the Presenter:
    Android engineer at Google working on Kotlin things.

Comments • 246

  • Brent Mifsud
    Brent Mifsud 2 years ago +447

    By the time java 19 comes out companies might actually be on java 11.

  • zhou7yuan
    zhou7yuan 2 years ago +155

    Variable Type Inference (Java 10) [

  • KangoV
    KangoV  +3

    Java inline types and virtual threads will provide an insane performance boost allowing the CPU to avoid massive amounts of cache misses. When this is combined with the Vector API it'll be huge for SIMD processing.

  • Rudolf de Grijs
    Rudolf de Grijs 2 years ago +23

    Another interesting competitor, which is not mentioned, is C#. Lately I'm focusing on C# and I see those features also implemented in C#. The way that Java implements 'smart casting'is the same as in C# (and it is already available). Coincidence? I don't think so. C# 8 also implemented nullable types, just like in Kotlin. I'm pretty sure that Oracle is also watching Microsoft's endeavors.

  • Paul Scarrone
    Paul Scarrone 2 years ago +13

    I really appreciate the example and comparison of destructuring. It's interesting to see some discourse over positional attributes and changes management.

  • Kye Yeung
    Kye Yeung Year ago

    I very much enjoyed this talk. Clear, considered and unbiased comparison. Nice one.

  • Shoaib Ahmad
    Shoaib Ahmad 2 years ago +159

    Congratulate us, the Android developers who are still stuck at java 8, which isn't even fully supported!! We aren't gonna let Kotlin die

  • Jeremy Chone

    Very nice balanced and informative presentation.

  • dozza92
    dozza92 2 years ago +30


  • Fr3ddeh
    Fr3ddeh 14 days ago

    Imagine live conferences being a thing again when Java 19 is released xD

  • Sachith Dickwella
    Sachith Dickwella 2 years ago +4

    Great presentation. But one question, Hasn't Java tackle 'null' with 'Optional' in Java 8 already?

  • Jim Morrison
    Jim Morrison 2 years ago +9

    There currently seems to be an obsession with new 'language features'.

  • alpex92
    alpex92 2 years ago +10

    It's so funny to listen about some cool features and syntactic sugar which Kotlin has, and Java will recieve 3 years later, assuming that some languages (Scala for example) already have them for at least 10 years.

  • technicholy

    This is like when Apple announces a feature that Android has had for years, but theirs is better for some incrementally small reason.

  • Brandon Lamb
    Brandon Lamb 2 years ago +2

    Cool video! Learned multiple new things!

  • Alexey Lebedev
    Alexey Lebedev Year ago

    During the whole video I was thinking: but Java won't have nullability! And yes, in the end Jake said it.

  • Skiamakhos
    Skiamakhos Year ago +12

    The only Java version numbers that truly matter though are the LTS (Long Term Support) versions. So, Java 11, right now.

  • Ferran Maylinch
    Ferran Maylinch 2 years ago +3

    Mmm, I didn't see properties, right? I mean getting rid of getters and setters in normal classes. Also, I hope Java does something to be able to use future features on previous versions, like Babel does for JavaScript. (I saw a similar tool, now I can't remember its name, but it was very beta).

  • mike w
    mike w 2 years ago +33

    I think it's quite important that with Kotlin, you can clearly see variable definitions, and they line up. Makes reading the code easier.

  • Jeffrey Blattman
    Jeffrey Blattman Year ago +3

    When you actually have to write and maintain real code for a living you don't want rapid change.