6 ms·
Me too. I have a JVM background for > 20 years and have been using Apache Spark for several years and while I have great respect for the engineering that has go
by andygrove 7y ago
Me too. I have a JVM background for > 20 years and have been using Apache Spark for several years and while I have great respect for the engineering that has gone into Spark, I feel that they just started out with the wrong language. GC-based languages are not ideal for large scale distributed data processing, IMHO.
- pjmlp 7y agoOnly when the said languages don't support value types, it was an error from Java, not to offer what Wirth inspired languages already had in the 90's (Oberon variants, Modula-3, Eiffel). The first EA release for value types support is out now. I firmly believe in the end tracing GC with value types and local ownership, like D, Swift and C# are pursuing will win, at least in the realm of userspace programming.
- voodootrucker 7y agoDo you know the status of value types for Java? I see they were slated to be in v10 of the JVM, and I can find discussion [0] up to a year ago about them making it into the language, but that's ass far as my googling has taken me. If Java can have struct access into native memory (without the presently complicated API [1]) that would open a lot of doors and get it to near feature parity with the CLR. [1] https://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html https://docs.oracle.com/javase/6/docs/api/java/nio/ByteBuffe... [0] https://news.ycombinator.com/item?id=14583530 https://news.ycombinator.com/item?id=14583530
- pjmlp 7y agoYes, have a look at https://mail.openjdk.java.net/pipermail/valhalla-dev/2019-July/006094.html https://mail.openjdk.java.net/pipermail/valhalla-dev/2019-Ju... And follow the links from there, including the Wiki page describing the EA release, unfortunately my submission did not gather too much uptake. It is taking all this this time because the team wants pre-value types world jars to keep running unmodified on the new world, not an easy engineering task.