Finding and Fixing Standard Misconceptions About Program Behavior
Posted on 12 April 2024.A large number of modern languages — from Java and C# to Python and JavaScript to Racket and OCaml — share a common semantic core:
variables are lexically scoped
scope can be nested
evaluation is eager
evaluation is sequential (per “thread”)
variables are mutable, but first-order
structures (e.g., vectors/arrays and objects) are mutable, and first-class
functions can be higher-order, and close over lexical bindings
memory is managed automatically (e.g., garbage collection...
Read more at blog.brownplt.org