Skip to content

Paid Compiler

The first Sun server I touched at work was a Netra T1.

No VGA output. You connected a serial cable and ran an X server on your local machine. The CPU was SPARC, not x86, and binaries compiled on a Linux PC wouldn't run on it. Source compatibility and binary compatibility are completely different concepts. That machine drilled it into me.

So when I spotted a stack of what looked like corporate lease-returns — Netra T1s — piled up in a shop near Hourin Park in Akihabara, I didn't hesitate. The neighborhood would later be known as the area where Steins;Gate is set, but back then it was just a street of junk shops. The Sun logo was printed large across the top panel. I was deep into Solaris at the time, and that logo looked impossibly cool to me. Using one at work and owning one are different things.

To build software on my own SPARC machine, I needed a compiler. gcc worked fine. Free, portable, reliable. But the de facto standard on Solaris wasn't gcc. It was Sun Studio, and at its core, the Sun C Compiler.

Sun CC used to cost money. A paid compiler. Back then, that was normal. A new license ran close to three thousand dollars. Sun CC was best at optimizing for SPARC, and binaries built with gcc sometimes showed a performance gap. The compiler that knows its CPU best is the one made by the same people who made the CPU. Makes sense.

And gcc and Sun CC had different compiler flags. Different optimization options, different warning controls. Write a Makefile with gcc in mind and it breaks under Sun CC. The other way around, too. Seeing OSS projects with Makefiles and configure scripts that handled both — that earned my respect.

Then Sun CC went free. As part of the same wave that open-sourced Solaris 10, Sun Studio 11 was released at no cost. This was 2005. A three-thousand-dollar compiler, free. I downloaded it immediately.

The Sun Studio installer was a GUI. Written in Java, wizard-style. Click "Next" over and over, watching the progress bar fill. I wondered why a compiler installer needed a graphical wizard. But Sun in those days was trying to turn UNIX into a desktop OS. They genuinely believed in a future where you developed graphically on top of the Common Desktop Environment.

That future never came. Sun was acquired by Oracle, SPARC development stopped, and Sun Studio quietly faded away under different names. Nobody builds binaries with Sun CC anymore. It's the age of gcc, and now clang. Compilers are free by default. Cross-compilation and containers absorb the differences between instruction sets.

But sometimes I remember. Clicking "Next" in that Java installer, savoring the thrill that a three-thousand-dollar compiler was now mine for nothing. Something that used to cost money becoming free felt different from something that was always free.

Now I write code with a free compiler, a free editor, on a free OS. For a generation where everything was free from the start, that thrill probably doesn't translate.

Then again, the conviction Sun poured into that GUI installer — that a graphical future for UNIX was worth building — doesn't translate to anyone anymore either.