back to article Hello, Kotlin: Another programming language for JVM and JavaScript

JetBrains has released version 1.0 of Kotlin, an open source programming language for the JVM and Android. Why Kotlin? JetBrains is a developer tools company whose IntelliJ IDEA IDE has been adapted by Google for Android Studio, and the short answer seems to be that the company wanted something better than Java with which to …

  1. Deltics

    Not the first and quite late to the party ...

    RemObjects Oxygene has provided a better Java than Java for some years now.

    http://www.elementscompiler.com/elements/oxygene/language.aspx

    No doubt it is dismissed out of hand simply for being an Object Pascal dialect. Why not cover some of the features this has to offer ? Not least because as well as JVM it also supports .NET, iOS and OS X (as do it's stable siblings, Silver [Swift] and Hydrogene [C#]).

    1. Anonymous Coward
      Anonymous Coward

      Re: Not the first and quite late to the party ...

      I'd love to read more about Oxygene but there's a popup permanently in the way. Call me old fashioned, but if they want to win me over I need to be able to see the goods, so to speak.

      1. Deltics

        Re: Not the first and quite late to the party ...

        Ouch, yes that is annoying. I hadn't noticed the intrusion of the persistent overlay as my browser window is a reasonable/sensibly sized desktop browser. But I can see how it would be annoying on a mobile device and/or if your browser window is postcard sized.

        I'll mention it to the RemObjects guys. Based on previous experience I expect they'll fix it in double-quick time. :)

      2. Deltics

        Re: Content blocking pop-up fixed ...

        Just as I anticipated, once I brought the problem to their attention RemObjects fixed it in double-quick time. So feel free to go read about Oxygene without any annoying pop-up in the way. :)

    2. GeezaGaz

      Re: Not the first and quite late to the party ...

      Probably because its not open source.

      As a long time Delphi dev I've known about RemObjects for many years. Their technology is 'cool' but not really had widespread adoption.

      1. Stephen W Harris

        Re: Not the first and quite late to the party ...

        Not OpenSource, bloody expensive, and doesn't run on my platform of choice. Three strikes!

        I really should look at Lazarus again...

  2. Mike Allen
    Pint

    Scala is far more mature, as things stand

    Kotlin has a lot of similarities with Scala, which has IMHO been far a better JVM language than Java for quite some time.

    By far the best feature that Kotlin brings to the table is it's attempt to rid programming of nulls. Scala had an experimental feature (based on the NotNull marker trait) to do something similar, but it has since been deprecated due to some technical issues.

    Otherwise, Scala is currently a lot more mature than Kotlin and has many more useful features than both Kotlin and Java. As for it's ease of use, Scala does have a bit of a steep learning curve, not least of which is re-training your brain to code using functional programming principles. However, it is in many ways a simpler language than Java, yet you can still write Java-esque code in Scala if that's what you're most comfortable with.

    Otherwise, macros, implicit conversions, implicit arguments, traits/mixins, type inference, fully object-based type system (including primitives and functions), custom operators, ability to create DSLs, etc. etc. make Scala a boilerplate-free alternative to Java. No-one needs Kotlin as things stand.

    1. elkc

      Re: Scala is far more mature, as things stand

      I'm a big fan of scala but scala support on android really sucked last time I tried it out. I'm looking forward to trying out kotlin and would be glad if it somehow managed to be integrated in the android sdk out of the box.

  3. Gene Cash Silver badge
    Facepalm

    Android Studio

    Aw, yes... the IDE that takes a complete shit if you're not online. The "work offline" checkbox is apparently just a synonym for "crash during every build"

    Makes me wish Oracle could somehow force Google (and everybody else) to not use Java at all.

    1. This post has been deleted by its author

  4. Displacement Activity
    Meh

    ?

    These people need to get a dictionary and look up 'pragmatic'.

  5. jillesvangurp

    IDEs still matter

    As a long time Java developer, I find it extremely ironic that the primary tooling for developing in languages other than Java is typically a lot more primitive than what java developers are used to or indeed provided by Jetbrains and written in Java. Whether you are doing javascript, ruby, or go, Jetbrain seems to be the go to provider for a decent IDE for those languages.

    That's why Kotlin is such an important language because 1) it is developed by Jetbrains and 2) IDE support is not an afterthought unlike with most other languages that emerged in the past 15 years. Any Java shop can seamlessly start doing hybrid Kotlin/Java projects and expect things like cross language refactorings to "just work". It's essentially a better Java and unlike other languages you don't actually have to compromise on tool quality.

    The comparison with Scala is interesting. In my view scala is sort of what C++ was in the 1980s: a little bit of everything that seemed cool at the time integrated into a monstrosity of a language. Like C++ you can do cool things with it and like C++ there's an awful lot of completely unreadable code being written by people who confuse every problem out there with a nail just because they have a shiny new hammer. Kotlin is sort of the reality check that scala has needed for some time. If you are doing Android, Kotlin is a no brainer.

  6. Valerion

    Eh?

    Sounds to me like they've invented C#

  7. bigtimehustler

    "Feature in Kotlin but not in Java include Lambda expressions" - so, yet to come across Java 8 then?

  8. davemcr
    Facepalm

    Groovy!

    Why no shout out for Groovy? It's way more popular and mature than any of the JVM languages mentioned so far that have functional programming features... http://www.tiobe.com/tiobe_index?page=index. It also has many interesting related tools like Grails, Spock, Gradle etc.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like