5 ms·
"I don’t care if everybody really _is_ more productive in Clojure than in Common Lisp." That's where the author lost me. I'm willing to entertain the argument
by nod 17y ago
"I don’t care if everybody really _is_ more productive in Clojure than in Common Lisp."
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.
- derefr 17y agoSure, just as the universal goal of companies is making money. However, sometimes it's smarter to take losses in the short term if it encourages long-term growth and sustainabiltiy. Back in programming terms, sometimes you have to constrain the things a language can make, so development will focus on using and combining the right primitives rather than tacking on new and unneccessary ones that will burden the language's future development path. Especially for mega-scale projects, considering the future usability of the language can be more important than considering the present usabiltiy.
- sketerpot 17y agoA more charitable interpretation is that he wants to avoid getting stuck in a worse-is-better local maximum.
- asciilifeform 17y agoYou "win the Internets." This is the first intelligent reply I've seen today.
- yangyang 17y agoSlightly unfair quote, as his next sentence is "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.
- Scriptor 17y agoNothing wrong with being an idealist, sure. There is something wrong when someone goes out of his way to criticize something for no reasons other than "it doesn't fit how I think things should be". 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.
- loumf 17y agoI was actually lucky enough to see Rich Hickey go through the clojure code for that live (http://blip.tv/file/812787 http://blip.tv/file/812787).
- Scriptor 17y agoI remember hearing about an ants simulator done in Clojure but didn't know the full scope of it. Thanks for that! 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.html http://www.ted.com/talks/lang/eng/steven_strogatz_on_sync.ht...
- jimbokun 17y agoHe inadvertently revealed the secret mantra of comp.lang.lisp. Purity supersedes productivity, practicality, and pragmatism.
- Semiapies 17y agoThis is a real problem with a lot of small communities that don't understand why the awesome thing they like hasn't taken over the world.
- dasil003 17y agoWell hopefully they realize it won't take over the world and they are okay with that. 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.
- Scriptor 17y agoFrankly, this fear just sounds too much like "Oh no, I'd hate to see anything tinge my precious baby!" 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.
- dasil003 17y agoWell sure, to normal people yes. But to understand the mentality, just consider for a second that the OA is foaming at the mouth of a language that is merely inspired by LISP. 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.