5 ms·
I have microservices in production using both. Kotlin the language, I absolutely love. I'd put it in my top 5 languages. I don't hate Java but I've never really
by nobleach 5y ago
I have microservices in production using both. Kotlin the language, I absolutely love. I'd put it in my top 5 languages. I don't hate Java but I've never really enjoyed writing it. Even with all the cool new features, it's always felt bloated to me. I can't see that ever going away.
With that said, I really hate how tight of a hold JetBrains has on Kotlin. While you may find an outlier here or there, (someone using Eclipse/NetBeans - heck, I've even used Visual Studio Code and Vim to hack on some stuff) 99% of the people writing Kotlin are using IntelliJ. Kotlin is built to sell IntelliJ. (And the lock-in is pretty apparent) I don't begrudge a company the right to do this. I don't like it, but I have a choice whether or not to use the language.
Lastly, Kotlin feels unencumbered. One can program in a functional style like Scala. One can program in an OO style like Java. It feels "free". The sugar that it adds to Java makes my day to day a pleasure.
So consider me a fan of the language itself. I highly recommend building things with it. Am I optimistic about its future? That's really hard to say. Google's behind it at the moment, but Google's attention span rivals that of a fruit fly.
- blacktriangle 5y agoThe Google question really can't be ignored, to the point where "Should I use Java or Kotlin on Android?" and "Should I use Java or Kotlin for <any other use of the JVM>?" are two totally different questions.
- nobleach 5y agoI agree. Using Kotlin with Spring Boot and Micronaut are no-brainers for me. The Kotlin support for both projects is fantastic. I do feel that if Google pulled the plug and started putting their emphasis on DartVM for Android projects (or something like that), we'd see a reduction in Kotlin adoption in other areas though.
- throwaway3699 5y agoFWIW, Dart and Kotlin are being pushed by two completely different parts of Google. It's safe to say that Kotlin is the future on Android.
- falcolas 5y ago> Google's behind it at the moment, but Google's attention span rivals that of a fruit fly. Dart enters the chat, sobbing quietly.
- johnnycerberus 5y agoyou can hear Dart's heavy breath in the back of your neck
- mhoad 5y agoI wouldn't mistake popularity with attention. Dart is actually super actively developed and I am still saying in the year 2021 that it is going to become a very big deal once Fuschia drops which could be as early as this week at I/O. https://github.com/dart-lang/sdk/graphs/commit-activity https://github.com/dart-lang/sdk/graphs/commit-activity
- sorokod 5y agoI sometimes think that Kotlin as it is, could not exist without Intellij.
- bmc7505 5y agoKotlin also works with Vim [1], Eclipse [2] and the Language Server Protocol [3]. [1]: https://github.com/udalov/kotlin-vim https://github.com/udalov/kotlin-vim [2]: https://github.com/JetBrains/kotlin-eclipse https://github.com/JetBrains/kotlin-eclipse [3]: https://github.com/fwcd/kotlin-language-server https://github.com/fwcd/kotlin-language-server
- vips7L 5y agoIIRC kotlin-eclipse is always behind and the kotlin LSP repo's readme basically says that it's unmaintained.
- bmc7505 5y agoBoth look pretty well maintained to me. Just like any other language (including Java), there are tools which are more or less active depending where users are concentrated. Most JVM developers I know prefer the IntelliJ Platform, so it's not surprising to me that's where most of the development effort is concentrated. Still, developers have their choice.
- sorokod 5y agoI am sure you could code Kotlin in Nano too. The experience would not be great though. Looking at [1] I see: "Feature Request: Highlight Function Names"
- bmc7505 5y agoThe same could be said about Java or any other statically typed programming language in a text editor for that matter. Neither Vim nor Nano are intended as standalone IDEs, so it makes sense the UI is less complete. Despite their rudimentary features, many developers still prefer text editors for their low latency and wide availability across most shell environments. This is no different in Kotlin. If you want richer features like completion, refactoring and static analysis, use an IDE.
- deleted 5y ago[deleted]
- brundolf 5y ago> And the lock-in is pretty apparent Can you give examples? Are there licensing constraints, or is it just that they do most of the development, documentation, planning, etc internally?
- nobleach 5y agoOne needs to simply go to the support forums and ask about support for any other text editor. While there is an Eclipse plugin, it's a pretty horrible experience I understand. I'm a Vim user for pretty much everything I do, there's no chance I'm getting a decent Kotlin experience. Java's not too bad these days. I'll admit, IntelliJ is awesome for both Java and Kotlin... I just don't want to pay for the privilege of writing enterprise Kotlin.
- brundolf 5y agoWhat I'm asking is: does something stand in the way of the community building a decent Kotlin experience for Eclipse or Vim (a language server perhaps)? Or is there just a lack of will?
- thu2111 5y agoThere's no actual lockin, it's just that JetBrains put a lot of resources into the IntelliJ plugin and the quality of that plugin is a large part of Kotlin's value. You can easily write Kotlin in any other editor of course, but the experience won't be as good. JB have a team of over 70 people I think working on Kotlin as this point, and the IDE plugin shares the compiler infrastructure, so they improve together. If you were trying to write a competitive plugin it'd be a lot of work. Of course, if your editor was written in Java you could also re-use the compiler infrastructure in the same way they do. Their planning is half internal/half external. There are public specs that get feedback for all language upgrades. How JB choose to prioritise is up to them, of course.
- ta988 5y agoThe problem if you want to write your own plugin is that the compiler interface is really brittle and not documented properly, so thats going to be a maintenance nightmare.