The Port
I was a 19-year-old student at Florida Tech in 1989 when I helped port S, the predecessor to R, onto a VAX running VMS. Here’s a dramatized version.
**Melbourne, Florida, 1989.**
The computing center at Florida Tech never really slept. Past midnight, the air conditioning still roared to keep the VAX cool behind its glass wall, and the terminals glowed green in a room that smelled of warm electronics and stale coffee.
Danny Calloway was nineteen, and he had been handed a job that felt far bigger than he was: help get the new version of S running on the university’s VAX.
S had come out of Bell Labs, a language for statisticians written by people who thought in Unix. The new release, New S, was even more so. It expected shell scripts and pipes, a tidy tree of slash-separated directories, and a C compiler that behaved like the ones in New Jersey.
The VAX ran VMS.
The first night he tried to build it, almost nothing worked. The build scripts assumed a Unix shell that didn’t exist. Where the code wanted /usr/lib/S, VMS answered in its own dialect of disk names, square brackets and semicolons. Every time a file was saved, VMS faithfully kept the old copy too: FILE.DAT;1, FILE.DAT;2, FILE.DAT;3. The directories slowly filled with ghosts of earlier attempts.
New S stored every object as its own small file. On VMS, that meant thousands of them, each one a chance for a name to be too long, the wrong case, or quietly versioned into confusion.
The Fortran was the one bright spot. The old numerical routines, the parts that did the real math, compiled on VAX Fortran almost without complaint. It was the C code that fought him: library calls that didn’t exist, quirks the compiler wouldn’t forgive, and the delicate handshake whenever C needed to call Fortran and get the right answer back.
Get Kenneth Streetman’s stories in your inbox
Join Medium for free to get updates from this writer.
He learned to read error messages the way other students read novels. He printed listings on green-bar paper, spread them across a table and traced problems with a pencil. Some nights he went home with nothing to show but a longer list of things that didn’t work.
And then, one night, it did.
He typed the command, waited, and a prompt appeared: a single, unassuming >.
He typed something simple:
x <- c(1, 2, 3, 4, 5)
mean(x)
The terminal paused, then answered: 3.
It wasn’t much. But somewhere inside that VAX, a language built for Unix was now running on a machine it had never been meant for, and a nineteen-year-old had helped get it there.
He didn’t write any of it down. There didn’t seem to be any reason to. It was a student job, one more project in a busy year.
Decades later, he’d hear about a language called R, free and open source and running on laptops all over the world. Its syntax looked familiar: the little arrow, the functions, the prompt waiting patiently for the next command.
R grew out of S. And for a few long nights in 1989, in a cold room in Florida, he’d been part of that story.
*Author’s note: This story is based on true events. Names have been changed, and some details have been imagined or dramatized to fill gaps in a memory that is now more than thirty-five years old.*




