November 30, 2008

A Working Class Bully is Something to Be

Filed under: movies — Joshua @ 2:43 pm

When is politics not allowed in literary criticism? When it acts like a filter, that’s when. If, upon encountering so much as a hint of a political theme you dislike, you instantly shut down and refuse to look further, then you have a little homunculus censor living in your brain who is interfering with your ability to fully appreciate life.

Roger Ebert has this problem. I think he’s a good movie critic for the most part. As a general rule, I can read his reviews and know whether I will enjoy a movie. Sometimes, I even come to reconsider how I feel about movies I’ve already seen by reading what he thinks about them. And then there are those other times when I can read a four-star review of his and know for certain I’ll hate the film. Or, as was the case this weekend, a one-star review that tells me without a doubt I’ll love it.

The movie is 3 O’Clock High, a cult 80s high school film (no, not one of those 80s high school films) that I’d caught scenes from over the years but never sat down and watched all the way through. It’s not a great film. But it is entertaining, a brilliant nostalgia vehicle (for those of us who were born in the 70s and grew up in the 80s), and even if it’s not a stand-out classic, it’s at least one of the better examples of its genre.

Ebert gave it one star. Why? Because it’s “fascist.” Because the story involves a kid shitting his shorts all day scrambling around trying everything he can think of to get out of a confrontation with the school bully that goes down at 3 o’clock and - horror of horrors - the bully doesn’t have a “human side.”

If there is a pathological bully in the student body, no attempt is made to understand him, sympathize with him or encourage the audience in the difficult process of empathy.

It’s too tough on today’s teenage moviegoers, I guess, to ask them to hold two ideas in their mind at once: that a kid could be a bully and that he could also have some big problems and be in need of understanding.

Yeah, nice try, but I call bullshit, and here’s why:

The Thompson character, for example, is not just a distant, unattainable symbol, but a young woman with feelings. The tomboy doesn’t just pine from afar, but helps Keith in his campaign to win a date with this girl of his dreams. And in the final sequence, in which the tomboy acts as chauffeur on the dream date, the dialogue isn’t about sex; it’s about learning to be true to yourself and not fall for the way people are packaged. By the movie’s end, everybody has learned something about themselves.

That’s from his review of Some Kind of Wonderful, the actual John Hughes installment from the same year. Anyone who’s seen it will have noticed a glaring omission. Yes, that’s right, Some Kind of Wonderful has a class bully too - or at least an unreasonable bad guy. And no, this bad guy in Some Kind of Wonderful hasn’t “learned anything about himself” by the end of the film either. Mostly he just gets egg on his face - which is what stock bully characters show up in movies to do.

So what’s the difference? Why is it OK for the bad guy in Some Kind of Wonderful to be a stock plot device, but not in 3 O’Clock High? I think it’s the leather jacket. You see, in Some Kind of Wonderful, the bad guy is a Rich Snob, but in 3 O’Clock High he’s working class. And one-dimensional bad guys are only ever allowed in Roger Ebert’s world if they’re making an Acceptable Political Pointtm.

I know what you’re thinking, and no, it isn’t that Some Kind of Wonderful is the more thoughtful film. It certainly takes itself more seriously, but the plot contrivances in it are every bit as transparent as those of every other movie of the genre. There’s the working class kid who wants to be an artist, he’s in love with the popular girl who won’t give him the time of day and is in turn loved by his tomboy working class friend. He has a shot with the popular girl, but only because her jerk of a boyfriend is every fratboy child-of-privilege stereotype in the book turned up to 11. If Ebert rates this one higher than other study hall ’sploitation movies, it’s only because he never took the time to ask himself why this or any girl considers this guy serious relationship material in the first place. Trophy date, sure, but no girls I know would be in love with him for “who he is.” No, Some Kind of Wonderful is entertaining, but it’s a comic book, right up to the last scene where our hero makes The Right Choice in what has got to be one of the more implausible Moments of Realization in 80s cinema. And there’s nothing wrong with that.

My axe to grind here is that people who think Some Kind of Wonderful is deep don’t get to diss 3 O’Clock High - not if they really paid attention. Yeah, sure, our resident bully is a stock plot device, but then, that’s rather the point. The movie isn’t about the fight, and it isn’t about giving the bully his comeuppance. It’s just a nice, light-hearted exaggeration of having “one of those days.” You know - “those days” … of the kind we all have in high school. In college, for that matter. At work. In the nursing home. With the difference being that when you’re in high school everything always seems so much more important than it really is. 3 O’Clock High has the same basic message that every high school movie has: that you’ve got more in you than you think, but sometimes it takes a little pressure to bring it out. I liked this one better than most because the comical exaggeration is better than most. The bully isn’t really even a character. He’s an implausible force of nature - ridiculous by design, because the whole point is that it be ridiculous. What the movie is trying to capture is that feeling we all had in high school of being under huge amounts of pressure but unable to complain about it because we know that “it’s just high school” and the Real World is gonna be so much worse, all the while unable to ignore the reality that it actually is hard - sensing a disconnect in there somewhere. 3 O’Clock High nails that feeling and manages to be really entertaining in the process. I give it 3 stars at least.

The take-home message is that “stodgy” is a common word because it’s a common concept. I get that it’s impossible to turn off your moral radar when watching movies. Movies are about people and values and all that good stuff, and I can see how it would be impossible to like a movie that’s cheering for something you think is evil. But I think you don’t get to trash a movie based on the costumes alone. If you’re going to write about a movie’s values, you need to at least make an effort to understand what they are. Not all bit characters need to be real people - but if you’re going to be so silly as to insist that they always do, you don’t get to make special exceptions for those vaunted caricatures you happen to approve of.

Politics are bad in criticism when they get in the way of seeing what’s on the screen in front of you.

There are a million ways to get out of a fight, but not in the Hollywood of Rambo. Even a dumb teen movie such as this has to end with one of those fist fights where every blow sounds like the special effects guys are whacking bicycle seats with Ping-Pong paddles. Is that all life is? The vicious define the terms? They say we will fight them, and so we have to? And we win because someone slips us some brass knuckles so we can coldcock the guy? Come on.

Well, yes, actually. What would Ebert suggest instead? Isn’t it sometimes the case that the vicious say we have to fight them, and so we do? Did he sleep through history class or something? There are those fights you can avoid, and there are those you can’t. There are those that only make things worse if you avoid them. And if your enemy brings brass knuckles to the fight intending to coldcock you, even though he’s naturally stronger and taller than you, then yes, I think it’s OK to pick them up off the ground and use them to fight back. So, for that matter, does everyone else. And so, for that matter, does Roger Ebert - when the movie is called Some Kind of Wonderful and the protagonist shows up to an easily avoidable fight with a gang of ruffians for backup. Feh.

November 25, 2008

A Deflation Primer

Filed under: economics — Joshua @ 6:30 pm

