4 ms·
I don’t know if I’d celebrate Spring... and Oracle would rather Android use “real” Java, not Dalvik. The JVM was nice at the time, but I feel that languages li
by DaiPlusPlus 6y ago
I don’t know if I’d celebrate Spring... and Oracle would rather Android use “real” Java, not Dalvik.
The JVM was nice at the time, but I feel that languages like Scalia and Kotlin exist because Java was too conservative - and many of Kotlin’s great features had to be implemented using hacks and tricks to work-around the JVM’s now-primitive type-system. Also note that Kotlin can now target other platforms besides the JVM.
I think we can all agree the JVM is lagging behind the CLR, and the CLR is behind where we should be (when looking at the things that Clang is capable of)
- victor106 6y ago>I don’t know if I’d celebrate Spring I've used SpringBoot recently on several projects after being in the Rails and Django and PHP world for a long time and I must say its super great. I never could have imagined that I would praise a web framework based on Java 5 years ago. Its lightweight, super fast (compared to Rails or Django), mature (its been around more that 15 years) and very stable. It also supports Kotlin development The more I learn about the Spring eco system the more I am suprised by how much stuff it covers everything from Spring Security to Spring Batch to Spring Reactive to Spring Cloud Task. Its mind blowing how much ground it covers. Also, I hear the latest version will support Graal VM making start up times equivalent to native. I strongly suggest spending time with it for those interested.
- vbsteven 6y agoI've been beating this drum for a while. Spring has lots of legacy as it is 17 years old and has been through a series of technology waves over the years. That has both benefits and drawbacks. With Spring Boot and Kotlin support it is now a modern framework that has straightforward solutions for most current problems. Built on a solid battle tested foundation (JVM + Core Spring) Spring Boot (+ Kotlin) has been my goto stack for most problems for years now. There is a learning curve like most non-trivial software but once it clicks it's hard to go back to something else.
- pron 6y agoThat other popular Java-platform languages exist indeed shows that the Java language is too conservative for some, but that 90% use the Java language shows that its design is in line with what most people want. And the CLR is about, oh, ten-fifteen years behind OpenJDK in compilation, GC and low-overhead deep profiling and observability. OpenJDK's C2 compiler is pretty much on par with clang in terms of optimisation [1] -- ahead on some, behind on others -- and in terms of sheer innovation and potential, its Graal compiler is probably the biggest breakthrough in compilation of the decade. [1]: https://youtu.be/0yrBuPiGk8I https://youtu.be/0yrBuPiGk8I
- somethingwitty1 6y agoI would just say that usage isn't equivalent to want. I certainly can't put a number on it, but there is definitely quite a few of us that use Java because we are required to, not because it is what we want or the best tool for the job.
- DaiPlusPlus 6y agoI know the CLR’s runtime performance has room for improvement- but I’m referring to the CLR’s capabilities and “language-enabling”-feature-set.
- meddlepal 6y agoIf you say reified generics I'm going to scream. Other than that one what else does the CLR bring to the table?
- pron 6y agoIts "language-enabling" feature set sucks. Reified generics for reference types force C#'s variance model on any CLR language that wants good code and data interop, and there is no portable good lightweight concurrency primitive. Sure Java is missing some important stuff like value types and tail call elimination (I don't think the CLR has the latter, either), both being addressed, but the CLR suffers from some early decisions that are nearly impossible to fix even if MS did show it had the inclination to fix them. Overall, Java is a more compelling compilation target than .NET, and Truffle is making it so much more so.
- bosswipe 6y agoJava has become more nimble in recent years and they have been busy copying many features from Kotlin and C#.