Future Tense: Hello, World!

Before it was “personal computing,” it was “the computer revolution.” And before it was “the computer revolution,” it was “micro-computing.” And before that, it wasn’t anything except a few nerds tinkering with possibilities.
The first micro-computer was the MITS Altair 8800. Popular Science magazine put it on the front cover in January of 1975 and kick-started everything. By May, MITS had sold and shipped over 2500 kits. (That’s right, you had to be a power-user and build it yourself!) Shortly after that, IMSAI introduced the IMSAI 8080 and it became the fastest selling micro-computer in the world.
Both machines were built on the S-100 bus and ran the 8-bit 8080 chip at a whopping 2MHz. The IMSAI 8080 shipped an astonishing 4K of RAM. (That number is still astonishing today. Can you actually do anything in 4K? The demo scene says yes.) It was a beautiful blue box with eight red and blue switches across the front. You set those switches up or down to indicate zero or one. And you entered each byte of your program and your data that way. You were the operating system.
By 1978, there were at least a dozen useful micro-computers on the market. Radio Shack was selling a lot of TRS-80’s at the low end of the market while Apple had the prestige machine at the top, the Apple ][ (John Hodgman was only 7. Justin Long had just been born. There were no smarmy commercials yet). Both of those machines were built on model-specific motherboards.
My personal favorite was the Northstar Horizon. It looked as imposing and as serious as a hi-fi unit, only without VU-meters. It lived in a handsome wooden box. I had one of the first Northstar Horizon kits. It S-100 motherboard had six expansion slots, and a socket for 2.5MHz Zilog Z80 chip. The Z80 processor was a more efficient chip than the 8080. It had a larger instruction set and made better use of its indexes and registers, so it quickly became the standard chip in most micro-computers, particularly the TRS-80 and later on, the Osborne and Kaypro units. (Jobs and Wozniak chose the Motorola 6502 for the Apple because it was a cheaper processor.)
The Horizon ran Northstar DOS and came with Northstar BASIC as its primary programming language. If you were a power-user, you bought it with two five-inch floppy disc drives, and 64K of RAM. That much RAM could set you back as much as $2800. The total cost of a fully equipped machine was over $5000. And we’re talking 1978 money—when a dollar was still worth 73 cents.
But wait, there’s more! If you wanted a clock, that came on a separate board, it cost extra. If you wanted a serial port, that came on a separate board too, it cost extra. If you wanted a video terminal, you needed a video card, that would cost extra. Before you could even boot up, you were likely to spend $7500 or more.
I started with a terminal-printer—a printer with a keyboard—it looked kind of like a huge steampunk typewriter, only with a spinning disk instead of an IBM Selectric’s infuriated golf ball. In those days, a printer-terminal was sufficient, because everything was text-based anyway and the steady stream of paper gave you an accurate record of everything typed in and everything printed out—including all mistakes. I had a large box of perforated paper that fed into the back of the terminal and came out the top.
After I got real word-processing software, the Horizon became a genuine production machine and I could print out a 400-page novel in less than 5 hours. Go ahead—laugh, it was still a lot faster than anything else. The terminal chugged tirelessly away, patiently building up a nice neat stack of perfectly typed, accurately numbered pages. All I had to do was remove the perforated strips from the sides and then manually separate each perfed page from the next. I admit, I did like the clattering sound of the terminal-printer spitting out pages. It was like owning a high-verbal machine-gun.
But the real issue with those early computers wasn’t the hardware, it was the lack of useful software. It hadn’t been written yet. In fact, there wasn’t even a lot of software you could use to write software. Even the operating systems were so primitive they weren’t much more than file-handlers. N*DOS had only a few commands. Copy, delete, and compact—that latter one was primitive defragmentation. N*DOS didn’t fragment files, so if you deleted one, it left a hole. CO A: would slide all the files on the disk in the A: drive up close together, leaving more room behind them for more files. Those first five-inch floppies held a ginormous 90K. That’s K as in kilobytes.
If you wanted to run BASIC, you typed GO BASIC. Or JP 2000 to jump to address 2000 and start processing whatever was in memory at that location—usually BASIC because there wasn’t anything else yet. Or JP 2014 to jump to address 2014 and reenter a BASIC program already in memory—usually right after it crashed.
Northstar BASIC was one of the most powerful programming languages available at the time. In addition to GOSUB which allowed you to call subroutines, it also had a DEFN…FNEND command which allowed you to write multi-line functions you could then reuse anywhere in your program, wherever you needed. Reusable code lets you expand the language as you go. You only have to write the code once. Any time you need that specific bit of data-diddling, you just call that function. For many beginners and hobbyists, myself included, reusable code was the breakthrough that made personal programming practical. But more than that, this was a primitive ancestor of the object-oriented programming that transformed the computing landscape ten years later.
Beyond this event Horizon (pun intended), users had Apple BASIC, and TRS-80 BASIC and Commodore BASIC, because every manufacturer had their own dialect. The early computer magazines—Creative Computing, Personal Computing, BYTE, Kilobaud—printed code-listings of programs or specific techniques. Sometimes they’d print multiple listings to serve each dialect, but even when they didn’t, BASIC was so basic that if you were proficient in one dialect, you could pretty much translate the code of any other variant into your own.
So for a brief time, BASIC was the gateway drug for nerds. Everybody’s first program looked like this:
10 WRITE “HELLO, WORLD!”
After you wrote your program, you typed RUN and the terminal, either printer or CRT would display, “HELLO, WORLD!”
Okay, go ahead and laugh—not quite the same sense of triumph as finishing Colossal Cave Adventure or ascending in Nethack, but it was still quite a rush! The first in a long string of exponentially expanding ecstasies of power and ability and discovery.
In those first heady days, a lot of hyper-enthusiastic geeks declared that micro-computing represented a revolution. We were taking computing away from the priesthood and giving it to the common man, and that someday everybody would know how to program their own computer. Programming would be a skill as ubiquitous as reading and writing.
Well, yes and no.
Most users don’t. Because they don’t need to. Because other people have already written the code, the macros, the applets, the gadgets, the utilities, and the programs they want to use. Most users don’t want to be computer experts, they just want to get some work done.
And most readers of Maximum PC probably know this from personal experience—having been appointed the de facto IT person by their immediate family and friends. “I need you to install Windows 7,” “How come my printer isn’t working?” and “I think I got another virus!”
No, we did not get rid of the priesthood. We became it.