Probably THE thing I’m most interested in in my hobby field of Economics at the moment is Deflation - which most economists think of as a general fall in prices (probably owing to waning demand), and which Austrian and Monetarist Economists think of as a drop in the money supply (the amount of money and available credit floating about). Obviously these two things are related, and in light of the current situation it’s interesting to compare the two definitions. By the standard definition, we’re definitely in a deflation. Prices are falling (the CPI is down 0.1%, and it almost never drops), and it seems to have to do with a drop in demand (people just aren’t spending as much). By the Austrian definition the situation is interesting because the Federal Reserve is trying desperately to cause inflation. Interest rates are as low as they’ve pretty much ever been, and of course the government is handing out money left and right.

There are two reasons I’m so interested in Deflation. The first is the sort of natural curiosity that everyone has for forbidden fruit. Deflation is the big bugbear of almost every school of Economics - to be avoided at nearly any cost. (Even for some Austrian economists it’s an evil - though no Austrian economist would advocate avoiding it “at any cost.”) The second is that it seems to me an inevitable consequence of a certain kind of gold standard. Imagine that there is a fixed amount of gold (or whatever commodity it is) in Fort Knox, and that’s just it - a frozen money supply. Dollars are defined at some fixed weight, and so there are only ever so many dollars floating about. It seems that in this kind of situation (which no one is advocating or will likely ever advocate) deflation would actually be an inevitable consequence of prosperity as competition and ever-increasing supply means there is always the same amount of money chasing ever greater quantities of goods and services. Prices in general would have to drop. Since I can imagine a situation in a totally alien economy where deflation would thus be a good thing, I’m curious whether anyone more knowledgable about these things than me has worked out all the implications.

So I was pleased to discover that the Mises Institute had made a copy of a book on the subject available as a free podcast download (also available in pdf form). The book is Jörg Guido Hülsmann’s Deflation and Liberty, and it tries to make the case that deflation is not only necessary but socially desireable. Since it’s so far from the standard script on the subject, I downloaded and listened to it this week.

The argument in a nutshell is that deflation and inflation are best understood in terms of the price of money, or else the size of the money supply. Inflation is when the amount of money “out there” grows relative to the amount of goods and services available. Deflation is when it shrinks. Hülsmann argues plausibly that for this reason inflation and deflation are best understood as redistributive mechanisms. Since that’s always the way I’ve thought about them too, it was nice to get some confirmation! To show how it works, let’s take an inflation example. This means that the money supply (the amount of paper dollars and available credit) grows relative to the number of goods and services. So you have the same total amount of “value out there” in the form of goods and services, what’s changed is that there’s more money available to exchange for these goods and services. OK - so clearly since the amount of value has not changed, what will have changed is who commands how much of that value. The people who get more of the new money obviously benefit from the redistribution, the people who didn’t get as much (or any) of the new money are harmed. What cannot be doubted, really, is that a redistribution of some kind has taken place. The interesting question is then who benefits and who is harmed, generally speaking? The answer seems to be that in general people who go into debt benefit from inflation and those who save are made worse off.

There are two ways to convince yourself of this. First, consider that inflation means that each dollar bill is worth a little bit less. Remember, there is exactly the same amount of value, what’s changed is that there are more dollars “out there” to spend on that value. So each dollar is a little bit weaker than it used to be. It’s sort of like if you’re measuring something in inches and are suddenly told to change to centimeters. The length of the thing that you’re measuring hasn’t changed, but it now takes more individual units of length to account for it. Second, consider that the consequence of more money being “out there” is that prices will have to rise. Since there’s more money to be had, people who make things will need more of it to maintain their position. Either way you think of it, it’s easy to see that inflation steals from people who save. Your money in the bank is now worth less than it was, whether you think of this in terms of it being a smaller portion of the overall money supply, or whether you think of it as buying less at the newly higher prices than it did before inflation. People who borrow do comparatively better, however. They buy things without having first saved for them, and if the inflation continues, they can work off their debts at inflated wages relative to the amount they borrowed, making it easier to pay off the accumulated debt.

It stands to reason, then, that deflation redistributes in favor of the savers. Money in the bank buys more than it did the day you put it in - whether you think of this in terms of it being a bigger part of a shrinking money pie, or in terms of the general price level decreasing. By contrast, people who are in debt are worse off, because they borrowed money when prices and wages were higher, and now they have to pay it off at lower wages, or by selling off things they own at lower prices.

I hadn’t ever thought of deflation in terms of helping savers, so this book really helped me see how that works. By the same token, I’d never really thought of deflation as a good thing for liberty. That’s a more complicated argument that I’ll leave it to the book to make - but the nutshell version is that since the people who print the inflated new money get to decide where it goes but don’t find it as easy to control things when they shrink the money supply, that inflation more than deflation is a tool for economic manipulation by the central bank/government.

The book was really useful to me for clearing up these issues, and so I recommend it. However, I had a few lingering questions.

  1. I’m frankly a little uncomfortable with the ATB praise for deflation in the current situation. I agree that a general deflation is necessary and therefore probably welcome. However, a freefall deflation seems a bit unfair given the extent to which people have been encouraged to go into debt. Taking myself as an example, I’ve accumulated some student loan debts here in graduate school, which seemed more rational than going to work for a year and postponing graduation. I’m fully willing to take responsibility for my choice, and I’m not therefore seeking to avoid my debts. Quite the contrary - I’ve been very careful to take out these loans only from private sources, at higher interest rates, so that I am not asking anyone I don’t know (i.e. the general taxpayers) to finance my education. I consider myself a responsible borrow responding to the incentives that were placed before me, and it seems a bit unfair for the amount of my debt to suddenly inflate should prices be allowed to go into freefall. Since most people are in much worse situations than I am (from housing loans, larger quantities of student loans, etc.), the problem only compounds. A lot of innocent people will be hurt by a general deflation.
  2. Related to the first reason, most people currently in debt simply won’t be able to pay under a general deflation. This will lead to lots of defaults and bankrupcies, which will dry up a lot of the capital stock for recovery. I suppose the answer to this question is that that’s to a large degree money that was never there to begin with (i.e. money the Fed pulled out of thin air), so no harm no foul. I buy that to a large extent - but surely there is some residual damage?
  3. I wonder if there is a sense in which inflation is a nature’s response to central bankers trying to game the system. I’m thinking in particular here of the labor unions. They negotiate their wages higher with government backing, which has the effect of causing more inflation. Which means that some of their gains then vanish as general price levels go higher. Push the economy, and it pushes back! Of course, I suppose the answer to this one is to point to all those other workers who aren’t union members and have to deal with higher prices even though their wages haven’t necessarily gone up - in which case the unions really do gain, even if not by as much as they planned.

At any rate, an interesting book. It won’t answer all your questions by a long shot, but as food for thought on deflation (which, at a manageable hour and fifteen minutes you can easily digest during commutes), it’s a good place to start.

November 24, 2008

God Prefers Atheists

Filed under: atheism — Joshua @ 7:27 pm

