Too many recurring memories from Borland of yore with Delphi, when I see how JetBrains is trying to push Kotlin.
Too many recurring memories from Borland of yore with Delphi, when I see how JetBrains is trying to push Kotlin.
Given that you champion so many niche (and often commercial) languages/platforms with 1/1000th the devs and reach, isn't this a little contradictory?
>and as proven by Kotlin/Native, their expertise is really just making IDEs.
What exactly did "Kotlin/Native" has proven and in what way?
It compiles slower, doesn't produce machine code of the same quality and requires a separate semantic model for heap management, the reason why recently they had a blog post about having to redesign it.
EDIT: Exactly for my experience with those languages and what went wrong with their adoption is why I will never use anything that isn't a platform language on production code. Either it comes with the platform SDK or no bother.
In Kotlin's case that is Android, as long as Google doesn't do one of their reboots and decides to focus on ChromeOS or Fuchsia instead.
But even just behaviorally it doesn't pretend to be OS agnostic at all. Setting thread priorities isn't even abstracted, it's just "uses the Linux values for this" https://developer.android.com/reference/android/os/Process#s...
That doesn't prevent building an abstraction layer and plopping Android onto a different kernel, of course. After all that's what Microsoft did with WSL.
Disclaimer: I have never used Kotlin. I use Scala.
I agree with pjmlp (and I don't even work for Oracle!). I think that once Java has caught up with pattern matching syntax, data classes, fully integrated Loom and Valhalla etc there really isn't a need for Kotlin on the server-side anymore.
For Native or frontend stuff it's definitely always going to have to play catch-up and try to shoehorn wildly different semantics into the same language somehow.
So I guess it'll end up as a niche language on Android, ultimately. Not necessarily a bad place to be, though!
And this has a price. Bad language features stay, they make it difficult to introduce new stuff. Also, Java is very conservative in picking up new things. Saying "once Java has caught up" ignores that Kotlin, at that point in time, will be even further ahead of Java most likely.
And both of them will never reach feature parity with Scala. ;)
It just hasn't shown to be a race to feature parity in practice. Enough of the Kotlin and Scala user bases just really do want a better Java, often in just one or two ways.
Personally, and more controversially, I don't think Java getting pattern matching in switches or sealed classes is going to move the needle a ton. (Sorry, Brian!) It's going to be Loom and Records that really change things.
This assumes that there is much "ahead" to get and that people want more features (well, some do, but the vast majority don't seem to). If the "catching up" terminology applies at all, it certainly doesn't mean feature parity with every other language. That's like a compulsive hoarder seeing a neighbour buying a lawn-chair and saying, "nice to see you finally catching up!" Once you've "caught up" with the expectations of the majority of programmers, there's not much more catching up to do. Neither Scala nor Kotlin have broken past 5% share of the Java platform, even when Java was behind mainstream expectations.
So sure, there will always be some small percentage who like more features than the mainstream fashion, but it's been clearly shown that you can't appeal to that minority and to the mainstream majority at once. Java (the language) tries to appeal to the latter, not the former.
You have a point there - maybe the "catching up" is not relevant to the majority of the developers. I always find that surprising but I think you are right.
Also, everyone in this thread is talking about Loom and Valhalla. Are those actually going to land at some point? I was starting to assume they were vaporware.
I respect your knowledge and breadth of experience, but your biases are apparent.
Yes I don't hide what I think out of political correctness, it is up to the receivers to deal with it.
Eclipse and VSCode plugins tend to be a bit behind, and good luck for other IDEs or editors.
https://blog.jetbrains.com/kotlin/2011/08/why-jetbrains-need...
>The next thing is also fairly straightforward: we expect Kotlin to drive the sales of IntelliJ IDEA.
As for community edition, try to debug Kotlin/Native with it.
Some people have strong preferences and that's fine but for general audience I strongly advise - try JetBrains IDE for your language od choice. Try it for a month and then go back to your old tool. In my case, JB IDEs are so convenient, accurate, feature rich and just fun to use that I find going back not pleasant experience.
Objective-C and Swift runtimes are also owned by Apple.
Not the same kind of comparison.