Blogs
Links
|
[Fri, 23 Apr 2004]
Reminds me of a conversation I overheard at Stanford once. Remember, this a university setting and people here are supposed to be comfortable with unnaturally smart individuals. Voice 1: You heard ? There's a new world record for the youngest doctor in the world. Some [Indian-American] kid in NY is 14 or something and already a doc. Voice 2: Geez! I couldn't even do arithmetic well when I was 14 Voice 1: Yeah, but do you *want* to be treated by a 14-year old ? Voice 2: Well.... Child prodigies annoy me- they make me feel stupid. And, anyway, exactly how many patients will a 14-year-old doctor get?
So that dose of pseudo-profound armchair psychology was in reaction to this news item that the Japanese are angry at their fellow countrymen who were hijacked (and later released) in Iraq. Most tellingly, the only kind word to those poor souls came from a non-Jap, Colin Powell. The public anger in Japan goes deep enough that the govt is asking for $6K in the return fare for flying the people back to Japan. The public anger mostly stems from the individuals' disregard of the Foreign Ministry's travel advisory. Doesn't this statement by the P.M. Junichiro Koizumi sounded so familiar ? When two freed hostages mentioned wanting to stay or return to Iraq to continue their work, Prime Minister Junichiro Koizumi angrily urged them "to have some sense." "Many government officials made efforts to rescue them, without even eating and sleeping, and they are still saying that sort of thing?" he said. . On a related note, read the part about "sneak-attack nation". On yet another note, I wonder how Indians would've reacted in a similar situation. I'd like to think we'd be more like Americans than the Japanese. Or could we just be apathetic ?
"Our man in the street could try asking an auto mechanic to tell him ab out automobiles, then asking a programmer to tell him ab out programs, and comparing the results. The mechanic might reply as follows. "An automobile is constructed by people. After they have finished constructing it, it runs. However, it may have some bugs. [Most mechanics would use the term "problems", but everyone understands this one when he sp eaks of `bugs'.] These are usually minor [such as non-functioning windshield wip ers], but occasionally they are serious enough to make the automobile stop running. The bugs are found by testing, and are fixed. The automobile then runs prop erly, and is sold to the user. The user then op erates the automobile. However, as he uses it, new bugs may app ear. Therefore, the automobile must b e maintained. Maintenance is also required if the user wants to modify the automobile--for example, to improve its performance [perhaps by `souping up' the engine]. When the automobile becomes to difficult to maintain, the user has to buy a new one." Unfortunately, the programmer might say almost exactly the same things ab out programs! Our poor man in the street would be no further towards his goal. The reader has undoubtedly guessed by now that I am not interested in explaining the difference between a program and an automobile to the man in the street. He was just a pedagogical device, and will now be returned to his street. My purpose is to explain the difference between a program and an automobile to programmers. An automobile runs, a program does not. (Computers run, but I'm not discussing them.) An automobile requires maintenance, a program does not. A program does not need to have its stack cleaned every 10,000 miles. Its if statements do not wear out through use. (Previously undetected errors may need to be corrected, or it might be necessary to write a new but similar program, but those are different matters.) An automobile is a piece of machinery, a program is some kind of mathematical expression. Programmers may be disheartened to learn that their programs are not like automobiles, but are mathematical expressions. Automobiles can be loveable--one can relate to them almost as if they were alive. Mathematical expressions are not loveable--they are hard to relate to. Many programmers may feel like clinging to their b elief that programs are like automobiles. However, further thought reveals that mathematical expressions do have certain advantages over automobiles. Unlike an automobile, a mathematical expression can have a meaning. We can therefore ask whether it has the correct meaning. One cannot talk about the correctness of an automobile--it may run properly, but it makes no sense to say that it is correct. Since a program is a mathematical expression, one can (at least in principle) decide if it is correct." Of course, all the usual disclaimers about copyright still apply. |