Microsoft Eating Its Young
I just finished reading a book about using the proper tools when doing .NET development, with an overview of source control systems, unit testing frameworks, build tools, and so on. I remarked in my review that the book’s advice would be obsolete within two years; that turns out to be an optimistic estimate.
Because, see, Microsoft just announced Visual Studio Team System, which includes new tools for unit testing, bug-tracking, version control (even Microsoft realizes that VSS doesn’t cut it), profiling, and more. It’s nifty, and I wish I had it now, but boy oh boy, does it throw a wrench into the .NET tools landscape.
Microsoft has the dilemma that they a) want .NET to be a rich
ecosystem that supports third-party value-add tools, but b) they want
to deliver a single integrated suite of best-of-breed tools under
their complete control. The first part of that desire leads them to
encourage companies like SourceGear (which makes
a version control system) and open-source projects like NUnit and
NAnt. The second part of that desire leads Microsoft to release
products that directly compete with those third-party tools. And
because Microsoft is the 900 lb. gorilla of the .NET tools space,
they’re going to win unless their tools are the very incarnation of
suck. (Even Visual SourceSafe, which comes close to that description,
is a huge player in its space. A good version control system from
Microsoft would be ubiquitous.)
As usually happens, the forces of integration have won this round, and today’s de facto standards are destined for the trash heap. Bad for Microsoft’s competition, good for me.
Fast Food Is Good For You
You’ve probably read about the guy who ate nothing but McDonald’s food for a month, then made a movie about it so as to get across the shockingly novel point that this isn’t a good idea. What baffles me about this stunt, and the general anti-fast-food ethos behind it, is that when it comes to obesity, fast food isn’t the biggest problem — slow food is.
Okay, right, fast food sucks. The food’s low quality, lacking in
nutritional value, and just generally sleazy. I’m fully on the
reservation there, and I’ll shudder as much as the next guy at the
phrase “mechanically recovered meat.” But if you’re trying to lose
weight (or, at least, trying not to gain weight), McDonald’s isn’t bad
at all — they have nutritional information easily available, so you
can know just how bad any item is, and they offer their items
in a variety of sizes, so you can do fine portion control.
By contrast, your ANSI Standard Bar and Grille has none of those
things. How many calories are in a burger at
Chili’s/Applebee’s/Friday’s? You have no way of knowing. But you can
bet that it’s a lot, since their default burgers are between 1/3 and
1/2 pounders, outstripping any of the menu entries at McDonald’s. Can
you get a smaller burger? Nope. Can you get a smaller side of fries
with it? Nope. At a slow food restaurant, you are entirely at the
mercy of the megacorp restaurateurs. You have no information about
what you’re eating, and no way to make a portion-control decision even
if you had the information.
It’s time for the chains to step up, and hold themselves to the
same nutritional standards that McDonald’s and Arby’s hold themselves
to. They need to post their menus and nutritional information online,
so that people can make informed choices. And maybe then, when it’s
clear that a Big Mac Extra Value Meal can’t hold a candle to the worst
caloric offenses of the chains, we can stop seeing lame stunt films
treated with respect they don’t deserve.
Longevity, and the Significance Thereof
John McCarthy, looking back over the long history of Lisp, observes:
LISP is now the second oldest programming language in
present widespread use (after FORTRAN ...).
That’s a remarkable statement. More remarkable is that McCarthy
made it in 1979. More remarkable still is that, in the 25 years since
McCarthy’s observation, Lisp hasn’t become obsolete (as Fortran
In fact, far from becoming obsolete, Lisp’s somehow become leading-edge. Other languages have become more like Lisp (while Lisp itself evolved and improved), with the result that Lisp is more similar to the batch of Hot New Languages (think Ruby, Python, maybe Groovy if it ever appears for real) than it is to old-school languages like FORTRAN, COBOL, and C. In the form of Common Lisp, Lisp is a practical, modern language featuring all the buzzwords you could want — memory-managed, completely object-oriented, “agile,” interactive, portable, dynamically typed, whatever.
On the one hand, who cares? For the last umpty-ump years, I’ve
listened to smug Lisp people talk about how the cool new features of
the cool new language du jour were in Lisp decades ago. And
I’ve always sat there and thought, “Lisp may have had those features
first, but we have them now. You can have your place in
history; I’ll take a place in active development.”
And I still think there’s something to that — as other languages steal Lisp’s good ideas, Lisp becomes comparatively less attractive. Common Lisp is vastly better than horrid old C, but its advantage over Python is less pronounced. I can easily envision a future in which computer languages converge on Lisp’s expressive power without actually becoming Lisp.
But on the other hand... well, Lisp is coming up on fifty years old now. It’s outlasted an awful lot of competitors, and adapted to an awful lot of trends. At some point, you have to break down and admit that this means something. Computer languages don’t last for a half-century coincidentally. It might be Lisp’s theoretical-math underpinning, it might be Lisp’s light syntax, it might be Lisp’s incredible customizability; but whatever it is, Lisp has empirically demonstrated itself able to adapt to changing circumstances in ways that other languages haven’t.
At any rate, it seems clear that, one way or another, the future of computer languages will look much like Lisp’s present; so I figure I’ll get a head-start on that future by learning Lisp now.
It’s a Small World
Via the international offices of The Poor Man, comes news that my boyhood
hometown paper isn’t
getting enough pro-Bush letters to keep its opinion page “balanced.”
Leaving aside the giggleworthy sense of “balance” used here, I’ll
just note that if George W. Bush can’t get a good bundle o’ defenders
in the Fox Valley, he’s totally fucked. The Fox Valley is the very
embodiment of every casual stereotype about the Midwest, and therefore
full of the sort of moderate conservatives whose votes he’ll need (and
whose votes he got in 2000 — Outagamie, Winnebago, and Waupaca
counties all went for Bush).
We’re talking about an area where the schools are notably empty on
the first day of deer season; where people wear John Deere caps as a
matter of course; where they debate the merits of Arctic Cat
vs. Polaris snowmobiles; and where that conservative-populist
glorification of hard work, small government, and American military
ass-kicking power is always very visible. Last time I was home and
had a chance to read the Post-Crescent, there were outraged letters
(for days) about a couple of kids that had taken on a dump on a
flag as an act of random teenage rebellion.
And now these people are, overwhelmingly, writing anti-Bush letters
to the editor. Most people who vote Republican really aren’t
hard-core ideologues; Bush fooled the moderates in 2000 with his talk
of “compassionate conservatism,” but it looks like they’re paying more