Kotlin census: call to action


Many times we’re asked by people working with or planning to work with Kotlin, what our adoption rate is and who’s using Kotlin and what for.

While we do accept pull requests and run into an occasional tweet we would really like to know first-hand from you, whether you’re using Kotlin in production and if so, how, and what issues you have faced. This not only helps us answer the question when someone asks about our adoption, but learn more about our community. With close to 4000 people on our Kotlin Slack alone, it’s hard to keep track of every piece of feedback!

As such, we’re asking you if you could kindly give us two minutes of your time and fill out the following survey. Please note that by providing us your details, you are not automatically giving us consent to use your name, application or company name. We would ask for written confirmation from you before doing so.

Thank you!

This entry was posted in Uncategorized. Bookmark the permalink.

13 Responses to Kotlin census: call to action

  1. Only issue we’ve faced so far is that we’re not able to run the build with Maven in parallel, and that is a big problem because of the size of our codebase… Please make the Kotlin compiler support parallel compilation!

  2. Arthur Embleton says:

    If you can’t see the survey, then switch off your adblocker.

  3. Grdykoplas says:

    So where’s the survey?

  4. Jørund Vier Skriubakken says:

    Since, the survey did not ask about issues faced. I would like to make a comment about it here.

    But first I can mention what we use Kotlin for. In my previous job (www.enonic.com) we successfully implemented a rich web UI (one page request only) using Typescript. In my current job I got the task of making a rich UI again. Tired of waiting for the slow progress of Typescript I was eager to use Kotlin which, already from pre 1.0 versions was very promising.

    We have now been developing a rich web (Javascript) UI using Kotlin since spring 2015 and it’s been in production since this summer. The web application is one page request app, where all the content (dom elements) is generated by the Javascript/Kotlin code. Developing such an application using Kotlin has been a great pleasure!

    Even though Kotlin help us greatly in keeping most of the NPEs away and makes it easy to apply a strict coding style – what we’ve missed the most is the ability to unit-test our Kotlin JS code. So, a good guide (or missing features) on how to test our Kotlin JS code is highly appreciated.

    At the same time as creating our UI application, we also created our own in-house Kotlin JS UI framework. Something similar to Yested, but without using external libs like Bootstrap or JQuery. We also made DSL for laying out DOM-elements easily, but since we are making a rich component UI application, the DSL-way has not been handy for anything else but static HTML (like rich help and tooltip messages). However we have used a few third party libs, which was not too hard to use from Kotlin: Bluebird promises, Craig’s Mousetrap, Font Awesome icons. Using Bluebird promises has been a fine solution for avoiding callback hell in our application. However JS promises way of piping the result of chained promises upward does not seem to fit nicely into the Kotlin way of coding. So I look forward to the upcoming coroutines feature of Kotlin, so that we can hopefully some day replace the Bluebird promise code.

    A highly missed Kotlin JS feature is – a bit of reflection. So I really look forward to the upcoming “reflection light” support in Kotlin JS.

    At last, the most annoying issue in our daily programming is that importing classes from another Kotlin JS module residing in another IDEA project is not working. So we have to manually write the import statements when using classes from our ui framework. Isi it a missing IDEA Kotlin future, or might it be a wrong setup from us? Both projects is setup using Maven. It’a like IDEA is not able to lookup full class name when the class is only available through the maven dependency.

    Again, thanks for making such nice language!

    I look forward to see more Kotlin JS features, guides and features (IDEA/plugin) that makes it a bit less cumbersome to write Kotlin JS apps.

    Jørund

  5. César Andrés Arcila Buitrago says:

    I think Kotlin is cool and great. I just use it for backend but now I prefer Kotlin over java, and I think that If Kotlin works for iOS without RoboVM, Swift will be nervous.

  6. Zalim Bashorov says:

    Hello, Jørund!

    Thank You for your feedback!

    Yes, unfortunately, unit-testing poorly covered feature now, but we going to fix it.
    Right now You can have test source root with JUnit like tests. And it will be work well with QUnit.
    Related issues:
    https://youtrack.jetbrains.com/issue/KT-13774
    https://youtrack.jetbrains.com/issue/KT-6627

    DSL for HTML

    Did you see https://github.com/Kotlin/kotlinx.html ?

    Coroutines feature of Kotlin

    Related issue: https://youtrack.jetbrains.com/issue/KT-13574

    Reflection

    Since 1.0.4-eap-83 you can get JavaScript constructor function using jsClass function by class name (jsClass<Foo>()) and using extension property jsClass on instance (fooInst.jsClass).
    Related issues:
    https://youtrack.jetbrains.com/issue/KT-13775
    https://youtrack.jetbrains.com/issue/KT-13776

    Importing classes from another Kotlin JS module residing in another IDEA project is not working.

    Please file an issue with a simple project and/or instruction to reproduce.

    Feel free to star or vote the issues to get a notification about updates.

  7. eugene says:

    Hello,
    please, add ternary operator, i currently use 1.0.3

    • Jan Hoeve says:

      No, please don’t as the if/else expression just suits fine!

      • eugene says:

        no, please, don’t make me use if/else, just add ternary operator, please!

      • Richard Haven says:

        Ahhh! Our first religious war!

        While I dislike the use of the ternary for look-how-clever-I-am-putting-everything-on-one-line, it is useful for simple things like adding an ‘s’ if > 1.

        Jan, you don’t have to use use (just tolerate it).

        • Jan Hoeve says:

          Well, thanks for joining the war then :)

          My real point is: don’t add a feature to a language when the same behavior can already be archieved using an existing feature.
          This way new developers should be able to learn the language more quickly as there is just less to remember –> we should strive for a clean language as possible.

  8. Shawn Lu says:

    I’m an Android developer, in short Kotlin makes my life happier, there are just too many praises for this language that listing them out is actually a daunting task.
    Since it’s a survey, I want to quickly point out some need as a developer. I personally feel that the status quo of kapt doesn’t match that of Kotlin lang itself. At least in Android world, lots of open source libraries utilize Java annotation processing, and kapt may not be the stablest in the Kotlin ecosystem. Forgive me if this Github issue can’t prove my point: https://github.com/realm/realm-java/issues/3115. Luckily the concise nature of Kotlin, as well as extensions function makes traditional Java/Android library like sqlite less verbose but I still wish the day when kapt becomes mature enough and we can all use it without worrying anything.
    Again, thanks for the awesome work!

Comments are closed.