Future Tense

Hello, “Hello, World”

The first code any programmer learns also says a lot about the craft.

Michelangelo's Creation of Adam overlaid with "Hello, World" code.
Photo illustration by Lisa Larson-Walker. Painting by Michelangelo.

This article is part of a series on the most consequential lines of code in history. Read about 36 bits of software that have changed the world. 

Want to learn some programming? You can go right now to this website, where you can run code in the programming language Python. Now type this single line …

print ("Hello, World!")

… and hit the big green “RUN” button near the top of the page.

Presto: You’ll see the computer execute your bidding and say Hello, World! It’ll even be in white-on-black monospaced text so you’ll feel like a proper hacker.

Congratulations: You’ve just partaken in one of the oldest traditions in software. Nearly every time a neophyte starts to code—or even when a seasoned programmer decides to learn a new language—the first thing they do is get the computer to say “Hello, World.” Every craft has its lore, and “Hello, World” is a key part of the cultural canon in software. Indeed, I’d argue it illuminates some core aspects of coding culture—the good, the bad, and the ugly.

Nobody really knows who first ordered a computer to say “Hello, World!” But it began its ascent to nerd fame back in 1972, when the computer scientist Brian Kernighan was writing a manual for the language B. He wanted to demo B’s ability to take little scraps of text and assemble them.

Kernighan had recently seen “some cartoon of a chick coming out of an egg, and it says Hello, World,” as he told me when I called him up to ask about it. It tickled his fancy, so he used that. Before long, writers of tutorial manuals began surfing in Kernighan’s wake.

What made “Hello, World” so wildly popular? It’s partly just practical: It’s a quick way to get a peek at what working in a coding language will be like and whether you’d enjoy the syntax. One glance at Python’s “Hello, World” shows you that it’s famously spare and easy on the eyes, while Java’s is a six-line hairball: ouch. (If you really want to geek out, you can see examples written in 28 different languages here.)

But the real reason “Hello, World” is so popular is its sheer metaphoric jolt. It taps directly into the thrills of programming, which are deeply Promethean.

After all, writing and running code often feels like a form of magic. You’re creating a life form, a golem, something that’s walking and talking like it’s alive. When the coders at Facebook created the news feed back in 2006 and published the first experimental post, one joked that “it was like the Frankenstein moment when the finger moves.” Nailed it.

Writing software seems all the more like sorcery because, well, all you’re doing is uttering words. Get them wrong and nothing happens. Utter them correctly and inert matter—silicon—suddenly obeys your orders. Coding is the art of “telling rocks what to think,” as the programmer Erin Spiceland once quipped.

Even the most jaded late-career coders I’ve met still routinely marvel at the eldritch nature of their work. “A few hundred years ago in my native New England, an accurate description of my occupation would have gotten me burned at the stake,” as the programmer Danny Hillis once wrote. Hackers, having a sense of humor about this—and, no surprise, being big fans of wordplay—have long leaned into the thaumaturgical spirit. When MIT computer scientists in the ’60s invented helpful routines that ran in the background, they called them “daemons.” Larry Wall, creator of the language Perl, included a command called “bless.” (This example of how to use “bless” is pure poetry: bless $self, $class.)

As everyone discovers during their first “Hello, World,” coding confers an astonishingly powerful sense of control and mastery. The machine does precisely and obediently what you tell it to. I think this is why so many coders become first besotted when they’re children or teens. In their everyday lives as kids, their authority is minimal; at the keyboard, it is total.

That has a narcotic appeal. “When you’re a kid, that feeling is wild,” as one coder at Noisebridge, the hackerspace in San Francisco, told me. “It’s like you have a little universe to control, that you create.” That joy, and its accompanying creative jolt, never quite goes away, which is why so many programmers will dive into the zone for hours or days, and hate coming back out. “It must be a dopamine thing,” as Sarah Drasner, a well-known full stack developer, once told me. “I will not go to parties so I can code.”

That sense of mastery has a dangerous side too.

It can lead to epic hubris. Hey, if you’re that good at commanding computers, shouldn’t you be able to command … anything? Software developers, as the programmer and Pinboard founder Maciej Cegłowski has observed, often “become convinced that they have a unique ability to understand any kind of system at all, from first principles, without prior training, thanks to their superior powers of analysis. Success in the artificially constructed world of software design promotes a dangerous confidence.”

One can see that breezy overconfidence all the time in today’s Silicon Valley, where founders insist that their new gewgaw will “revolutionize” our lives. Some of them certainly will, but they usually come with gnarly civic side effects. The Ubers and DoorDashes optimized car-hailing and food ordering, but they atomized work into a frenzy of low-paying gigs. Airbnb helped tourists out, but also incentivized landlords to stop renting to local residents. Facebook’s news feed keeps us apprised of our friends, while also providing an alarmingly efficient vector for malcontents to inject loopy conspiracy theories into the national attention span.

I don’t mean to rag on programming and programmers. Many of the truly great ones I’ve met are humble and cautious about the limits of their craft. And I do just enough hobbyist coding myself to respect what a sheer joy it is to write software, and how valuable it is when someone creates a truly useful app.

But it’s clear that the romance of the craft can intoxicate, and that we might want to watch out for that. In recent years, several coders have argued persuasively that computer science students should exposed to more courses in history, art, literature, or anthropology. Those are great ways to begin grasping the messy, grayscale nature of society. You learn that culture and politics and civic life are complex systems that rarely behave the way you expect them to.

That’s a world also worth saying “hello” to.

Future Tense is a partnership of Slate, New America, and Arizona State University that examines emerging technologies, public policy, and society.