book: Outliers


This book is an Outlier itself by being a great book.

Outliers explained, by Malcolm Gladwell

On Programming

A series of articles by Sterling “Chip” Camden:
  1. The Early History of Programming Languages
  2. An introduction to object oriented languages
  3. The ascent of scripting languages
  4. Scripting Languages and the Web
  5. An introduction to functional programming
Notes:
  • The first programming jobs consisted of flipping switches and moving cables around...
  • Java: "...led to the creation of gratuitous classes merely to enclose functions, and thus to an over-abundance of nouns in the code conversation...often becomes an exercise in verbosity."
  • History of the scripting languages: from the JCL to Unix Shell to Pearl to Ruby.
  • Lisp appeared around the same time as Fortran and COBOL the 3rd generation languages.
  • "...Lisp is the first language to be based on the lambda calculus... It boggles the mind to realize how much more advanced Lisp was (and still is) than its contemporaries...
  • Author's favorite language is Ruby.

On Artificial Intelligence

Jeff Hawkins talk at the RSA Conference 2008:
Hierarchical Temporal Memory (HTM) in wikipedia

Lem-E-Tweakit and Logic programming



from SICP lectures 8a & 8b.

While watching these, one thing that striked me is that this logic programming seems very similar to kind of things we use SQL for, just better... more flexible.

So why we do use SQL after all? after a bit of googling found this good article: http://search.cpan.org/dist/AI-Prolog/lib/AI/Prolog/Article.pod one of the references says:

So if prolog(read AI) and SQL(DB) are so similar, Why is one so successful commercially and the other deemed A complete failure in terms of scalability?

Databases implement powerful techniques to improve performance:
  • Indexing
  • Hashing
  • reordering goals to reduce backtracking

Where as prolog based systems have very few such Techniques.

So does have SQL have everything needed?

One of the most powerful features of Prolog is recursion.

SQL does not have recursion built into it. This is a severe Handicap. However there is a way to overcome this problem by invoking multiple SQL queries from a host language like C
Or JAVA. SQL3 has begun supporting recursion.