This is sad. Very very sad.
This is sad. Very very sad.
Another interpretation is that this is like the “comb-over” syndrome. How does a middle-aged man end up with a comb-over, given that everybody knows it’s a lame look? The answer is that it creeps up on him day by day, there is no one moment in time when he asks himself, “Should I comb my hair over?”
Likewise, whenever you see a Greenspunned[1] system, there is rarely a moment in time when some bright and ambitious person decided that the right thing to do was to sit down and implement half of Common Lisp. Instead, they make a series of small daily decisions (add this, change that, add such-and-such a feature, whoops, to fix that bug we need to do this...) that end up accreting into an interpreter for Lisp.
I don’t know the whole story, perhaps they did decide to write such an interpreter right from the start. But it could be that they initially decided to write something very small and specific, but wound up with a comb-over.
[1]: https://secure.wikimedia.org/wikipedia/en/wiki/Greenspun%27s...
I have to ask though: Is Greenspunning such a bad thing?
It seems like this would be true of any non-trivial software system (successful or not).
What's the variant of the 10th rule - something like:
'Every complex system contains an ad-hoc informally specified implementation of Common Lisp. Including Common Lisp'
Yes, because if you knew you needed Common Lisp, you'd just use CL, rather than an ad-hoc informally specified implementation of CL. In general, the half implementation has half the value of the 'real' implementation.
http://help.yahoo.com/l/us/yahoo/smallbusiness/store/edit/ad...
Why would Yahoo want to keep this one property written in Lisp around while the proficiencies within the company (and the general talent pool outside the company) did not include Lisp?
It has nothing to do with being "afraid" of Lisp, it simply didn't make sense to have one random Lisp property. I am pretty certain if Google made this acquisition, the site would be rewritten too.
edit: typo
In case you did not mean "Common Lisp" by "Lisp", try to be more specific next time. The "Lisp" term does not include Scheme, and is not really that much used when talking about Clojure.
What do you mean by "everything-is-a-symbol", anyway?