Thursday, July 3, 2008

It's the shoes, Jeff! It's the shoes!

My buddy Jeff wondered aloud on comp.lang.lisp why We Lisp Gods were so much better than the rest of you at adapting to alien environments, aka other languages. Without coming down in favor of any, he offered several possible explanations:
  1. We are just smarter than you un-Lisping dopes
  2. We are accustomed to learning other languages because the food is OK in soup kitchens but the decor? Omigod!
  3. We are older and you can't teach an old dog new... hang on.
Based on recent copious experience, you can safely forget #1. Lispers are precisely as dense as other programmers, and if anything more so: as the title suggests, we are being carried by the shoes. Anyone both smart and using Lisp is named Graham or Morris and either has or split over forty big ones, and no, a thousand smackolas is not "big".

#2 is a fine answer but is boring and knocks the legs out the upcoming argument so let us declare it false. That was easy

#3 is part #2 and part what I joked: old may be wise but it sure ain't adaptable, it already knows The Right Way, it aint listenin.

That leaves the title of this entry, a reference to one (or more?) humorous Spike Lee ads for Nike sneakers in which he insists the sneakers explain Michael Jordan's Unbearable Lightness, to which we see his Airness reacting with feet-on-ground dubiosity. IIRC, but I think I do.

But in this case, I think for once Chomsky might find a home. Chomsky decided that because he Chomsky could not understand how infants picked up language that there must be a magical device at play, a language organ in the brain dedicated to language acquisiton just as the spleen is dedicated to damn I wish I had not slept through biology.

Chomsky had a tiny little problem with his nonsense in that when one looks at human languages -- any of which can be picked up by any infant raised in its midst, whatever that infant's genetic tree -- well, the structural variation is infinite. I remember one universality they found: adjectives tend to appear very close to the nouns modified. Well, shazaam!

So the Chomsker has a problem: this super-duper language organ has to be hardwired not to learn any particular syntax, it has to be hardwired to learn every syntax. Ok, that makes no sense, shall we try again?........... um............. er....................... I got it! It is hard wired to learn an abstract syntax! If only we could find one!!! Chomsky failed except for that bit about modifiers miraculously always appearing close in sentences to the thing being modified.  Yeah, how come no language ever came up with "The little giant slowly balloon over drifted the mansion red white."? Because the language organ rejected all those! Where was I?

Ah, flexible language acquisition, computer or otherwise. No, it is not the brain, it is the shoes. Basketball no, programming yes. No, Michael did not reach new heights because his sneakers opened new doors for him, but yes: expose someone to Lisp and (as many before me have observed) they become a better programmer.

Chomsky saw the infinite variability of actual syntaxes as a severe objection to his hypothesis, and he was right to do so. Indeed, look at it from the other direction and we see the light: forget infants' ease of language acquisition, look at the difference between those who know one language and those who know five. Something happens after one has learned a bunch of languages -- acquisition of the next becomes a snap. No, I do not have that backwards. There is a small effect of "hey, anyone who has learned five just digs languages and does because they are easy for them", but I learn natural languages insanely easy and get a huge kick out of stumbling thru a conversation in French or Mandarin and learning a new language is still hard for me because circumstances never led me to learn more than what I needed to get out of high school. 

No, what is going on is the same as any learning process: the more we do the more the brain wires up metaskill at that activity. Babies are not born with a language organ, they just happen to have nice blank slates and speech is to them obviously something utterly compelling to master, it seems to control these big creatures moving about before them. Nothing like insane motivation for apt learning, eh Dr. Chomsky? But later on in life when a second language is an amusement? Acquisition is brutal. Where's the language organ now? Withered? Why does it come back after I have learned four the hard way? Ooops.

Was I supposed to be answering Jeff's question? My bad. Chomsky was wrong, McCarthy was right: a language in which code can be data and verse visa is one in which the programmer is stripped of structure and stricture and as Sartre warned us is not free to be not free. In mastering any art true freedom comes only within the constraints of the form, but Lisp offers us no such handholding. Some brilliant wag once observed that Lisp gives us a million ways to do anything but (1- million) of them are wrong -- a working Lisper like one who has learned the hard way five natural languages learns a metalanguage of programming that would delight and disappoint Chomsky, because the learned metalanguage is just one more demonstration of the brain's ability to find patterns in whatever it is immersed in long enough. ie, Organ, schmorgan, neural nets simply rock.

