Where did “Hello World?” come from?

Posted: May 11, 2011 in Programming, Uncategorized
Tags: , ,

While trying to think of something to write for a first post, I noticed that by default, WordPress creates a post for you called “Hello World.” For those that are coders, this phrase probably invokes memories of your first computer program that ran. For those that aren’t, for some reason, this phrase has been traditionally used as the output of a new coder’s first program.

If you Google for “Hello World!”, you’ll get hundreds of results relating from setting up a OrientDB cluster, to creating your first Scala program. With the explosion of dynamic languages in the last few years, “How do I create a Hello World” has reached almost meme status. The phrase is so pervasive, finding the true origin has lead me across the internet until finally I came to the entry in Wikipedia which states, “[Hello World] was inherited from a 1974 Bell Laboratories internal memorandum by Brian KernighanProgramming in C: A Tutorial, which contains the first known version.”

It is interesting how such a simple program has evolved into a standard right of passage for new languages. I think back to the first time I saw that phrase in a C programming class in college, and thinking how strange it was that the professor chose that phrase. Later when I reported it to a coworker, he said, “Yep, that’s everyone’s first program. It’s so simple, it’s only downhill from here…” Almost 10 years later, I found my answer.

My name is Jonathan, this is my Hello World! Thanks for reading.

  1. Chris says:

    It’s also in the first C book – “The C Programming Language”? – and that’s likely to be one of the first published uses. I refuse to admit when I bought my copy of the book.

    Everyone forgets that the second sentence was “Goodbye, world!”, or as countless students have written towards the end of the semester, “Goodbye, cruel world!”.

    It’s an interesting read though – K&R warn against assuming that a ‘char’ is always 8 bits. On some architectures it can be as few as 6 or as many as 9 bits. I think there was a similar warning about assumptions regarding the size of ‘int’ and ‘long’ – a LOT of software broke when Microsoft C finally migrated from 16- to 32-bit longs. I can’t remember if the book mentioned ‘coroutines’.

    BTW the real reason for the program is to make sure your tool chain is working. That was a nontrivial question in the 70s and a good contemporary equivalence is getting your webapp to produce the first page with trivial but dynamic content. It can be something as simple as

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s