3 ms·
I 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
by e-topy 1y ago
I 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 1y 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