A friend sends the following:

(Found on Fussy)

Everything I Really Needed to know about Chrstianity I saw on a Billboard

Filed under: atheism — Joshua @ 9:36 am

Dnesh D’Souza is back up to his old tricks: misrepresenting Atheism rather than doing a Christian Apologist’s duty, which is recommending faith. This time, the springboard is an article in Discover (which, for reasons mysterious, D’Souza doesn’t link in his column). The gist of the article is that there are just “too many coincidences” in how the laws of the universe are set up. Basically, even slight changes in the laws of physics would make it impossible for the universe as we know it to exist, meaning that life would not exist (for example, if electrons weighed twice as much as they actually weigh, stars would burn out in a million years rather than billions, and life wouldn’t have time to evolve). D’Souza, predictably, takes this as evidence that there is a Creator - because how else can we explain all these “coincidences?”

Click on the link and take a look at the article and you’ll see that D’Souza is engaging in what we might call the Argumentum ab Advertismum - “Argument from Advertising.” The article isn’t really about the search for God, but is rather about the Multiverse Theory - you know, that theory that gave Spock a beard on Star Trek. The only reason there are references to God in the article at all is because the reporter inserts them there - presumably to sensationalize a dry subject to sell magazines (and no doubt it made a subscriber out of D’Souza, so hey!). The original reason for the Multiverse Theory - as the article itself makes clear if you bother to read it, actually - was to explain why the universe has a uniform temperature throughout. This is a problem for the Big Bang Theory, though not for other theories of cosmology. So the real motivation was to plug up some holes in the Big Bang Theory - not, as D’Souza wants his audience to think, to explain these “embarassing coincidences.”

The “embarassing coincidences” are generally “explained” by an appeal to the Anthropic Principle - which really just says that the question itself is misleading: if these “embarassing coincidences” hadn’t happened, then we wouldn’t be here to ask these questions. Some supporters of the Anthropic explanation have jokingly styled it cogito, ergo mundus talis est (”I think, therefore the world is as it is”). The point being that this is a truism; it is invoked to answer a pointless question.

The logical error being made here is obvious. For one to be troubled by why the laws of the universe are the way they are, then one first has to assume that they could have been otherwise. The problem is that it’s not clear what this means. At what point was the universe in a position to operate according to different laws than the ones according to which it does in fact operate? And according to what principle did the principles of the universe decide to be what they are? Of course, these questions are not nonsensical to religious people who have long postulated a framework for the formation of laws of reality. For them, the laws of the universe could’ve been otherwise if God had decided otherwise. Fair enough. But I don’t think you can reason that the other way. That is, it’s fair enough to say “because I believe in God, these questions are not nonsense.” But I’m not sure it’s fair to say “because I take these questions seriously, I must believe in God.” Starting without any prior prejudice on the question of whether or not there is a creator, it’s just as valid to say that the questions are nonsense. I don’t need to speculate on why the laws of the universe are what they are because my job is simply to document the laws of the universe and make predictions about its future on that basis. Once you start asking about why a framework of physical laws is one way and not another, you’re already outside the realm of science and in the realm of pulling things out of your ass (the politically correct term for this is “metaphysics”). So sure, one answer we might pull out of our ass is that God decided that the laws would be this way - but there’s no reason I can see why this explanation has any claim to prominence over any other product of one’s ass - say, the idea that there are infinite numbers of universes representing all possible arrangements of laws and we just happen to be in this one, one of the few we can plausibly inhabit. Or maybe that everything in the world is the product of minor perturbations on cosmic strings, whose composition we’re not allowed to ask about. In any case, the point is that once you start asking metaphysical questions like “great, we have these laws, but why not other laws?” you’re overreaching as far as “science” is concerned. It isn’t that they’re illegitimate questions, it’s just that they’re not scientific questions.

Now, if D’Souza wants to leap from here to “God created the world and made us all sinful until Jesus died on the Cross,” that’s his business, of course. He might even be right, for all I know. My point is just that he didn’t get there by reading a bunch of science books and then in a flash of insight saying “Of COURSE! It couldn’t have been otherwise! Every poorly-translated word of the Bible is true, by God!” Hardly. If you’re going to believe in Christianity, it’s going to be for reasons that are completely oblivious to what you did or didn’t learn in Physics class.

Well, my point is that I think people like Dawkins and Hitchens know that. The brand of religion that they’re arguing against in their books isn’t the idea that there might maybe be a Creator. They doubt it, of course, but they don’t rule it out. Nor do they have any problem with people saying “there might be a Creator, for all I know.” What they insist on is that bit I put in itallics - the “for all I know.” It isn’t idle religious speculation they mind, it’s religious certainty. It’s the kind of organized religion that claims to have answers about the nature of the universe so specific as to require that people go to Mass and eat bread together at least once a year on a highly specific day. The kind of arrogance that, for example, leads people to vote on political marriage questions based on what they think God wants - as if they even know there is a God, let alone His opinion on marriage.

The thing that’s offensive about every single column that Dnesh D’Souza has ever written is this presumption that a tie goes to the believers. Wrong. It’s just the opposite, in fact. Ties on religious questions - at least religious questions as a domain of communal knowledge - go to the non-believers. Tricking someone into thinking it’s strange that the universe is the way it is isn’t an acceptable basis for a worldview. Really, this technique is no different than convincing yourself that a perfectly familiar word like ivy sounds strange by repeating it 20 times slowly. I don’t know why we use that particular combination of syllables to refer to that particular species of plant, but I do know that it doesn’t matter. All that is required is that members of the same linguistic community agree on an appropriate combination and use it consistently. It doesn’t matter that it “could have been otherwise,” that indeed it is otherwise (in, say, Japanese). And so sure, if we sit around and repeat all the known laws of the universe to ourselves slowly over periods of years (say, as a Physics instructor), I guess they’re bound to seem strange at some point too. But just feeling it doesn’t make it so. The laws of the universe, like the combinations of syllables that make up words, are arbitrary. It doesn’t matter why they are one way and not another, the point is that they function consistently. If they were different, then the universe would be a different place, just like if English operated according to a different Phonology and different Syntax it would be not English but Some Other Language. Indeed, trying to trick someone into believing in God by saying that the universe, if even slightly different by nature, couldn’t have supported life at all, is putting the cart in front of the horse in exactly the same way that it would be to argue that Evoltuion has as its purpose the creation of Language by noting that even slight changes in human physiology would’ve made spoken communication impossible. It’s absurd. It’s true enough that the evolution of Language depends on a staggering number of what D’Souza would no doubt like to call physiological “coincidences,” but nothing about this leads anyone to the goofy supposition that Evolution has a “purpose.” Evolution is just a dumb global process. That it produced language-capable creatures is interesting, to be sure, but it’s hardly cause for wonder or amazement. That’s just how things turned out is all.