Lispers are not smarter, they just fell into a pool and learned to swim -- ah, good analogy, nothing to hold them up, had to make do in a medium that would not support them, they had to add energy to the system to stay afloat, something like that. Lisp not only supports every paradigm, worse, it even allows any paradigm you can invent one as I thought I did with Cells until I looked up the prior art, but that does not change the fact that while working on a little GUI geometry problem a new paradigm jumped into my code... deal with this kind of language and... well, imagine sneakers that really did have wings. Wear those for a year and then climb back into ordinary sneakers...I'll give you a minute to think. What happens?
Disappointment? Some. Depression? No. End of flying? Never. You have tasted flight, you know what is possible, and you want to be there again. Now the analogy breaks down, because guess what? Lisp is just another language. When you do not have it, you can Greenspun it. When subjected to a toad of a language you grouse for fun but you also have code to write and you shrug off the downgrade and fly with the sneakers you have. 

In my first programming job I astounded the team so badly they kinda fired me, gave me only the maximum raise and blew me off when I asked for more because in nine months I had finished every system they had in development. At my going away they said they did not go out on a limb for me to exceed the maximum because they knew I would be leaving anyway. They did not know how much I loved the company bowling league or softball beer league. What was my secret in this Cobol shop? I had been programming in Basic on an Apple II. 

One day I came upon a senior guy (OK,they were all senior, I had been there three months at the time) staring at my code as he tried cloning it to his assigned, well, clone. Concerned, I paused and asked if there was a problem. He waved me away, saying, No, I just have never seen Cobol like this. I understood. I knew even as I did it that I had been programming Cobol in Basic. I think I have that backwards. I remember asking them -- I was just learning Cobol at the time -- if a subscripted variable could be a subscript and I remember a very nice twenty-year Cobol veteran asking me very gently if I might not be making things a little too complicated. Nah, just trying to do Basic in these Cobol sneakers.

Lisp then is a substitute in itself for learning five natural languages, because it itself is not Chomsky's language organ, it is the universal syntax Chomsky had to identify for his imagined language organ to have been hardwired to learn. Lisp is the programming language embodiment of Sartre's curse: we are not free to be not free. Program this language and one will first use the wrong language feature at the wrong time (hang out on comp.lang.lisp to witness the hijinx of Lisp noobs trying to do things "The Lisp Way") and eventually get to the point where one can look at problems and see the paradigms they bring with them aided always by your language which is being utterly useless at telling you what paradigm to use, it could care less. 

ie, It's the shoes.


jamiiecb said...

See Steven Pinker's rebuttal of the blank slate hypothesis at

A fairly long talk but one well worth watching.

chris said...

"and eventually get to the point where one can look at problems and see the paradigms they bring with them aided always by your language which is being utterly useless at telling you what paradigm to use, it could care less."

I know how everyone is all "Learn Lisp and you'll become a better blub programmer", but I'm here to tell you that precisely the opposite is true: Lisp has ruined me.

Despite years of Lisp study, I still can't program Lisp worth a damn. But here's the really awful part: even though I still can't write decent Lisp code, I know it well enough that I can't look at any Blub code without thinking to myself: Damn I wish Blub had closures and Lisp macros--it would just make things *so* much easier. Everywhere I look, I can't help but see places where Lisp features would make for elegant solutions. In other words, programming Blub has now been reduced to an exercise in gazing upon greener grasses.

While studying Lisp has left me unable to revel in the true joys of Lisp programming, it's made me painfully aware of the awfulness of the Blub languages which earn my living. Thanks, Lisp, for that.

Kenny Tilton said...

Damn, 112 minutes? I skimmed a few pages of "The Stuff of Thought" -- all these geniuses are trying to work backwards from clues a la Chomsky working backwards from how fast infants learn language to get to their conclusions. It's all handwaving until we know how they do it, and we do not. For example, tell us Mr. Chomsky, exactly how fast is it (a number please, and I cannot wait to see the unit of measure) that infants learn language and what would the number be if your imagined language organ did not exist? Game over.

Kenny Tilton said...

Chris, get back in there man! You can find Lisp somewhere in your Blub. See this entry for my triumph with Cobol's copy-replacing -- it's the macros!

jamiiecb said...


The main points of the argument are:

