what is the future of kotlin.... i really want to ...
# announcements
p
what is the future of kotlin.... i really want to invest more time in this language.. buh seems like java 8 is a threat
👍 1
🤨 6
k
Are you talking about streams?
p
I took today to read about discussions on kotlin.. esp vs scala, and there is alot about it not being inspired. I honestly do like the language, very expressive and feels less verbose like java(6) But then java 8 syntax are looking easier,
s
Kotlin is not only about streams and lambdas. I don't like java lambdas nearly as much as kotlins take on it
g
Java 8 syntax looks easier? What do you mean?
Less verbose
Even java 11 with local type inference is much more verbose than Kotlin
💯 2
k
The properties and data classes make such a big difference, I recommend you try those out.
p
Kotlin has made java look so easy, almost like javascript.. i strongly hope that it will remain for years and have a lot more adoption
2
g
You may have that impression, because Java is more verbose, so you can see better what is some part of code doing. Kotlin on the other hand generates some boilerplate code for you like getter/setters, null checks, pattern matching, code for extension functions etc, so you can focus on more important things. Keep in mind, that as programmer you will spend a lots of time writing and reading code and having such things generated for you helps a lot.
👍 1
p
Kotlin is lovely no doubt.. less stressful, it prolly hasn't gotten more awareness over here in africa
👎 1
g
@paulex Just curious what is your area of interest? Backend development?
p
Backend... but i currently use kotlin on android
g
On Android I think it will be no choice very soon: almost any dev should know Java and Kotlin Good position with Android also will help with adoption on backend. Even now so big players as Spring, Vertex already provide first class support of Kotlin
s
I personally think the threat is more Android/Google, will jetbrains support new Java features ? because if so, then they'll have to make a special kotlin version for android.., (Fibers, Value Type, just to name a few new features JVM will get)
g
Why do you think that it is "threat"? We already have java 6 and java 8 APIs support, it's not something Android specific, no special version for Android, it's just support of different versions of Java. And I don't believe that in a few years Java 8 will be abandoned even on backend, so everyone have to support Java 8 and Java 11+ probably with bias to Java 8 I think it's too early to talk about fibers and value types, both of those features don't have approved design, project loom on very early stage. Also it's not clear would it be somehow better than existing Kotlin coroutines. Anyway, I think Kotlin Team has a bunch of time to concider about these features and how to use them in Kotlin
n
Kotlin adoption on server-side isn't a big issue. If anything Kotlin has greater adoption on server-side than Android (https://www.jetbrains.com/research/devecosystem-2018/kotlin/). Just to point out that most of the big Kotlin server-side announcements occurred before the Google IO announcement.
u
I when now have to write java, I feel like the 90s
🤣 1
r
It doesn’t matter whether project loom fibers are better or not. What matters to me is that the ecosystem does not diverge too much between Kotlin and Java, because one of the main selling points for Kotlin is the seamless two-way integration with Java. If Kotlin has a completely different solution to fibers/continuations than Java does, then that becomes an issue for sure. Similarily for value types, or other language-level Java features.
👍 1
So I sincerely hope that there is some investigation from the coroutines developers to see how a future would look in which there is a seamless integration between kotlin coroutines and loom fibers, even if that means breaking backwards compatibility in Kotlin. In general, I hope to see some sort of promise that the Kotlin language will adapt to new features in Java, and deprecate / change things that creates too much friction. Otherwise, I am scared of a close future where the ecosystems have diverged too much and I need to choose between a Kotlin stack or a Java stack. Today, I don’t have to worry, because every Java stack is also a Kotlin stack, and almost vice versa.
👍 2
n
Have a different view on this. It is important to maintain JVM compatibility but not at the expense of derailing the evolution of Kotlin, where the multi-platform approach to software development is a very important path to pursue (one of the keys to providing versatility in Kotlin). Since Kotlin works on multiple platforms it is important to maintain two way interop with the platforms (Native, JS, JVM) as much as possible. Some platforms are better for certain areas of software development than others (eg the C platform is more suitable for developing CLI programs, low level hardware access than the JVM). Absolutely vital that Kotlin is not tied into a single platform at the expense of accessing other platforms.
👍 1
1
g
If Kotlin has a completely different solution to fibers/continuations than Java does, then that becomes an issue for sure.
We don’t know how project Loom will look like, but we already have Quasar that one more different implementation of coroutines for JVM and it can be used with adapter together with Kotlin Coroutines and I don’t see why the same cannot work with Loom. Kotlin Coroutines is compiler feature available only for Kotlin code, so I see you point. But I wouldn’t worry so much about this particular feature
r
Ok, I’ll try not to worry 😄. By the way, they have an initial prototype out now: http://mail.openjdk.java.net/pipermail/loom-dev/2018-July/000061.html.
g
Yeah, saw it. But initial prototype of Valhalla released about 4 years ago, so it can be the same in case of Loom, I just think that we should wait and react on some real plans, not just worry about feature with unknown implementation
👍 2