2 ms·
Joe motivated this by the 'let it crash' philosophy. Processes are supposed to crash when something that isn't supposed to happen happens. Inside OTP, this pre
by fredrikholm 4y ago
Joe motivated this by the 'let it crash' philosophy.
Processes are supposed to crash when something that isn't supposed to happen happens. Inside OTP, this presumes that the reason for the crash was an invalid message, as processes should be black boxes that only communicate via messages (Alan Kay's definition of OOP).
Statefulness inside functions works against this goal. AFAIK, SmallTalk had similar idioms of returning new copies data to be sent to objects.
In all other languages, I agree with you. I can read and understand 100 lines of someones else's Go code faster than 20 lines of my own Clojure. I write Clojure for a living.