D’Souza is, of course, free to use whatever facts about the universe he likes to prop up his favorite superstitions on his own time. What I object to is this insistence on mischaracterizing the beliefs of others for the purpose of manipulating people to see things his way.

But of late atheism seems to be losing its scientific confidence. One sign of this is the public advertisements that are appearing in billboards from London to Washington DC. Dawkins helped pay for a London campaign to put signs on city buses saying, “There’s probably no God. Now stop worrying and enjoy your life.” What is striking about these slogans is the philosophy behind them. There is no claim here that God fails to satisfy some criterion of scientific validation.

Gee, might that be because they are bus slogans? Because now that you mention it, I’ve never seen a religious billboard that makes the claim that God satisfies some criterion of scientific validation either. Or a religious billboard that makes the claim that God satisfies any criterion of philosophical validation, for that matter. But I’ve certainly seen a lot of religious billboards. Does this mean that religion has given up apologetics? That the Discovery Institute packed up and went home and stopped advancing the argument that God needs a place in the science books? Hardly. No one would be so absurd as to claim that all religious arguments needed to fit on the space of a billboard. And yet D’Souza wants to people to believe that Dawkins gave up the goat on all the arguments in his book - which isn’t even out of its first print edition yet, unlike, say, the Summa Theologica - on the basis of a billboard. Obviously not.

The surest sign I have, in fact, that Christians don’t really, in their heart of hearts, believe all the crap they say is that so many of them spend this much time gaming the referee rather than playing the game. If you ask a Christian questions about the presence of evil in the world, he will be happy to tell you that he doesn’t fully understand God’s Plan, but that this isn’t a threat to his worldview. Why, then, should the fact that scientists are unable to fully explain the universe be a threat to the scientific worldview? Christians never say. No Christian takes a billboard slogan put up by some other Christian as his entire profession of faith, and indeed most would be offended if I suggested that they did. Why, then, should we Atheists be presumed to stand and fall on the basis of what Dawkins puts on buses in London? To call it a “mischaracterization” of the debate would itself be a mischaracterization on the basis of understatment.

There used to be a time as recently as 50 years ago when Christian apologists were not this silly. There used to be a time when they read philosophy and science and put a lot of time and thought into coming up with intelligent, if flawed, arguments in favor of their worldview. What happened? Now what we get are these cheap jabs. God must exist because Physics can’t tell me why the universe is this way and not another. Really? Atheism is giving up its pretentions of rationality because I saw a pro-atheist billboard the last time I was in London that didn’t mention science. Honestly?

Come on.

November 22, 2008

Lift the Disco Ban

Filed under: music — Joshua @ 4:49 pm

We’re getting on December, which means Rock and Roll Hall of Fame voting time. Not that I should care - but this year I kinda do, and that’s because I notice that Chic has been nominated again. Actually, this makes the 5th time. They were also up in 2003, 2006, 2007 and 2008 - which is, to put it in perspective, well over half of the years they’ve been elligible (to the extent that I understand these things, they’ve been elligible since 2002 - their first single having been released in 1977), and the third year in a row.

The case for Chic makes itself. Influence? Hell yes. At least three acts that are already inducted - Blondie, Queen, and Grandmaster Flash - owe them a lot. Alright, Queen maybe not so much, but I had to throw that in there just because in all the fuss about Vanilla Ice having ripped off the bass lines from “Ice, Ice Baby” from Queen’s “Under Pressure” (anyone alive in the early 90s will remember this), no one ever mentions that Queen ripped off the bass line of its biggest selling single EVAR - “Another One Bites the Dust” - from Chic’s “Good Times.” That and because I really hate Queen.

It isn’t just these three, though. Chic went on to produce just about everyone in the 80s - and if we’re sticking to Hall of Fame inductees this includes David Bowie (they practically wrote Let’s Dance for him), and most especially Madonna, who partly owes them her breakout (they inspired and then produced, at her request, her Like a Virgin album).

But the real reason, influence-wise, is that hip-hop is based on this. Quit denyin’ it. Yeah, I know, P-Funk and all that. And that’s true - P-Funk has more to do with how hip hop turned out than anyone. But Chic was important too, if not as often acknowledged.

So why all the nominations but still no cigar? Simply put, it’s because they’re a disco band.

I will never understand what it was about Disco that so offended the Rolling Stone snobs - but history speaks for itself. There was The Disco Demolition, Frank Zappa’s Sheik Yerbouti, all those “Disco Sucks” T-Shirts and buttons… Maybe this was just 60s rock realizing 10 years too late that it was dead and gone - that the hippies hadn’t managed to change humanity and bring about their twisted idea of utopia - and thank fucking God for that! There was punk, but Rolling Stone was a late adopter there too. Still, the Clash and the Ramones were eventually revered. Disco has never been forgiven … for whatever it was that it was supposed to have done.

Alright, I get it. Polyester leisure suits are silly. Yeah, but so is the Mahareshi Mahesh Yogi, not to mention everything Paul McCartney ever wrote with Wings, and people still see the good in the Beatles. Every genre has its great artists and its plastic commercial album fillers, and Disco was no different. There was a lot of shit, but there was a lot of really good stuff too. Really, really good, actually. And Chic is one of those.

Give them the award already. They deserve it, you at the Rock and Roll Hall of Fame know it, and the only reason you won’t is because you’re still too childish to admit you all overreacted to Disco.

(alternate link)

Programming - Year One

Filed under: programming — Joshua @ 12:09 pm

On the way to the office this week I’ve been listening to the Stack Overflow podcast - a podcast by Jeff Atwood and Joel Spolsky to discuss and promote their programming knowledge exchange site stackoverflow.com. So far, I guess my snap review would be to say yeah, OK, its reputation for pointlessness is not entirely undeserved, but I’m only 5 episodes in, so maybe they’re about to hit their stride … and even if not it’s enjoyable and worthwhile anyway. True, it’s not as informative as it might be, but they do do a lot of talking about stuff that’s relevant to becoming a good programmer - which as a largely self-taught programmer I find useful.

A friend who’s heard the whole thing told me that the unintentional format is basically that Joel and Jeff argue a bit about something, and Joel is right … and then the next week when Jeff’s had some time to think about it he concedes. So far that seems to be a pretty good characterization. At least, it’s certainly true that I agree with Joel a lot more often than with Jeff. In particular, on the subject of whether programmers should bother to learn C…

Joel says that “These days C is almost never the right choice of a programming language for a project,” BUT that you should learn it anyway as a training exercise, if nothing else. I couldn’t agree more. In fact, if you have the time, read his essay-length argument for this called Back to Basics, in which he gives some specific examples of where having learned some C will help you avoid what he calls “Shlemiel the Painter” implementations. Guaranteed entertaining (if you’re like me and need to get out more, that is).

