6 ms·
"switch expressions", "text blocks". I haven't used Java for 15 years but it's one of the most mature languages out there. I'm surprised it's only just getting
by redact207 7y ago
"switch expressions", "text blocks". I haven't used Java for 15 years but it's one of the most mature languages out there. I'm surprised it's only just getting these pretty standard features now.
- dionian 7y agoit's always moved slow on purpose... one of the language's greatest features is backwards compatibility and stability it's purposefully dead simple. this is why many of us switched to alternative JVM langs ... Java can't keep up with the innovation other Langs have without breaking its philosophy of slowmoving/backwards compat
- jfim 7y agoTo be fair, it moved much faster after the Oracle acquisition. The Java 6 era of no changes whatsoever was slow as molasses. The joke back then was that even C++ got lambdas before Java.
- chaorace 7y agoAnonymous inner classes sucked royally. Java 7 rocked my world when it dropped!
- sigzero 7y agoThat was before and this is now. Java is adding things quite frequently now.
- riyadparvez 7y agoNot all features have to do anything with backward compatibilities. I agree with the fact that features should be added with caution cause new features can interact with existing features in a non-trivial way that will introduce lot of edge cases. But it's hard to see why a feature like text block would introduce more complexities.
- vips7L 7y agoBecause once a feature is introduced it needs to be supported for eternity, every feature has to do with backwards compat. The language designers need to make sure the features are exactly what we want and need before introducing something half baked.
- vbezhenar 7y agoThey failed few times (checked exceptions, raw types, plenty of JDK classes like Vector, Date, LinkedList and so on) yet we survived.
- devonkim 7y agoAt one point “simple” was not really a fair assessment of Java, especially if you had to do multithreaded / concurrent code back when we had broken primitives in the Java 3-5 days. It’s moving along a lot faster now thankfully but if it was going this fast 20 years ago we may not have needed Kotlin or Groovy
- vbezhenar 7y agoI guess one of the reasons was abundance of hardware platforms and operating systems back then. Threads were not very native to UNIXes. Nowadays it's basically x86_64 and ARM with Linux/Windows which are much more mature.
- thu2111 7y agoI think the issue being referred to was the lack of a rigorous memory model. But that wasn't a failing of Java. Java was one of the first to get such a model, most languages/runtimes have never even tried at all.
- Thorentis 7y agoI don't think switch expressions are pretty standard at all. Switch statements are standard, and Java has had them for a long time. Switch expressions are different in that the switch "statement" now returns a value that can be assigned to a variable.