Transcendental Bloviation

Politics, Space, Japan

Saturday, April 14, 2007

My grudge against Charles Simonyi

Charles Simonyi is in orbit. It seems even supposed Microsoft arch-enemy Google is celebrating, if the decorations on their logo on their current homepage are any indication.

Unlike some commenters on (and many others) I don't begrudge Simonyi the wealth that got him up there. I might begrudge him the part of his wealth that accrued from Microsoft's monopolistic position. But Microsoft would have made him rich even if it hadn't gone that route. He'd probably be in orbit now (or maybe sooner) even if Microsoft had somehow gone belly-up during the 90s.

No, my gripe against Simonyi is a hacker's gripe: I hate Hungarian Notation. It had a use at one time, I suppose, but why did he have to make it the Law of the Land at Microsoft? Writing code that way made sense if you were hacking BRAVO, the world's first personal computer WYSIWYG word processor, in a poorly-typed language like BCPL. But not if you're writing C, and definitely not if you're writing C++. At least, not if you're writing good code in those languages (or in other typed, ALGOL-family languages like Java.)

Almost every rationale offered for Hungarian Notation consists of offering a crutch for bad coding practices -- like, using lots of globals, writing procedures so long it's hard to scroll back to variable declarations, and tying variables to fixed types when more abstraction is almost invariably better.

Even Microsoft has apparently figured this out. For .NET, they actually advise against using Hungarian. Well, against the worst variant of it, anyway: so-called Systems Hungarian. Arguably, Simonyi's invention got out of control, and was used in ways that made people hate it. Still, he could have done something about that. But he didn't.

$20 million to go to space? He has probably cost the world economy more than that by simply not going public enough with his own objections to how Hungarian Notation got fetishized and perverted. But at least he went to orbit, which I applaud. I'm ambivalent about sending Gates up, though, unless he never comes back down. I'm not sure the Moon would be far enough for me. Why, it's a whole argument in itself for commercial space travel: if they can send one Microsoft billionaire to the Moon, why not all of them?


At 11:58 PM, Anonymous Anonymous said...

Hi Michael,

You have a very cool blog here…loved the content.
U know there is an awesome opportunity for people like you who have ur own blogs n sites…I came across this site called…it’s a platform for people to buy and sell IT related information. and everytime you sell some information you get paid for it…Good money for people like us in the IT domain. Here the link

Sign up is free…check it out…
You can contact me at my id here for more questions :


At 1:39 PM, Anonymous TJIC said...

Hungarian notation is idiotic in strongly typed languages like C and C++.

I personally like strongly typed languages, and often feel like I'm driving fast without a seatbelt when I use so-called "duck typed" languages. I mean, I love lisp, don't get me wrong, but the lack of typing seems somehow dangerous.

Maybe Hungarian would make more sense in loosely typed languages?


Post a Comment

<< Home