Jeff tries to compare learning C to learning Latin - but Joel disagrees and says it’s more like learning how to take apart a carburetor. Right. If there’s a “Latin” of programming langauges it’s probably actually Scheme or Lisp. That is, these are the languages you learn to train yourself how to think rigorously about your program’s semantics and organization - much like people learn Latin because it helps them study how the English lexicon is organized, and also becuase it gives them some tools for talking about English grammar. And the analogy even works on a cultural level: if there are programming language linguistic prescriptivists then they are definitely the Schemers - or maybe the Haskell people. Scheme is “right” and other programming languages are deviations from this ideal … is generally the attitude of a dedicated functional programmer. C isn’t Lain so much as it is a sketch of the neurons that make up your language module. And so it’s kind of crucial, if you’re serious about being a great programmer, to learn it at some point.

So I spent some time thinking about what I would do if I had it to do all over again. What languages would a good course of study in basic programming cover? And actually, I’m pleased to say that if I had it to do over again, I would do more or less what I did, though maybe not in exactly the same order. Here it is:

  1. Start with C - because if you don’t start with C you’re gonna end up like Jeff and never want to bother with it. Yes, there are MUCH easier ways to write basic programs, which it why it’s probably best to start with C, when you don’t really know any better. More than that, it gets you thinking about how these things actually work right off the bat. This will be a matter of personal preference, of course, but I’m one of those who likes to know exactly what’s going on under the hood. In fact, I find it difficult to understand programming any other way. I need to know what it is that I’m abstracting over. Actual History: I learned C++ first - so I almost followed my own advice here. I think C is the better place to start, though, because C++ is sort of a jumble that includes a lot of higher-level abstractions that don’t have so much to do with the machine itself, and so can distract from the purpose here.
  2. Next on to Scheme - why almost no one will follow my advice. If C is “almost never” the right choice for a programming project these days, then Scheme “absolutely never” is. Still, I learned most of the useful stuff I know about programming learning Scheme. More specifically, I learned most of the useful stuff I know about programming doing exercises that implement Scheme first in C, and then in Assembler. Learning C first and Scheme second really hammers home that programming is about abstraction. It’s about identifying the correct places to write factory code - code that programs for you, in short. Scheme will help with thinking about what it is that you’re doing on a semantic level, and learning it from a background in C will help you remember what it is in reality that you’re abstracting over (actual Scheme programmers have trouble keeping the fact that there’s a real machine underneath it all in mind - in fact some of them are proud to acknowledge this, saying that they don’t want to know that there’s a machine there because that’s not what Computer Science is about. They’re right, actually - Computer Science is not about the machine. But programming as a craft is - and this is advice for programmers.) Actual History: I learned Python second, which I regret. Python is a great little language, but it’s kinda like eating dessert before you’ve finished with dinner. I think if someone is going to learn one programming language really well for the purpose of “getting things done,” it should probably be Python. But if you’re thinking of becomming and ace programmer, you should do your homework learning the basics before picking up the power tools. This decision still bites me in the ass, as when I’m in a crunch I find myself reaching for Python. If I’d taken the time to learn from first principles, it wouldn’t really matter so much which language I was working in.
  3. Move on to Java - I guess C++ would be OK here - I’m saying Java mostly because it’s a lot cleaner than C++, and because it has more industry applications these days. In any case, what I have in mind is an industry-useful object-oriented language of some kind. If you followed the first two steps and faithfully learned C before faithfully learning Scheme, you’re actually already equipped to easily graduate to whatever langauge you want and pick it up in no time at all. Java (or C++) seems like the logical next choice just because it’s the paradigmatic OOP language, and because it’s virtually a sine qua non on resumes for a lot of entry-level jobs. Of course, there’s something to be said for learning C++ here instead - especially if you’re in a hurry. C++ isn’t a perfect extension of C, but it’s close enough that everything you’ve learned about C already means that you really just have to add stuff to your existing C knowledge rather than start a new language completely from scratch. And in fact, if you know you’re going to be primarily a Microsoft programmer, C# is a reasonable choice at this stage too. Actual History: I started Scheme and Java at about the same time at this point, but I found Scheme a lot more interesting, with the consequence that I’ve never learned Java as well as I probably should have. To be competely honest, I’m prejudiced against Java - for all the same reasons that Paul Graham is. Unlike Graham, I won’t couch it all in fancy arguments: I’m well aware that my aversion to Java isn’t entirely rational. Mostly I think I agree with Graham on two points (I can’t be bothered to look up the sources - somewhere on his essays page): (1) that object-oriented programming is popular because it produces “a lot of what looks like work” - that is, it’s code structure for the unorganized and lazy - and (2) that Java isn’t cross-platform, Java IS a platform. It’s (2) more than (1). The annoying thing about Java for me is that it won’t stick to just being a programming language. It won’t even stick to just being a programming language with lots of useful libraries. Everything is so integrated with all this other lathered-on crap that you come away with the Microsoft feeling, without the benefit of it actually being a Microsoft product. All kinds of decisions have been made for you, how it all works together is a little mysterious, and you’re tied to all these packaged things of dubious quality that go with the platform. But OK, I wasn’t gonna rant. Java the actual language isn’t bad at all, it’s certainly a useful job skill, and you’ll suffer none of the damage that it does to first-time programmers if you learn C and/or Scheme first.
  4. Finish with Python - Actually, substitute any of what Dan Friedman calls “p-languages” for Python here. I just happen to think Python is the best everyday-use language on the market. Joel Spolsky claims it’s “not quite ready for prime time,” and he may be right about that. But what he means, in any case, is that he doesn’t yet trust it completely for truly large-scale projects. For medium-scale stuff, and especially for those little daily scripts that you write just to get things done, it’s about as convenient as a language can get. It’s true that it doesn’t quite have Perl’s module suite, and it’s true that it’s probably not as much fun as Ruby, but it’s a solid, competenly-designed language that’s consistent and easy to learn. Unlike with Perl or Ruby, where you quickly get surrounded by a weird fanatic culture, Python mostly just gets down to work and gets out of your way. I’m in love with it because it’s NOT a movement. But really, the point at this stage is just to get your hands on an easy tool for everyday tasks. Learning C and Scheme and then some object-oriented language has given you all the programming skills you actual need, so what you’re shooting for here is convenience. Which “p-language” you choose has to do mostly with what kinds of projects you see yourself doing, really. Actual History: I went programming language crazy and wasted a lot of time learning Perl and Ruby and Haskell - languages that I never use and promptly forgot. The advice here is to pick one and stick with it. At this stage, you can easily pick up anything, so if the boss tells you to learn Ruby over the weekend, that’s no problem, and you can quietly forget it later. The real point is just not to become a language whore. Choose one and get really, really good at it. Then, if nothing else, you can always make projects work in this language and translate them into whatever the project actually calls for.