Blank slates dont learn anything. They just sit there being blank. So there has to be some sort of learning mechanism. The argument then is to whether its a generic learning mechanism or whether some language structures are built in.

Children dont appear to have access to enough information in their entire lives to figure out language from scratch. So at least some part of the structure of human language seems to be innate.

Almost every human language has the same noun, verb, adjective structure. They appear in very different forms but every language has nouns, verbs, adjectives and most of the other grammatical components. So there is the possibility that there is a universal human language structure of which all languages are variations.

I'll see if I can get hold of someone who knows this stuff better than I do to provide some references.

Kenny Tilton said...

Children dont appear to have access to enough information in their entire lives to figure out language from scratch.

There's the problem: "dont appear to have". And don't feel bad, I read Chomsky and he does not offer any more. It is interesting that they make that confident assertion even as they are trying to figure out language acquisition. If they have not yet figured it out, how can they rule out learning without the benefit of innate structure? The variation in languages is nearly perfect. Some do not vary tense or person in verbs, some do not even have subjects (the verb conveys the subject). Sounds like nothing constrained the formation of language. But in the end we do not know, so folks need to stop ruling things in and out and figure out language acquisition. I look to the astonishing mastery of obscure motor skills such as jugglers and acrobats do. The bystander is amazed at the inconceivable stunts, but they understand they are seeing the result of much practice, not innate juggling organs. We may not settle the debate in this blog, by the way. :)

Mathias said...

Kenny, thanks for yet another entertaining and interesting post! I especially like the digressions (I hope I use that word correctly, just looked it up translated from Swedish) you mix in.

Keep 'em coming!


Anonymous said...

Good post Mr. Tilton. Nice to someone else challenge the infallability of Dr. Chomsky.

(Here is a pointer into something else you might find interesting:

Unfortunately this is the only place in science where phylosiphy has taken the place of scientific method. There are entire fields that are wholey based on being able to imagine how something might work. Flat earth, here we come.

Anonymous said...

Well, the link didn't completely come across (I think only .html is missing) but one can google:


Kenny Tilton said...

Aha! Lispers separated at birth?:

"The Pirah√£'s isolation is due to their very strong sense of superiority, and disdain for other cultures. Far from thinking of themselves as inferior because they lack counting, they consider their way of life the best possible way of life, and so they're not interested in assimilating other values."

Not sure? Let's see how they feel about static typing: "They have another interesting value, which is 'no coercion'. "

QfrickinED if you ask me. Hey, thanks for the heads up, I had no idea the Chomskyans were still running the show and bullying opposing ideas. Sounds like the guy is getting into more trouble for dumping Chomsky than God.

Anonymous said...

Yea, no problem. I also just noticed that my line:

"Unfortunately this is the only place in science where phylosiphy has taken the place of scientific method."

should have been:

"Unfortunately this is not the only place in science where phylosiphy has taken the place of scientific method."

I guess my 2 pass proof reading needs to become 3+ pass. :)

Anonymous said...

Hrm, spell checker didn't work either. :)

The thing with Chomsky (and some other scientific fields) is, I think, another instance of the weight of backward compatibility (it's not just painful in our field :( ). There has just been too much work done based on these ideas. They have to be right at this point whether they are or not.

I think we should make duplicate branches of science that pursue only the truth (maybe only allow anonymous publishing so no one can have too great an investment?). Once we know how this stuff actually works we will know how far we can build a bridge from our legacy ideas, which we have so much invested in, to the actual truth.

Kenny Tilton said...

Spellcheck: yes, phylosiphy should be g-u-e-s-s-w-o-r-k.

As for not losing the legacy work, I am reminded of major refactorings in the face of suddenly realizing how confused was my first approach: if that much work got done to support Silly-X, a lot of that work will live on inthe implementation of Better-X. ie, the furniture is OK, we just have to rearrange it. It is said Chomsky's programme led to a lot of good work on grammars. I am sure that holds up even as we quietly slip language organs and the language instinct into the dumpster.

Kyle H said...

Lispers are not smarter, they just fell into a pool and learned to swim -- ah, good analogy, nothing to hold them up, had to make do in a medium that would not support them, they had to add energy to the system to stay afloat, something like that.

So, what you're saying is:

In the beginning (of learning Lisp), the language was without form and void. And the Lisper said, "Let there be light."