4 ms·
Dart is losing with TypeScript. It seems that outside of Google almost nobody uses Dart. It'll be interesting to see how Go will cope with Kotlin/Native (in te
by dgregd 9y ago
Dart is losing with TypeScript. It seems that outside of Google almost nobody uses Dart.
It'll be interesting to see how Go will cope with Kotlin/Native (in technology preview stage right now)
Kotlin has no unsigned types (JVM language). In embedded / IoT applications that's a downside. It seems that unsigned types are the only major advantage Go has over Kotlin/Native.
- pjmlp 9y agoJava 8 got unsigned arithmetic via helper classes. https://blogs.oracle.com/darcy/unsigned-integer-arithmetic-api-now-in-jdk-8 https://blogs.oracle.com/darcy/unsigned-integer-arithmetic-a... The reason why Java didn't got unsigned types was because Gosling went around Sun R&D offices asking about unsigned arithmetic and almost everyone got it wrong. I miss them when in Java though.
- geodel 9y ago> Gosling went around Sun R&D offices asking about unsigned arithmetic and almost everyone got it wrong. Maybe R&D would be busy making cool demos of futuristic technology which could beat Microsoft's cool demos.
- pjmlp 9y agoI know you are trolling, but although Sun was good at engineering in general, desktop programming and language design weren't certainly their stronger skills. They killed the only innovative desktop they had, NeWS. And although Swing is quite powerful, the default configuration certainly isn't. They also removed resources from JOGL, Java3D and JDI. Also given the existance of so many Wirth influenced languages with AOT compilation to native code, at the time Java was released, I never understood why they were so religiously against AOT toolchains. There is even a paper from Sun Research about writing Solaris drivers in Java, but instead of compiling AOT to native code, they ported the JVM into kernel space. I wonder what would have they done if the partnership with NeXT regarding OpenSTEP had actually gone forward, instead of being the inspiration to Java.
- mike_hearn 9y agoJava was originally designed to run on set top boxes that had a wide variety of chips in them, and which loaded code on the fly from disks or over the air transmissions I think. Such boxes may not have even had much in the way of persistent storage, so I can see how they ended up with that design. Then they started down the speculative opts-with-deopt route and I guess the rest is history. Java 9 does have an AOT compiler, at least for Linux (they're using the platform native DLL formats unfortunately so the AOT compiler tool has to be manually ported to each platform). Unfortunately it isn't just saving the compiled hotspots. They compile everything without speculative opts and then you can make it re-JIT on the fly from native->native.
- pjmlp 9y agoEiffel, Oberon and LISP are three examples of programming languages whose toolchains offered JIT and AOT compilation models depending on the use case being targeted, all of them before Java was even a thought. I am fully aware of Java 9 AOT compiler, including the facts that not only it is just for x64 Linux, it just supports compiling the java.base module and the result isn't distributable. However all commercial third party JDKs that didn't suffer from Sun's dogmatic war against AOT compilation, do support fully compiling Java into native code ahead of time. Sure Java 10 is supposed to make everything better, including supporting value types, which the above mentioned languages also supported by the time Java was designed, yet that is something that is still like 5 years away or even more.
- vram22 9y ago>There is even a paper from Sun Research about writing Solaris drivers in Java, but instead of compiling AOT to native code, they ported the JVM into kernel space. Interesting. Intuitively, does not seem like such a good idea. On the other hand, there was (and I think still is) this company called Esmertec that was doing embedded Java stuff (from around 2001). And IIRC there was Jikes, which I think was a compiler for Java from IBM. Also saw your comment below about third-party JDKS with AOT compilation.
- 9y ago
- 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.
- danellis 9y ago> Dart is losing with TypeScript. I switched my current project from Dart to TypeScript. I think Dart is the better language, with a decent standard library, but getting interop working for various JavaScript languages was just sucking up too much time. I'd love to have used Scala.js, especially since the rest of the project is written in Scala, but again, interop issues.