SmallTalk (or SELF): After I learned some SmallTalk I realized I had never understood the deep meaning of OOP before.
FORTH: It's the Nirvana of building abstractions in layers, starting from very simple primitives.
Tcl: a few Tcl ideas are really worth understanding. The idea of having a single data type in the whole language, and the [uplevel] command that basically provides to the language the equivalent of Lisp macros but with a trivial semantics. At implementation-level the dual-ported objects strategy is a very powerful idea that little programmers are aware of.
Javascript or SELF: it's very interesting to understand how prototype-based OOP works.
SmallTalk (or SELF): After I learned some SmallTalk I realized I had never understood the deep meaning of OOP before.
FORTH: It's the Nirvana of building abstractions in layers, starting from very simple primitives.
Tcl: a few Tcl ideas are really worth understanding. The idea of having a single data type in the whole language, and the [uplevel] command that basically provides to the language the equivalent of Lisp macros but with a trivial semantics. At implementation-level the dual-ported objects strategy is a very powerful idea that little programmers are aware of.
Javascript or SELF: it's very interesting to understand how prototype-based OOP works.