Mathematica is very similar to lisp. Every concept of lisp has a counter-part in Mathematica. Symbols, atoms, read/eval/print loop, symbol properties, nested expression (sexp and Homoiconicity), macros (in M it's far more advanced, called pattern matching (but Haskell and
Ocaml's Pattern Matching
not like M, because M work on symbols, as do lisp macros)), even package system is akin to Common Lisp.

On Technical Writing of Object Oriented Programing

xah's thoughts extempore, episode №201311171455

the most idiotic tutorial idiom in OOP is using Fruits, banana, apple, analogy, or using Shapes, circle, square.

Why? because, when you read those english words, your head started to nod, but you actually understood nothing. You think you understand, but when pressed with details, you wouldn't be able to answer a f�rt.

try this. Pick a tutorial of OOP language you don't know a thing. Find the chapter on class/object. Find/replace in code examples of words like fruit/shapes to x, y, z. Now, try to read the code.

Here's my claim. Of those who read fruit/shapes, they will understand less about the lang than those who tried to read the xyz version. And this can be verified by a test. e.g. ask them to create a new class or object, decide what's the inheritance, etc.

Understanding JavaScript Object System

my JavaScript tutorial is now roughly complete. In particular, understanding JavaScript's object system. Took me 3 months to write. The major page on JavaScript object system is this: Understanding JavaScript Objects.

What Does “Formal Method” Mean?

one abuse of term in math ＆ programing is “formal”, for example, formal methods, formal proof. In practice, people meant roughly “more rigorous”. But, it has a more technical meaning: formal in “formal language”, Hilbert “formalism”, the “form” of formulas, calculational proof.

when programers mention formal methods, for example, lisper, haskeller, pythoner, please help better the world by shoving a cucumber in their mouths.

am truly impressed by David Flanagan. His JavaScript and Ruby are the best books, basically the definitive guide, as his JavaScript book title suggest. “definitive”, meaning, that if you have a question about some esoteric language detail, his book answers it. The other option is reading the incomprehensible standards documentation for language implementers.