THAT’s how I wish I’d done things. C, then Scheme, then Java more thoroughly, then Python. In reality, I did C++, then Python, then Scheme with some half-hearted Java, and some truly half-hearted dabbles into about 5 other assorted useless languages. All that I learned from that dabbling was the depth of my hatred for Perl, which is arguably worse than a useless thing to know, as I learned just enough about it to feel strongly enough about it and know enough about what I’m talking about to pick stupid fights on the internet. And in fact, I don’t really know C as well as I’d like. Since I started with C++, most of what I know about C comes from there, which isn’t really the kind of discipline that learning C is supposed to instill. All said, though, I could’ve done a lot worse. I did, at least, learn Scheme at some point, which is a Very Good Thing, and I’m not one of these people who’s divorced from C and thus generally ignorant of how the actual machine works. And I did, at this late hour, finally come to the realization that I should mostly concentrate on getting really good at Python, more than keeping all my bases covered (for example, I don’t know PHP and don’t plan to waste time learning). But if I had it to do over again, I would take a year and do things in the order given above.

I think the best takeaway point from listening to Joel’s ramblings so far is that the focus on language-as-worktool is probably overblown. A good programmer isn’t necessarily tied to any one language because he knows about algorithms, knows something about how the machine works, and knows how to write a compiler. People who get too focused on individual languages are essentially letting other people do the real thinking for them, and thus they ultimately limit the scope of what they can adapt to. It’s sort of the way a calculator will do your long division for you, but it won’t teach you about math. Learning languages for an aspiring programmer should be done more with a mind to learning programming techniques, and less with a mind to acquiring resume items. I do think it’s important to learn a language or two really, really well, so that you can function in it in your sleep for those times when something critical just needs to GET DONE - and also because it saves you time working on mundania around your office. But in general, the goal is to learn how to program, not how to use a given language. These aren’t the same thing.

Flashy Math and Civil Rights

Filed under: politics — Joshua @ 12:09 pm

Today I ran across an excellent example of how percentages can be used to mislead on Obama’s Civil Rights Agenda page. If you scroll down to the very bottom, there is a bullet point called “Empower Women to Prevent HIV/AIDS:”

In the United States, the percentage of women diagnosed with AIDS has quadrupled over the last 20 years. Today, women account for more than one quarter of all new HIV/AIDS diagnoses. Barack Obama introduced the Microbicide Development Act, which will accelerate the development of products that empower women in the battle against AIDS. Microbicides are a class of products currently under development that women apply topically to prevent transmission of HIV and other infections.

We can argue about the propriety of government forcing investment in prevention products some other day - what concerns me here is that first sentence: “In the United States, the percentage of women diagnosed with AIDS has quadrupled over the last 20 years.” It is important here to distinguish between a percentage and a population total. With a population total, we’re talking about an absolute value - so, if say, 2,000 women had AIDS in 1990, and 8,000 have it now, then we could plausibly say that the number of women with AIDS had quadrupled over the past 20 years, and that would indeed be in some sense “alarming.” But notice that the claim is that the percentage of women with AIDS has quadrupled. That means something quite different. That means that the number that you get when you take the number of women with AIDS and divide it by the total number of people with AIDS has quadrupled. Notice that since this second number depends on the total number of people with AIDS, then it is possible that the percentage of women with AIDS has quadrupled even as the total number of women with AIDS has actually DECLINED since 1990. And indeed, I believe this is what has happened.

Crunch these numbers to see what I mean. If 2,000 women had AIDS in 1990, but that number had dropped to 1,500 by 2008 (a 25% reduction), while at the same time the general population of people with AIDS dropped from 20,000 to 3750, then the percentage of the AIDS population made up by women would have quadrupled, yes, even though the number of women with AIDS had declined significantly. All that’s required is that the general population of AIDS patients be falling much faster than the number of AIDS patients who happen to be women.

Now, some people might complain that this still indicates that female AIDS victims are getting shortlisted for attention. Maybe. But isn’t it also possible that the number of men with AIDS was simply inflated in the early 1990s? In fact, we know this was the case. AIDS was, after all, originally called ‘GRID’ - for Gay-Related Immuno-Deficiency - because in the beginning it mysteriously seemed to affect only gay men. I had always heard this, of course, but it wasn’t until I read Andrew Sullivan’s New Republic essay “The End of Gay Culture” that I realized just how devastating it had actually been. Sullivan credits it with nothing less than total destruction of 1970s gay culture:

The entire structure of emergent gay culture–sexual, radical, subversive–met a virus that killed almost everyone it touched. Virtually the entire generation that pioneered gay culture was wiped out–quickly. Even now, it is hard to find a solid phalanx of gay men in their fifties, sixties, or seventies–men who fought from Stonewall or before for public recognition and cultural change. And those who survived the nightmare of the 1990s to mid-’90s were often overwhelmed merely with coping with plague; or fearing it themselves; or fighting for research or awareness or more effective prevention.

And also, ironically, with later reinvigorating it as an assimilatory culture:

The plague provided a unifying social and cultural focus. But it also presaged a new direction. That direction was unmistakably outward and integrative. … For the first time, a cohort of gay children and teens grew up in a world where homosexuality was no longer a taboo subject and where gay figures were regularly featured in the press.

Sullivan is himself HIV-positive, so perhaps he’s exaggerating about a subject dear to his heart. It happens. But if he’s not - if the AIDS epidemic really had an effect this extreme on the male gay community, then it’s not only not hard to imagine that the raw number of women with AIDS has been falling even as its percentage explodes - it’s indeed difficult to see how it could have been otherwise.

Who are women with AIDS? Actually, they’re mostly black heterosexuals. AIDS was never a lesbian disease. So it’s easy to see the pattern here. Infection rates for men in general were inflated in the 80s because of the huge infection rate in the gay male community. That has since dropped dramatically - in part because it simply killed off most of the people who contracted it, and also because the fact of its being such a prolific killer in a particular segment of the population raised awareness in a way that the relatively low infection rate among black women - which at one of the highest demographic infection rates in the US is still well below 2% - hasn’t.

This isn’t to deny that AIDS awareness is important, or that there is no cause for concern about the infection rate in women in particular. Whatever your opinions about that, it’s easy to see that Obama is playing the alarmist game. There is no “epidemic” of AIDS among women the way there once was among gay men, and the “quadrupling” of the percentage of AIDS patients who are women need mean nothing more than that the male infection rate has fallen from “extreme” to a more natural level. Obama’s language is simply deceptive.

As for the rest of the page, it’s not exactly a litany of why we’re gonna regret a president Obama, but there are plenty of reasons there available to read. He wants to expand federal hate crimes legislation, for one, thus doing even more damage to due process and the Constitution than this absurd legal category as it stands has already done. He wants even more federal micromanagement of employment decisions than already exists. And he wants to repeal Don’t Ask Don’t Tell, which is gonna work wonders for morale.

That said, there’s a lot of really good stuff on this page too. I’m overjoyed to read this one, for example:

Eliminate Sentencing Disparities: Obama and Biden believe the disparity between sentencing crack and powder-based cocaine is wrong and should be completely eliminated.

