Thank you! ;D
OK, I’ll try a short version! Erlang is actor-model based, designed for soft real-time and distributed systems, and supports the ability to hot swap running code without stopping. Praxis CORE is also actor based (or an extension of), supports running across multiple processes / machines and allows for atomically hot swapping code. Now Java supports some limited hot swapping of code in development, and things like JRebel extend on that, but in my opinion updating the behaviour of an existing class usually ends up in problems. Instead, by using actors and throwaway classloaders, state injection, and splitting apart the idea of identity, state and behaviour it becomes possible to build an API that allows for runtime code replacement in a really stable way.
Likewise, Smalltalk is message-based, and influenced (although isn’t) the actor model. It also has really strong support for runtime introspection and coding, and image-based persistence. Praxis LIVE brings some of that in. It’s worth taking a peek at Pharo for an example of what a contemporary Smalltalk IDE can do. You also can start to get a sense of what OOP was meant to be about (hint, Java ain’t it!)
Nothing radical in any of the pieces I’m putting together there, just trying to arrange them in different ways!
Hopefully that makes some sense - check out the “technical stuff” bit of the talk from 24:55 - it has some slides that might illustrate that better.
Incidentally, the title of that talk is actually comes via a quote about Erlang - “if Java is Write Once, Run Anywhere, Erlang is Write Once, Run Forever”.