"Everything else I’ve written, those were all on magnetic tapes and are lost to history.”
Image: Flickr/Dave Shields
Dave Shields is trying to save a dying machine language.
Shields has been coding for more than 50 years, and over the decades he's worked at both NYU and IBM as a research programmer—someone who pushes the boundaries of software design. Shields has racked up a few accomplishments worth bragging about over his long career, including being one of the developers behind Jikes, a Java compiler that was also IBM's first open source project.
But Shields, now 70 years old and retired, is mainly interested in just one thing these days: an obscure programming language called SPITBOL that he worked on in the 1970s and then abandoned for 30 years.
SPITBOL is, Shields says, a "quick and dirty" implementation of a 60s programming language called SNOBOL4, written by Robert Dewar. It's terse and to the point—28,000 lines of code altogether, half of which are comments—and is chiefly meant to manipulate text and symbols, and recognize patterns. While SNOBOL4 was seen at the time as powerful but slow, SPITBOL was built for speed.
Now, Shields is trying to keep SPITBOL alive as an open source project hosted on GitHub, all by himself. Since taking the project online in 2009, Shields has been the sole contributor to SPITBOL's code. So far, he's succeeded in reconfiguring the language, which he at one time ported for a 60s supercomputer called the CDC 6600, to work on modern Linux and Mac operating systems.
"I think that GitHub is going to be around 20 years from now," Shields told me over the phone. "It's now possible to build software that can really survive for the long run. Everything else I've written, those were all on magnetic tapes and are lost to history."
Shields' goal is to create SPITBOL implementations for many modern languages (Google's Go, for example) so that people can continue to use it long after he's passed away. "I'm working with this code that's been around for 50-plus years and figuring out what I can do now, so people will have a good chance of being able to use it 10 or 20 years down the road," Shields said.
SPITBOL is written at the assembly language level—low-level code that interfaces almost directly with hardware itself. Since most coding is now done at a higher level, Shields refers to SPITBOL as an important part of software history. "What's special about it is that it's the most elegant surviving example of coding at the machine level," Shields said. "The art of writing at the machine level is a lost art."
In one case, SPITBOL was used to parse data from the Ashley Madison hack
In the 70s, Shields stopped working on SPITBOL. In 1987, a programmer named Mark Emmer took over the project after years of working with SNOBOL4. The code he used was provided on a floppy disk from Dewar, and over the next decade, Emmer maintained SPITBOL and created versions able to run on the Mac, Windows, and Unix machines of the time. He also turned the project into an at-home mail order software business. In 1994, he stopped working on SPITBOL.Watch more from Motherboard: The Lost Art of Canada's Doomed Pre-Internet Web
"As much as I enjoyed the programming and the customers, it never was a livelihood that could provide for retirement," Emmer wrote me in an email, "So in 1994 I renewed old work contacts and did low-level embedded systems development until I finally did retire in 2009, and moved to Mexico in 2011."
Now, Emmer told me, everything having to do with SPITBOL—tapes and disks from decades ago—is packed up in cardboard boxes, which he just drove down from Colorado to his home in Mexico. But 2009 was a serendipitous year.
Just when Emmer was retiring, Shields was looking to get back into the game. Emmer sent Shields a .zip file with everything he needed, and Shields got to work porting the whole thing to GitHub. Six years later, Shields is still plugging away on the project, hoping to keep it alive for years to come.
"I'm delighted," Emmer wrote, referring to Shields' project. "It's an amazing piece of code and a monument to Robert Dewar's genius for implementation."
In a 2012 blog post describing his role as the sole contributor to the SPITBOL GitHub repository—which recently got some attention on Hacker News—Shields calls himself SPITBOL's only user as well. This is meant to be tongue-in-cheek, he told me over the phone. He's not the only user, he just hasn't received much feedback on all the work he's done so far.
"I realized was that what mattered was not the notoriety. It was just the work itself"
Just as an example, a fairly active SNOBOL4 and SPITBOL-focused Yahoo group exists. The last post is from August 31st at the time of writing, and it has 165 members. In the group, users describe using SPITBOL to process mailing lists and, in one case, parse the dumped database of Ashley Madison user data.
But, in the end, a large (or small) user base isn't what matters to Shields, not really. It's the sublime pleasure of code.
"It was a point I learned on Jikes," Shields said. "We won a bunch of awards, and it was a big deal at the time, but when I looked back at it a few years later what I realized was that what mattered was not the notoriety. It was just the work itself. That's what brought the greatest pleasure and the parts that I remember the most. That's how I feel about SPITBOL."