Absolutely right. It’s a shameful, racist, and ultimately counterproductive policy. There is no credible reason to believe that crack and powder-based cocaine pose radically different dangers to the body public, and so there is no credible reason for the sentencing disparity.

There’s also this:

Expand Use of Drug Courts: Obama and Biden will give first-time, non-violent offenders a chance to serve their sentence, where appropriate, in the type of drug rehabilitation programs that have proven to work better than a prison term in changing bad behavior.

It’s not ideal, but it’s certainly a huge improvement from the Ashcroft/Gonzalez years. As I’ve said many times before, I think the War on Drugs is probably the stupidest government policy currently on the books. It massively misallocates economic resources, cuts the government off from a potential gold mine of tax revenue, causes much more (and much more violent) crime than it prevents, and most importantly it does lasting damage to the civil rights structure of our legal system, making criminals out of people who are guilty of harming no one, giving official sanction to that legal oxymoron, the “victimless crime.” If Obama wants to temper the insanity a bit, he definitely has my support.

All other things equal, I would be really happy about this as well:

Oppose a Constitutional Ban on Same-Sex Marriage: Barack Obama voted against the Federal Marriage Amendment in 2006 which would have defined marriage as between a man and a woman and prevented judicial extension of marriage-like rights to same-sex or other unmarried couples.

Obviously, given my views on marriage, it’s clear that I’m opposed to any federal law that defines marriage in any way, especially if it’s a constitutional amendment. But Obama does want to upend states’ perrogative on this issue in other ways:

Support Full Civil Unions and Federal Rights for LGBT Couples: Barack Obama supports full civil unions that give same-sex couples legal rights and privileges equal to those of married couples. Obama also believes we need to repeal the Defense of Marriage Act and enact legislation that would ensure that the 1,100+ federal legal rights and benefits currently provided on the basis of marital status are extended to same-sex couples in civil unions and other legally-recognized unions. These rights and benefits include the right to assist a loved one in times of emergency, the right to equal health insurance and other employment benefits, and property rights.

So I’m conflicted. On the one hand, I’m generally for civil unions. In fact, I’m for them for heterosexuals as well. I’d like to get the government out of the marriage business altogether. But this legislation may or may not be a step in that direction - and in any case I’m not sure this is a federal-level issue. So - could be good, could be bad, but it’s certainly nothing to get excited about.

Well, four years is a long time, and Obama’s definitely not the most forthcoming president we’ve ever had, so we’ll just have to wait and see. There seem to be good things on the horizon, but the commitment to the minority grievance culture, and the need to play statistical games to justify support for it, do not in general bode well for civil liberties under an Obama Administration.

November 21, 2008

Rights for me and … well, mostly just for me

Filed under: politics — Joshua @ 8:59 am

Lest anyone think that the lawsuit that spawned Prop 8 was an isolated incident, recent news brings us eHarmony’s capitulation on same-sex subscribers. Eric McKinley, a homosexual man who finds property rights a challenging concept, sued eHarmony in New Jersey on the basis that it discriminates against him by not offering a “man seeking man” option. You know, eHarmony founder Dr. Neil Warren, who is a clinical psychologist with 35 years of experience as a marriage counsellor, does all kinds of compatibility research, which he turns into a hugely successful online, marriage-focused dating service. Since his research focuses on heterosexual compatibility, it makes sense that that’s the crowd his service targets. But even if that weren’t the case, the point is that he provided the service: it therefore operates on his terms.

It’s just inconceivable to me that anyone thinks they have a right to dictate the terms of service of a private company. But we see it all the time. Here in Bloomington, for example, there is a comprehensive smoking ban because a handful of people who happen to live here happen to find indoor smoking obnoxious. In a rational society, the people who build the restaurants and provide the waitstaff jobs and pay the property taxes and provide the services that people voluntarily patronize would get to decide whether smoking was allowed on their premises that they pay for and work hard to maintain. People who didn’t like smoking would be (indeed, still are) free to build their own restaurants and cook their own food and hire their own staff and risk their own money and pay their own property taxes. But that involves effort and effort’s, you know, so effortful. Best to let city council just enforce your preferences. Fairness is for suckers … or something.

And so eHarmony becomes the latest victim of this increasingly immature segment of our culture. Some gay dude can’t be bothered to type Apple-L followed by c-h-e-m-i-s-t-r-y-.-c-o-m and hit return, which would take him to a website that caters to his “mating” preferences (being different from eHarmony in exactly this way is the entire focus of its advertising), ergo, he “reasons,” he is a victim of some kind, and since the courts probably have nothing better to do but make him feel better about himself, why the hell not? That’s what the law’s for, right?

Not that eHarmony is above reproach here, mind you. They themselves were gaming the system not two years ago when the chemistry.com ads targeting them started. Apparently chemistry.com was giving a “false impression” of their service by implying that their lack of a “man seeking man” category was discriminatory. eHarmony preferred people not think of it exactly that way, and since the courts probably have nothing better to do but make them feel better about themselves, why the hell not? That’s what the law’s for, right?

So no, I won’t be feeling too sorry for eHarmony itself. What’s good for the goose is good for the gander. If they wanted sympathy for being on the receiving end of attacks from the grievance industry, they should have declined to join it. But that’s the whole bleeding point: how we feel about this particular company or that individual shouldn’t matter to the execution of the law. I don’t have to sympathize with eHarmony in any way to recognize that they’re a victim of injustice here. It’s their service which they provide at their risk and their expense, and they should therefore have sole discretion over the terms under which it is provided. If Eric McKinley feels discriminated against, he is free to vote with his feet and take his business elsewhere. He is even free to set up a competitor and try to put eHarmony out of business. He is certainly free to start an anti-eHarmony boycott. But is there anything about his feeling uncomfortable that requires we get the police involved?

The reductio ad absurdum for this one practially writes itself. Should gay matchmaking sites now be required to cater to heterosexuals? Should gay discos no longer be allowed to bounce out straights? Are there to be no more gay support groups, gay-only comming out parites, gay bars and clubs? Of course not - and that’s as it should be. People have the right to assemble on their own property under any terms they wish. I just wish gays would come around to “getting” that that includes eHarmony.

So which gay publications have spoken out against this decision? Which gay-interest publications will now come forward and defend eHarmony’s right to offer its service on its own terms? Which ones will tell McKinley to fuck off and go back to kindergarten and relearn basic fairness? My Google search turns up a grand total of … none. Maybe they’re out there somehwere and I’m just not finding them, or if not maybe they will start cropping up in the next couple of days, but right now gay opinion doesn’t seem to have noticed much.

Which is why I continue to think of the gay rights movement as the most hypocritical bunch of whiners currently on the political scene.

November 20, 2008

Historic IDS Great Reportings from Glorious Newspaper

Filed under: media — Joshua @ 6:40 pm

A double helping of Political Correctness from the IDS.

