Hacker News new | ask | show | jobs
by pjmlp 440 days ago
There were lots of applications written on enterprises, hence why Gang of Four book used Smalltalk and C++, not Java as many think when bashing the book ideas.

That would come later and take the air out of Smalltalk business adoption as IBM and others pivoted away from Smalltalk into Java.

It is no coincidence that while Java has a C++ like syntax, its runtime semantics, the ways how JVM is designed and related dynamism, Eclipse, key frameworks on the ecosystem, and by extension the CLR, all trace back to Smalltalk environment.

1 comments

I don't know about the design of JVM, but as far as object model and semantics, Java looks a great deal more like Simula than it does like Smalltalk.
Java was originally designed to be Objective-C with C++ syntax.

https://cs.gmu.edu/~sean/stuff/java-objc.html

JavaEE was born out of an Objective-C framework Distributed Objects Everywhere, from OpenStep collaboration between Sun and NeXT,

https://en.wikipedia.org/wiki/Distributed_Objects_Everywhere

Already there we have the Smalltalk linage that heavily influenced Objective-C design in first place.

Then how Smalltalk => Self => Strongtalk linage ended up becoming HotSpot JIT compiler on the JVM.

https://www.strongtalk.org

Finally, reading the Smalltalk-80 implementation books from Xerox PARC also shows several touch points between the designs of both VMs.

The way classes are dynamically loaded, introspection mechanisms, code reloading capabilities, sending code across the network (RMI), jar files with metadata (aka bundles), dynamic instrumentation (JMX).