The Old Blog Archive (Traditional Chinese), 2004-2009

“hello, world!” and Urashima Taro (English)

In the Japanese folktale Urashima Taro, the young fisherman Taro was invited to the Ryugaku, or the Palace of the Sea Goddess, for his kindness that rescued a little turtle.

What Taro did not know was that, as he was having a pleasant day in the Palace, three hundred years had passed in the human world. Before he went back ashore, the Princess gave Taro a box as a souvenir. Taro went back home, opened the box. In a sudden, Taro, the young fisherman, was turned into a very, very old man.

Recently I came upon something quite like that.

I’ve downloaded the latest version of MinGW, a set of gcc-based development tools ported to the Win32 platform. I’ve used it some years ago as a replacement to the once-fashionable djgpp.

Understandably, one tries to make some program with a new compiler. But which one? My old habit was still that of doing a “hello, world!”

Yet, what was once known as the C++ version of “hello, world!” did not compile with the latest MinGW. Its gcc dumped a whole screen of threatening errors and warnings onto my stdout.

Only then did I realize that the world has been changed.

A kind friend of mine told me: No, non, nein! No one writes “hello, world” that way, not anymore. The contemporary C++ version of “hello, world!” should look like this:

01: #include 
02: using namespace std;
03: int main()
04: {
05:    cout < < "hello, world!" << endl;
06:    return 0;
07: }

For the sake of explanation, line number is put in front of every line. First of all, iostream.h is gone, replaced by a form that forsakes the “.h” suffix. The namespace thing on line 02 is new. I’ve heard about it some years ago, but never known that it is already the standard. And — which is the point here — without the “using namespace std” thing on line 02, the cout object, on line 05, would not be recognized by the compiler!

“Didn’t you know? Ever since the ‘S’ in STL (Standard Template Library) becomes real, too many people name their funny classes in the same fashion, and the namespace is quickly exhausted. That’s why they put those damned iostream thing into the std namespace!” That kind friend of mine explained it to me.

I found it unbelievable.

Before I thought something would never change. What I didn’t know is, the latest compiler would not compile what is innocently taken as the first example of the first chapter. … of most people’s first C++ tutorial. Instead it angrily shouts at you, asking if you come from an age where 640K should have been enough for everyone.

Only then I realized that I haven’t done any serious coding since… let me think about it in hexadecimal… yes, 1994, that’s a full 0xa, or ten in decimal, years of time.

Ten years. The last project I did that required a makefile to make it (a mini GUI, which was a little pièce de résistance for me) was a good ten years ago. In between the years, even though I sometimes dug out old codes and old compiler from dusty .zip files and fiddled with them, all in all I moved away from the programming world. Totally away.

Now, even the simplest program has changed its face. And I, like Urashima Taro, opened the box of MinGW, and found that what was then a geeky teen full of chutzpa, is now a neither-nor at a very strange stage of his life.

Ten years could change a hell lot of things. Linux has matured. The Fellowship now not only consists of gcc, but also of Perl, PHP, Python, les trois mousquetaires that share the letter “P” as their initial. The middle earth is troubled — unnecessarily — by some weird stuff named after the largest island of Indonesia (some would rather say after the name of a certain coffee bean). As for the Dark Side, there are ASP, C# (reads “C Sharp”), .net, and, before them, all those so-called new, fancy, one-stop-solution-for-all database access models, each of them came in succession, one after another, every one or two years. Ten years ago everyone climbed elm tree or pine tree. Now there are only a small number of the crowd that do not seek an outlook delivered in express. Too many things like that. Not to mention all those flame wars between the ten years, and the still effective Moore’s Law. One thing is for sure: even though the Fellowship grows stronger, the fall of the Dark Side is yet to be seen [1].

I told my story to ilya, a friend of mine. He commented: “If someone can kill -9 all the kungfus inside him/her as cleanly as you did, that will surely be an achievement.”

Quite so.

ilya did ask me why I made that choice. To which I replied it was a difficult question. It is difficult to come up with an answer. That does not mean that I can’t answer it or don’t have an answer. But that would be a process that takes time. And that process is so personal. Most of it is internal gibberish, and there are also vanity, foolishness, exhaustion, and even nausea (in an existentialist sense of that word). In sum, I don’t think I am able to face it now. Nor do I presume it would be of any interest to any reader. At least not before I understand the meaning of the whole history, if ever possible.

Still, with what seems to be a melancholic narrative, I’ve lately come upon some new epiphany: as I’m gradually recovering, or reigniting my own appetite for the computer and technological world, I find that a kungfu-less person like me (or more honestly, a “de-kungfu’ed person,” as this is what happened to me) keeps his eyes wide open before everything that is shining and wonderful. I, like a newbie, have fallen into the blazing world of technology:

Miranda [2]: O Wonder!
How many goodly creatures are there here!
How beauteous mankind is! O brave new world!
That has such people in’t! (Shakespeare, The Tempest, 5.I)

Notes

  1. Who would know? If, in that year before time, some person, who sold the code for the sake of money, had thrown what was the origin of DOS into Mount Doom, everything should have been over then.
  2. My first laptop was uncannily named Miranda.

One Response to ““hello, world!” and Urashima Taro (English)”

  1. on 17 Mar 2004 at 23:18nao

    Hello, I am a your friend in orkut, nao. I read your blogs and found it very interesting .I think I am a “eternal” newbie in the IT world.