That's where the author lost me. I'm willing to entertain the argument that a hybridization of Java and Lisp is not nearly as effective as one would hope - but the universal ultimate goal is MAKING THINGS.
That's where the author lost me. I'm willing to entertain the argument that a hybridization of Java and Lisp is not nearly as effective as one would hope - but the universal ultimate goal is MAKING THINGS.
The minute you start doing actual work for paying clients is the minute that compromises sneak in. Certainly the last thing these people would want is for the LISP community to become like the PHP community where the few nuggets of good code are drowned out by flood of sewage. Maybe someone thinks you couldn't write code that bad in a pure LISP, but believe me you would see some pretty horrendous crap if LISP had 10% marketshare of, let's say, web programming.
What's wrong with there being poorly written code in your favorite language? Unless these Lispers also do web development, they likely won't come in contact with the hypothetical bad Lisp-on-web code. So why should they care? Also, how is the good code drowned out? Assuming that the screening process for a job picks out good PHP developers, it isn't that hard for one to find good PHP code in the form of frameworks and libraries.
wrt the PHP thing, well, I cut my teeth on PHP, and frankly I didn't learn much by reading code I found early on. After doing it for a couple years (and completing an MIT-based CS degree) I started to discover the flaws for myself and I was eventually well-trained enough to be able to find the good code. If you know what to look for it's easy. However what's popular in PHP world (ie. what you find on Google) is not necessarily good. Compared to Ruby or Python, or hell, even Perl, it's just way harder to find good PHP code to learn from for a beginner.
Seems to me pretty pragmatic.
"The latter is not my standard of comparison (Symbolics Genera, the state of the art, is." ...
There were plenty of cool things about lisp machines. But obviously the world's taken a different direction. Nothing wrong with being an idealist sometimes, though.
For a proper criticism, I would have liked at least a little more explanation of the advantages of actually using Lisp all the way down.
I'll try my hand at that: having a system built out of a few simple types of parts interacting in tons of different ways also leads to flexibility and power. Ant hives and bee colonies work in similar ways, one individual alone is useless and will probably die soon, and having a whole mass of ants just meandering around won't get you anything. Now, create a few (by which I mean very very few) rules for what happens when an ant meets another ant, and immediately you get a structure out of it.
For example, ants have the property of laying down pheromones. The interaction rule is knowing to follow another ant's pheromones (there are some subtleties with detecting certain types, for sure, like danger signals, but we'll keep things simple). If an ant doesn't have a trail of pheromones to follow, it will wander using its senses to find food.
Combine all of this and you end up with a system that gives you the quickest way to a food source. Simply because ants who have found the shortest route to a food source will probably return soonest, and other ants follow the pheromone trails they lay down.
Note that there's no real comparison method where all the ants sit down, compare notes, and try to figure out who has the shortest path. It emerges naturally.
Speaking of this, the Sync video on TED is pretty cool and touches on complex behavior arising from simple rules: http://www.ted.com/talks/lang/eng/steven_strogatz_on_sync.ht...