29 ms·
Java, and all living JITs, are hollow parodies of the Self environment.
by markhahn 1y ago
Java, and all living JITs, are hollow parodies of the Self environment.
- MangoToupe 1y agoSure, if you want Java to be like Self. If you want Java to be closer to C++ it's a lot more reasonable.
- pjmlp 1y agoJava is closer to Objective-C semantics, and by extension Smalltalk. The C++ syntax was more of a way to help adoption, however the way the runtime works, and the language feature, are from those other influences. https://cs.gmu.edu/~sean/stuff/java-objc.html https://cs.gmu.edu/~sean/stuff/java-objc.html Even basic stuff like META-INF and jars, those are basically NeXTSTEP bundles.
- MangoToupe 1y ago> Java is closer to Objective-C semantics How do you figure? It certainly doesn't use message passing. Boxing of primitives and use of interfaces/protocols strikes me as a rather shallow similarity.
- pjmlp 1y agoFirst of all you read the point of view of Java authors on the linked post. Second, yes interfaces are based on protocols. You can do dispatching via Proxy classes, reflection, or invokedynamic that came later as performance improvement. Then you have the classloaders for a similar purpose as Objective-C plugins. Java Remote Invocation, RMI, works similarly to PDO, Portable Distributed Objects. Sun collaborated with NeXT on OpenSTEP before Java came to be. Another inspiration was Distributed Objects Everywhere framework, born as Objective-C, later rewriten in Java and rebranded as the first edition of Java EE. Likewise Web Objects went from Objective-C, to dual Objective-C/Java shortly before NeXT was acquired.
- bjconlan 1y agoOr toit, which unsurprisingly has Lars Bak involved. A man with history touching all self, Jvm and v8 codebases. I wouldn't be surprised if toit primaries, Kasper or Florian also have experience in these technological intersections.