Sunday, February 11, 2007

pszGulasz: PULONG_LONG, PULARGE_INTEGER

I am a big fan of Mac computers and even use the word Mac as synonym for coolness (or lack thereof), as in "There is no mac in emacs".

The other day I made a typo in the attempt of e-mailing a link to this blog to someone: oh my! I used a slash instead of a dot: the-free-meme/blogspot.com

Firefox somehow read through the clutter in my head and took me to the right place (in spite of the error). By contrast Internet Explorer just sat there impotently, summoning up to mind this quote from the Hitchhiker's Guide To The Galaxy: [...] the incredstupid but equally dangerous and ravenous Bug Blatter Beast of Traal. This incredibly stupid monster thinks that if you can't see it, it can't see you!

I dream of a day when humans will be able to talk to computers in fuzzy terms, and the machines pick up the correct message. Think about it: why should we adjust to the demands of the machine, and appease it by addressing it in very precise, unequivocal ways? The human brain is able to understand the meaning of an article in spite of typos; more so, it can detect subtle changes of context, satirical undertones, and so on. Machines? Not so much.

As the song goes, you may think I'm a dreamer, but I am not the only one. I read that the genius who came up with Hungarian notation seems to be harboring similar thoughts. Why do I think this is funny?

Regardless of what camp you are in, both strong-typed languages and dynamic-typed languages strive towards a similar goal: the programmer should not be burdened with the intellectual overhead of remembering the types of the variables. In strong-typed languages the compiler enforces the correct types at... compile-time, and with most dynamic-typed languages the runtime takes care of the needed conversions under the hood.

By contrast, the HN is designed to help the poor programmer remember the types of the data; something you should not care much about in the first place. Instead of going after the root of the problem (i.e. some fuzziness in the C language wrt types), Microsoft went for the quick-and-dirty solution of making developers adjust to the idiosynchrasies of their machines, and scarred them for life: to this day there are some darned souls in Redmond who are still using HN.

And the hidden joke is that HN and Romanian Language don't mix well.

No comments: