13 ms·
> It'll be interesting to see how Go will cope with Kotlin/Native (in technology preview stage right now) What is there to cope? Go is winning in market pretty
by geodel 9y ago
> It'll be interesting to see how Go will cope with Kotlin/Native (in technology preview stage right now)
What is there to cope? Go is winning in market pretty aggressively. Kotlin native has nothing to offer over languages which were designed free of JVM / Java baggage like Go/Rust/Swift.
Also Java 9+ itself is going to offer AOT compilation for those who have to use Java and want native too.
Kotlin may be fine language and Google added a low effort support to Android. It may get more popular on Android but it
is about as old as Go but here is trend for the two in general:
https://trends.google.com/trends/explore?q=%2Fm%2F09gbxjr,Kotlin https://trends.google.com/trends/explore?q=%2Fm%2F09gbxjr,Ko...
Kotlin also lacks value types necessary for efficient memory layout and high perf/low latency GC. Build system as gradle/maven might cut for Java but Go user are used to fast/inbuilt tools like go build/run/install etc.
- coldtea 9y ago>What is there to cope? Go is winning in market pretty aggressively. On HN maybe, but in the wider world, and the enterprise, not so much (if at all). >Kotlin native has nothing to offer over languages which were designed free of JVM / Java baggage like Go/Rust/Swift. How about less complex than Rust, less associated with Apple than Swift, and better designed than Go? And with serious compatibility with Kotlin for the JVM -- which boosted by Android adoption will get quite big soon.
- geodel 9y agoIs Kotlin winning in enterprise? For e.g Scala enthusiast claiming it is taking over the world. But as I downloaded Apache Kafka last week only to notice they deprecated large amount of Scala API and replaced it with Java. Good for me though as Java developer. > How about less complex than Rust, less associated with Apple than Swift, and better designed than Go? And with serious compatibility with Kotlin for the JVM -- which boosted by Android adoption will get quite big soon. How about a language that has every feature I want and slowly every feature that everyone else wants. If it has been tried and done successfully before, I have not seen results in commercial software realm. Going by the hype of Kotlin on Android I am wondering it may end up becoming part of Daydream but without any VR.
- coldtea 9y ago>How about a language that has every feature I want and slowly every feature that everyone else wants. If it has been tried and done successfully before, I have not seen results in commercial software realm. Well, C++ and C# would be those kind of languages.
- geodel 9y agoI always wanted C# to run on linux :-). It was not possible for long time when I cared.
- ernst_klim 9y ago>Well, C++ and C# would be those kind of languages. C++ does not even have a decent ADT and pattern matching support, you have to do some really kinky stuff to implement something that would at least resemble option type.
- bostik 9y ago
- weberc2 9y ago> and better designed than Go? Not for my money. A few things Go does better than Kotlin: 1. No classes, inheritance, etc (let's dispense with the "you don't have to use it!" arguments; they don't prevent us from interacting with an ecosystem and std lib full of classes and inheritance) 2. Concurrency; Go has one model, goroutines. Goroutines != coroutines, and no worrying about whether some function blocks the thread with a sync call. 3. Real, first class value types. Easy reasoning about allocations and escape analysis, etc. 4. Tooling: most everything is simple and does the right thing by default. There is one build system to understand, and there are no build scripts to write or cargo cult. Oh, and it's fast. Kotlin has generics which are nice, but in practice I spend zero time on runtime type errors; on the other hand, reasoning about performance and tooling consume quite a lot of my time. I'm happy that it's getting generics, but it has a long way to go before it's competitive with Go for my time.
- weberc2 9y agoLast sentence should read, "I'm happy that is getting native compilation". I missed the edit window.
- chrisseaton 9y ago> Also Java 9+ itself is going to offer AOT compilation for those who have to use Java and want native too. This form of AOT doesn't free you from the JVM though. It's cached machine code but it still needs the VM to run.