Live-tooting punchlines from withoutboats'
https://without.boats/blog/references-are-like-jumps/ as I read it
References are like jumps
"Depriving the user of the ability to mutate aliased state by accident is critical to enabling the user to easily create correctly functioning systems."
"I sometimes receive the most incredulous response: there’s no way we could get anything done without mutable, aliased state! This is very similar to the response of some programmers when it was suggested that they should reduce the use of the GOTO operator in their program [...]. The incredulity does not phase me much, because this is something I know that I am right about."
"the problem with object-oriented languages is they’ve got all this implicit environment that they carry around with them. You wanted a banana but what you got was a gorilla holding the banana and the entire jungle." (actually Joe Armstrong's)
"Software development being at best protoscientific, the failure of object-oriented abstraction to achieve its goal did not stop it from becoming the dominant practice."
"Pure functional programming [..] enabled techniques like call-by-need [...] (especially useful for cool pseudo-code demonstrations of infinite functions)"
"In adopting monads, the pure functional programming community finally was able to construct practical systems in a language which prevented the problem of shared mutable state. One might imagine that this breakthrough would lead quickly to world domination of pure functional programming and monadic state and IO management. That is not what happened. There are several reasons we could posit as to why."