First up, Wildermuth name change to be tabled after questioning. “Wilbermuth?” you may be asking yourself. Yes, it turns out the HPER is actually named after someone. Someone from Gary who might once maybe have advocated segregation back in the 40s. You know, like pretty much everyone in the 40s. The “controversy” arises because a school administrator pointed out that segregation was a normal view to hold in the 1940s, and that Wilbermuth, who did all kinds of great things for the university, shouldn’t be held responsible for being mainstream. This didn’t stop people from bloviating in the Jordan River Forum about it being equivalent to having a KKK monument on campus. But since I’m sure no one is ever going to point out to them that Abraham Lincoln himself was a segregationist (abolitionist, but also segregationist), they can continue to imagine this other past where average joes had … pretty much the views everyone has now, save for an evil cabal of white males who forced them to act otherwise.

Second and twice as ridiculous is this bit on new Kelley Business School Poling Chair Gen. Peter Pace called Controversy sparked over Pace’s remarks. Apparently, Gen. Pace said some controversial things about gays, but you’ll have to take IDS’ word on that as they never say what these remarks might have been, why people find them offensive, or even quote Gen. Pace in any way. Rest assured that they were pretty awful, whatever they were, though, because we get quotes from all the relevant campus gay leaders telling us so. They might as well have called the article “Gay People Offended for Secret Gay Reasons.”

But the best part of today’s IDS, as usual, was the Heroic Proletarian Staff Editorial. Apparently, some prof. in California (which is why it’s relevant to IU - just nod) is in trouble for having found better things to do than attend a required sexual harrassment training seminar.

McPherson believes that the training session is a waste of his time and that it casts suspicion on his character. We think McPherson’s logic is backward. By not attending the sessions, he only makes himself appear to be more of a creeper, and by taking such a public stance against something so simple and straightforward, he is wasting everyone’s time.

Yes, ladies and gentlemen, they actually pulled a “when did you stop beating your wife?”. One of McPherson’s complaints is that the training session casts undue suspicion on his character, which the IDS says makes him “appear more of a creeper” … than he already is? And how do you know? Is it maybe because being forced to attend a sexual harrassment seminar casts undue suspicion on people’s character?

Another red-letter day for IU journalism. Keep it commin’, fellas!

November 19, 2008

Consistency IS a First Principle!

Filed under: programming — Joshua @ 12:01 pm

Alright, I know that complaining about C++ is something of an industry, and kind of an annoying one. All things equal, I’m one of those dusty people who actually likes C++, so I don’t want to contribute to this overly much. That said, I think if there’s one thing everyone - lovers and detractors of the language - can agree on, it’s that more attention to keeping things consistent would help a lot.

I’m not one of the programming language rankings hobbyists - but I think everyone who programs has at least some informal preferences tucked away here and there, and “consistency” is one of my higher ones. It’s why I like Python so much. Sure, Python has its problems, but by and large consistency isn’t one of them. With just a few minutes of tutorial, you’re already anticipating what other constructions in the language will look like. This is a Very Good Thing. I despise Perl for the same reason. It’s just a horrible mess. There’s all flavors of subtly different idiom for doing basically the same thing; you really just wish they would make up their minds already.

With C++, the problem generally isn’t Perl’s problem of “there’s more than one way to do it.” That’s true in some cases, but the various ways aren’t so radically different that you can barely recognize them as the same language. What annoys me about C++ is more that all too often the rules change for special cases in deceptive ways.

Take today, for example. I’m sitting here reading a book I’ve read before all the way through yet again already because every time I sit down to program in C++ I find that I have to review. And the reason I have to do that is because of all these idiosyncracies. At the moment, I’m reading about static data members here in Chapter 15, and I discover that this is apparently an acceptable way of initializing one:


Class::member = value;

Alright, good, I get it. Static member data is data that’s associated with the class, so there’s something to be said for accessing it through the class name rather than the individual object name. Indeed, that’s probably the way you want to do it, since requiring initialization through a created object adds a lot of indeterminacy. It might not always be clear which object will do the initializing - so fair enough. What kills it for me is that you can still declare these static data members private, in which case the Class:: syntax is available once and once only for this data member. More than that, if the whole point of a private data member is that you have to go through object code to get to it (providing a route for sanity checks seems to be the main purpose here), then this would seem like an incongruous exception. So like with so many other things in C++, the rule is “you have to go through object code to modify private data members, except when you don’t, and that would be in this one highly specific case, so we went ahead and gave you syntax for that.” Um…

The other result of this is that for public members you get two kinds of syntax:


Class::member = value;

and


object.member = value;

Splitting hairs here, granted, but it seems like if we’re gonna insist that static data members have their own special initialization syntax to mark the fact that they’re members of the Class rather than associated with any particular Object of that class, then it really wouldn’t hurt anyone to require this syntax in all cases? I mean, why allow the second form at all? Well, one could say, because there might be situations where we don’t necessarily know the class of the object because we have several classes all with analogous public static members and it might be any one of them that needs it updated at this point in our program. Alright, so fine, that’s a good point - but if we’re going to allow the somewhat misleading object.member = value; syntax, then why enforce the special exception that the this pointer won’t be available in such situations, dealing, as we are, with static members? That is, in cases where member is a function rather than a data object, then it seems like this should be the sort of thing that can be determined by the calling object. I mean, if you have to allow misleading forms, then the very least you can do is grant those forms their normal functionality where possible, right? Alright, well, I suppose the answer to this one is that the fact of the function’s being static means that you should be able to call it without reference to any particular object. Allowing for this pointer use inside would do some violence to the definition of “static.” Again, true enough. But here’s where my real beef with the language comes in. Viewed properly, this is yet another argument against allowing the object.member syntax for static members in the first place. If they’re not object members and don’t behave like object members, why are we allowed to treat them as if they were for purely syntactic purposes? Alternately, if our argument is that we expect the programmer to be intelligent enough to remember the differences in functionality between static and object class members, then why bother offering the Class::member syntax at all? It seems to me that there are two worldviews about static members trying to coexist in the same syntax. Either static members are something wholly different and should be marked as such, or there is one syntax that covers “access to things associated with classes.” Instead, what C++ opted for was something like “static members are wholly different and should be treated as such, but at the same time there is one syntax that covers ‘access to things associated with classes,’ and although ideally you should be able to pick one or the other according to your predilection, oops! it turns out that there’s one case where we actually enforce the choice for you.” Maddening.

Now, as I said, I like C++ in general. I like that it talks to the machine more directly, I like that it’s so organized, and I like most of all that it looks like C. I just wish some more “first-principles” kind of thought had been put into it. One can hope that the C++0x Committee will give due attention to rooting out these inconsistencies, as I really do think they are the major source of reported difficulty mastering the language. Some improvements on this front do seem to be on the agenda - delegation, for example. But other things - like so-called “uniform” initialization - just seem to smear yet more probably-not-terribly-consistent syntax on top of an already cluttered heap to no real purpose. But hey, we get range-based loops and lambda - so whatever final draft they come up with will pass cost-benefit on that basis alone.