As reported on Wired.
BY CADE METZ
Bob Nystrom, the brain behind a new programming language known as Vigil. Photo: Bob Nystrom
Bob Nystrom is the author of the first programming language that automatically deletes your code if it doesn’t behave the way it’s supposed to. He calls his creation Vigil because it exhibits “supreme moral vigilance.”
“When a Vigil program is executed, Vigil itself will monitor all oaths,” Nystrom writes in his description of the new language. “If an oath is broken, the offending function…will be duly punished. How? Simple: it will be deleted from your source code.”
Many computer programming languages strive for safety, barring programmers from introducing common coding errors, bugs, and security holes. But Vigil takes this notion to a whole new level — setting itself apart from “weaker languages that lack the courage of their convictions” — and it has already struck a chord with the world’s top coders. Last Thursday, at Hacker News, the preeminent online hangout for Silicon Valley software developers, Vigil was the topic du jour, sparking a discussion of epic internet proportions.
One coder thought Nystrom should take the idea even further. “I’d really like to see my entire program get deleted at compile-time rather than having to run it a bunch of times to delete all the faulty nested function calls.” Another hoped Nystrom would go even further than that. “If Vigil fails to punish a function, does it delete itself? Or is it a Hobbesian sovereign?”
Vigil is nothing less than a work of programming genius. Our only complaint is that when we phoned Nystrom to discuss the language, he admitted it was a joke. But until then, he played it so well. The best jokes are those that might very well be serious — those that speak the truth.
“Isn’t a language that deletes code crazy?” reads the Vigil FAQ. “No, wanting to keep code that demonstrably has bugs according to its own specifications is crazy. What good could it possibly serve? It is corrupted and must be cleansed from your codebase.” Code safety is a vitally important part of the programming world, and Nystrom is simply taking things to the logical extreme.
The popular stereotype is that hardcore techies are, well, humor-challenged. But software hackers are another matter. Despite his inability to keep a straight face when a reporter calls asking about supreme moral vigilance in the programming world, Bob Nystrom is living proof that hackers thrive on humor in ways other techies rarely do. Nystrom has long made his living as a programmer and he spends his spare time building new programming languages, including legitimate languages like Magpie. But he’s also prone to “joke hacks” like Vigil — and he realizes that Magpie’s legitimacy is a matter of opinion.
“Yes, you could say I’m a programming language designer, but that may depend on how you define your terminology,” he says. “If you require a programming language to actually have users, then I’m probably not.”
‘Hacking is a rearrangement of form — and that’s what humor is. Hackers don’t accept a given. They try to turn things on their head or repurpose it or use it in a way it wasn’t supposed to be used for. There is a formal similarity with humor.’
Nystrom’s brand of hacker humor is by no means unique — as you can see from that lengthy Vigil discussion on Hacker News. To be sure, some coders didn’t get the joke — or didn’t get it right away. But many more did — and the whole point of the joke was to walk that line between truth and fiction. Nystrom actually built Vigil and posted it on GitHub, the online service where so many coders and businesses build and host software projects using the Git version control tool.
Programming is a creative endeavor — in the extreme — and creative minds so often have a knack for humor. “The engineer mentality, the tinker mentality, the mental mode where you are presented with something and you always say: ‘Well, what are the corner cases? How can I take it apart? What does the other side of that look like?’ — a lot of the same mindset is needed for humor,” Nystrom says. “You’re presented with something that appears to be one thing on the surface and then you pick it apart and see what’s strange about it.”
You’ll hear much the same thing from Gabriella Coleman, an anthropologist who spent three years living with hardcore software hackers and recently documented the experience in a book called Coding Freedom: The Ethics and Aesthetics of Hacking. “Hacking is a rearrangement of form — and that’s what humor is,” she says. “Hackers don’t accept a given. They try to turn things on their head or repurpose it or use it in a way it wasn’t supposed to be used for. There is a formal similarity with humor.”
You don’t think Vigil is funny? Well, we just spent several paragraphs deconstructing the thing. Plus, you’re not a programmer. “That’s the magic of humor,” Nystrom says. “The more specific an audience you can target, the funnier it is to that audience — because then they feel like it was a joke for them. They think it’s funny but they simultaneous feel like you got them.”
Vigil is just a funny as Fuckit.js, “state-of-the-art technology to make sure your javascript code runs whether your compiler likes it or not.” Or the Ballmer Peak. Or Hitler using Git. Well, almost as funny as Hitler using Git.
As Coleman points out, other craftsmen have their own brand of inside humor. But with hackers, it’s different. Hacking is a very much a communal activity, and humor is a way for coders to connect with their peers. “Humor is such a good way to express cleverness — something that’s so highly valued in the hacker community,” she says. “Hacker is collectivist. You have to rely on others to get anything done. But at the same time, there’s such a commitment to individual ingenuity. Humor is the strongest proof of ingenuity. The proof is laughter.”
Over the years, Coleman has attended countless techie conferences, and it’s only at hacker conferences, she says, where audience members will actually interrupt a talk to unload a joke. “It’s about not following convention — because they don’t like convention,” she says. “But it’s about the fact that jokes spring to mind so easily for them.”
As Nyastrom points out, there’s a long history of humor in the programming world, dating all the way back to The Jargon File, a collection of programmer slang compiled by computer and networking researchers in the 1970s. “It’s a dictionary,” Coleman says. “But it’s also really funny.”
Many of these same researchers worked on the ARPANET, the research network that eventually gave rise to the internet, and they were also known for slipping April Fools jokes in the ARPANET RFCs, the official instructions for building the network. Over the years, this sort of dry wit would seep throughout the hacker world, with programmers planting “easter eggs” — hidden jokes — wherever they could, including within software code itself. “You don’t see engineers slipping jokes into their blueprints,” Coleman says.
OK, somebody somewhere has slipped a joke into a blueprint. But with hackers, this sort of playful humor is commonplace. How common? Nystrom can’t quite say, but then he shows, once again, that it’s more common than you might think. “How common is it? I don’t know. I’m not a very good generalizer,” he says. “But I guess that’s a generalization.”