By Gemma Penson - Computer Science Student @ Trinity Hall, Cambridge, and Matilda Lysaght, Aspiring Computer Scientist
“Hello, World!” We’ve all come across it, every beginners' course loves it, and over 200 APIs use it. But why?
Well, “Hello, World!” is an ideal starting code as it demonstrates the single, self-contained programming task of outputting text. In statistically typed Python, this is print() and in dynamically typed C# it’s Console.WriteLine(). The tasks' simplistic nature and frequent use lead to the establishment of the TTHW (“Time to hello world”) metric, used for both languages and APIs, which measures their ease-of-use.
While mini test programs have existed since the creation of programming computers, “Hello, World!”’s first appearance is credited to the 1972 book A Tutorial Introduction to the Language B by Brian Kernighan. It’s used as an example to illustrate external variables:
This short program prints the phrase “hello, world!” on the terminal along with a newline character. When used in B, the phrase has been split-up as character constants are limited to four ASCII characters, with both “hell” and “orld” being examples.
In a previous example in the book, a program printed “hi!” only used one character constant, so “Hello World” was given as a slightly longer, more complex programming task when first introduced. When asked when or why he chose this particular phrase in an interview with Forbes India, Brian responded: “What I do remember is that I had seen a cartoon that showed an egg and a chick and the chick was saying, “Hello, World.”
So why did it become so popular? One catalyst that sparked the “Hello, World!” phenomenon is credited to be the parallel introduction of one of the first commercial microcomputers: the PDP-11. At a sales price of $10,00 significantly lower than the millions computers usually cost, they became a great success with over half a million units sold.
As more people purchased programmable computers like PDP-11, more people read Brian Kernighan’s books on languages B and C until millions of copies had sold. By the 80s and 90s, almost every programmer working on desktop software owned or had referenced one of his works, including the now-famous “Hello, World!”
Having now discussed the history of “Hello, World!”, there’s interesting cultural links that can be made. It’s unknown whether Kernighan would have pondered upon these connections when writing his tutorial, but this simple phrase can be tied to both present and past culture in numerous ways.
When Frankenstein created his monster it was a blank canvas: it couldn’t talk nor did it have knowledge. Similarly, a computer has no direction without the programmer inputting instructions, with this often being “Hello, World!” code for aspiring programmers.
“Hello, World!” connotes ideas of creation almost as if the machine is conscious, but due to the simplicity of this user-display command we understand it’s lifelessness. It also conjures up ideas of biblical creation, as if the programmer has created an intelligent being bordering those found in science fiction. However, anyone with a knowledge of programming languages will recognise that the computer gives no thought when completing the basic command of outputting “Hello, World!”.
In addition, Christains believe that after creating the world, God rested happy with his work. Similarly, after finishing code, programmers will often sit with a sense of satisfaction. Many programmers feel a unique glory when they first program basic instructions such as outputting “Hello, World!” leaving them hooked.
This idea of sentience can also be seen in a phrase which could have easily caught on. “MY HUMAN UNDERSTANDS ME” was a phrase also used in 1972, but this time in the language BASIC. Many perceive this to be more startling than “Hello, World!”, but it highlights creation well. The possessive adjective “MY” used here strongly makes links to the programmer being the creator, much like Frankenstein or the Christian idea of God.
Hopefully next time you open an IDE and see “Hello, World!”, or use it in your own programming, you’ll understand that it’s more than just a throw away cliché phrase. In the book that inspired this article, Clive Thompson writes that “Code straddles worlds, half mental and half idea”, with “Hello, World!” showing this through it’s simplistic appearance yet complex meaning.
Further reading:
2015. Trikha, Ritika. HackerRank. The History of ‘Hello, World’. Available at: <https://blog.hackerrank.com/the-history-of-hello-world/>
2021. SoftwareGuild. The History of Hello World. Available at: <https://www.thesoftwareguild.com/blog/the-history-of-hello-world/>
2011. Prasad, Shishir. Forbes. Brian Kernighan: No one Thought C Would Become So Big. Available at:<https://www.forbesindia.com/interview/special/brian-kernighan-no-one-thought-c-would-become-so-big/29982/1#ixzz20uGsw1jH>
2020. Thompson, C. Coders: Who They Are, What They Think and How They Are Changing Our World. Picador, Chapter 1, p.14
Comments