3 ms·
> The biggest benefit of being a single language is massive parallelism, especially if you're process/message oriented as Smalltalk or Elixir. Most modern softw
by igouy 2y ago
> The biggest benefit of being a single language is massive parallelism, especially if you're process/message oriented as Smalltalk or Elixir. Most modern software, unless really pushed (e.g., game engines) still do not use all cores available.
Ummm most Smalltalks don't use all cores available, they time-slice a single OS process, aka green threads?
(Exceptions: SmalltalkMT and VisualWorks Matrix framework https://www.cincomsmalltalk.com/main/products/foundation/matrix/ https://www.cincomsmalltalk.com/main/products/foundation/mat... .)
Also iirc Erlang originally did not take advantage of multi-core cpus or multiple processors for performance. The point of the massive parallelism was "process" isolation for high availability systems.
- e-topy 2y agoI only wanted to use Smalltalk as an example of a message oriented language. Even then, every IO and every message-based communication is non-blocking and async, therefore programs have much higher throughput (if designed correctly, the same could be said for C++, but the effort to do so is much, much lesser in languages like Elixir/Erlang than C++, and in most situation comes for free).
- igouy 2y ago>... Smalltalk ... every IO and every message-based communication is non-blocking and async Only if you explicitly make that particular IO or message send async. "When a block receives value, it waits to return until all of its expressions have been executed. For example, the following expression does not produce a value until all three clocks have been completely displayed. [EasternTime display. MountainTime display. PacificTime display] value " "When a block receives fork, it returns immediately, usually before its expressions have been executed. [EasternTime display. MountainTime display. PacificTime display] fork " page 252 "Smalltalk-80: The language and its implementation." 1983 https://rmod-files.lille.inria.fr/FreeBooks/BlueBook/Bluebook.pdf https://rmod-files.lille.inria.fr/FreeBooks/BlueBook/Blueboo... ~ Also 2019 "GildaVM: a Non-Blocking I/O Architecture for the Cog VM" https://hal.science/hal-02379275 https://hal.science/hal-02379275