JavaScript & Ruby Books by David Flanagan, and the Man-made Complexity in Computer Language

, , …,

Am very impressed with this book. VERY.

JavaScript Definitive Guide by David Flanagan
JavaScript Definitive Guide (6th ed.) By David Flanagan. @ amazon

Normally, if you've been programing for a few years, you can quickly start to program in a new lang. You just learn the basics, types, loops, list/array, function/objects, module, then you can practically code anything you want, albeit in a non-optimal way. But, you'll have a lot questions, especially with complex languages. Questions like scope, evaluation model, and the language's overall “model”. What happens if you do xyz. Understanding these makes you a true expert in that lang. To understand a lang well, is to be able to have a sense of a mathematical model of the language.

(and almost all modern langs are quite complex, including Java, Python, Ruby. Now, JavaScript is easy to use, but it turns out it's quite complex too actually, the hairy details of its prototype inheritance. Very few languages have simple models (Mathematica, Lisp, do)) (a language with a simple model, would be one that its syntax and semantics can be specified in just a handful of rules. (see: Formal language.) 〔☛ Math Notations, Computer Languages Syntax, and the “Form” in Formalism〕)

David Flanagan drills down on the real tech detail of JavaScript language.

I've only read parts of the chapters on JavaScript Objects, and the book is really good. (i've read the book cover to cover few times now.)

Best Ruby Book

Flanagan also wrote a Ruby book. 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 language spec, typically incomprehensible and written for language implementers.

hummingbird book ruby programming language 64527
The Ruby Programming Language By David Flanagan. @ amazon

it is absolutely the best Ruby book.

(he wrote several others, on Java, on X11, since at least 1996.)

The Cost of Complex Language

Most popular languages are exceedingly complex. The problem is that, you spend years to master them, but, new language comes out and replaces it, and the time you spend learning that language doesn't contribute your understanding to computer science or math in any way. What you learned is sometimes called “artificial complexity”, “man-made complexity”, unlike certain complexity in math or comp sci, that are inherent, unavoidable. Perl, C, C++, and unix tech (Shell, Apache) are good examples of man-made complexity. Lisp, in general, are the polar opposite.

see also Node.js Creator Ryan Dahl on Software Complexity

blog comments powered by Disqus