Developer divide: 19 generations of computer programmers

This IBM 1620 was where most of us learned to program a computer. Under the tutelage of Professor Nimitz, we wrote code in Fortran on punch cards, which the computer compiled into an enormous stack of cards, which held the commands in machine language. To execute the program, you fed the big stack into the computer, and if there was a single error, you had to throw out the entire stack and start over. An entire corner of the computer lab was fenced off as a disposal area for the waste cards. Credit: flickr/euthman

If you've been coding for any amount of time, you will probably recognize many of these generational traits in yourself, your coworkers, and the programming community at large.

If you're searching for a fountain of youth, the easiest way to get that feeling of continual rebirth is to hang around a few tech product launches. Every new rollout comes with the fresh, unabashed feeling that this has never been done before. Ever.

[Programmer picks: 6 tools for rapid mobile development and Microsoft C# named programming language of 2012]

But it has. Apple has been bringing us "one more thing" for more than 30 years. Even the iconic commercial introducing the Macintosh is nearing 29 years old. Newness has never been so old.

[ Get paid for your IT war stories. Send your tale to offtherecord@infoworld.com; if we publish it, you'll receive a $50 American Express gift cheque. | Learn how to work smarter, not harder with InfoWorld's roundup of all the tips and trends programmers need to know in the Developers' Survival Guide. Download the PDF today! | Keep up with the latest developer news with InfoWorld's Developer World newsletter. ]

Hype notwithstanding, the computer industry has already been through a number of generations. IBM has roots in tabulating companies that began about 130 years ago. That's three 40-year generations of tabulation and computing work without overlap.

In practice, new generations overlap quite a bit. The Internet is easily more than 30 years old, but it wasn't widely open to nonresearchers until about 20 years ago. During those 20 years, there have been at least three different bubbles, each with a feeling all its own.

These generations each have a distinctive flavor, often defined by a programming language or technology. They burst out with newborn fervor before settling into a comfortable middle age. They may not be on the top of the pop charts after a few years, but they're often still kicking because software never really dies. It's always running in some corner of a stack, somewhere somehow.

These new technologies often group programmers by generation. When programmers enter the job market and learn a language, they often stick with the same syntax for life -- or at least as long as they can before having to make a switch. It's not that it's hard to learn a new language; they're all pretty similar underneath. It's just that you can often make more money with the expertise you have, so the generations live on.

Here is our guide to some of the more dominant tech generations in computer history, as embodied by the programmers who gave them life. The list is far from complete, but if you've been coding for any amount of time, you will probably recognize many of these generational traits in yourself, your coworkers, and the programming community at large.

Punch-card programmers

The '60s-era computers received their instructions from a stack of card with punched holes, a scheme that dates to the earliest programmable looms for weaving cloth. Some enterprise programmers talk about old software as "dusty deck," which is largely a metaphor. There was recently a story about a punch card programmer for looms in England that still use the old technology to make lace.

Language of choice: Fortran Special skill: Not dropping the deck of punch cards Social media strategy: Joining the right country club Other career choice: Advertising Clothing: Dark flannel suit Rhetorical tic: "They say there's a need for five computers, but I think doubling or tripling that estimate would be more accurate." Car: Oldsmobile Song: Ella Fitzgerald's "Mack the Knife" Favorite artifact: Wreath made of punch cards

Space Shuttle programmers

This crew just retired with the Space Shuttle. During their years, they worked with 8086 chips and kept the shuttles running by searching eBay for replacement hardware. The Space Shuttle computers may not have had much memory, but they traveled farther and faster than all of the biggest mainframes or fanciest racks.

Language of choice: Assembly code Special skill: Remembering which register is already swapped to RAM Social media strategy: Logged into Facebook once last year; has friended spouse and two neighbors Other career choice: Disco lighting designer Clothing: Leisure suits Rhetorical tic: "If we don't do it, the Russians will win." Car: Cadillac Eldorado Song: Frank Sinatra's "Fly Me to the Moon" Favorite artifact: 8086 chip

Cray programmers

There was a time when the fastest computers were built by a relatively small company run by an enigmatic genius who spent his off-hours digging tunnels in his basement. That's a true fact about Seymour Cray, the genius who built the first generation of machines designed for big data sets and complicated mathematical analysis.

Language of choice: Cray's automatically vectorizing Fortran

Special skill: Knowing how to set up loops so that the Fortran compiler could vectorize them

Social media strategy: Going to the boss's July 4 BBQ and the company holiday party this year

Other career choice: NASA rocket scientist

Clothing: Short-sleeve white shirt with pocket protector

Rhetorical tic: "It's a classified project supported by the DoD."

Car: Nondescript sedan that blends into the NSA parking lot

Song: Wendy Carlos and Benjamin Folkman's "Switched-On Bach"

Favorite artifact: Cray sitting in the National Cryptographic Museum outside Fort Meade

Cobol programmers

The first big adopters of computers never would have succeeded without a simple mechanism for writing software that supported the core business. Cobol was the first great tool for writing what the enterprise programmers call "business logic."

Other language of choice: Fortran Special skill: Trying to keep on using self-modifying code like ALTER X TO PROCEED TO Y< Social media strategy: Sends out Christmas cards printed on paper Other career choice: Stereo designer Clothing: Tracksuit left over from an early morning mall walk Rhetorical tic: "It's cool." Car: Honda Civic Song: Gillian Hills, "Zou Bisou Bisou" Favorite artifact: Something signed by Grace Hopper

Basic programmers

It was first invented to help Dartmouth students learn how to write endless loops, but it became the dominant language of the early personal computer generation when Bill Gates released Microsoft Basic. All of the early games and software for the PCs were written in Basic. Today it lives on as Visual Basic, a popular language for anyone using the .Net platform.

Other language of choice: Assembly code Special skill: Using GOTO without creating spaghetti code Social media strategy: Going to Studio 54 Other career choice: Fast-food restaurant developer Clothing: Bell bottoms Rhetorical tic: "It's easy." Car: Last convertible Song: Blondie, "Heart of Glass" Favorite artifact: Cassette version of Microsoft Basic

C programmers

The language began as one step above assembler, but grew hand in hand with all of the variations of Unix. Today it's still used by those who love Unix and its latest dominant variant, Linux. It remains the tool of choice for those who want to program "close to the metal" and not rely on automatic mechanisms like garbage collectors.

Other language of choice: C++ Special skill: Remembering to free everything malloced Social media strategy: Posts to Usenet three times a month Other career choice: Bell telephone switch technician Clothing: Red Hat T-shirt from the early days Rhetorical tic: "Wouldn't you rather handle the memory yourself?" Car: Original Toyota Land Cruiser Song: Something by the Ramones Favorite artifact: Bell Labs coffee cup

C++ programmers

When C programmers looked at the idea of object-oriented programming, they created C++, a baroque version that worked best when the programmer was able to keep track of all the complicated ways code could interact. It took all of the garage-grade DIY intensity and added another way for programmers to prove themselves worthy.

Other language of choice: C Special skill: Multiple inheritance Social media strategy: Friendster Other career choice: Pinball wizard Clothing: Jeans jacket with safety pins Rhetorical tic: "Java pretty much broke object-oriented programming." Car: Ford Explorer Song: The Clash's "Clash City Rockers" Favorite artifact: Borland C++ T-shirt

Objective-C programmers (first generation)

There are two groups of people who fell in love with Objective-C: the people who bought a NeXT machine and those who bought an iPhone. The first generation went on to rescue Apple in its darkest days and pull it back from the brink.

Other language of choice: Smalltalk Special skill: Using InterfaceBuilder Social media strategy: Subscribes to 42 mailing lists Other career choice: Wall Street investment banker Clothing: Hawaiian shirt Rhetorical tic: "You mean C++ doesn't do that for you?" Car: Mazda RX-7 or BMW 325 Song: Anything by Bob Dylan, Grateful Dead, Cat Stevens, or anyone else liked by Steve Jobs Favorite artifact: NeXT machine

Perl programmers

The simple language for manipulating text files appeared around the same time as the Internet, so when people needed to fix Web servers, they turned first to Perl. If you have text in one format and need to change it -- "massage it," in Perl parlance -- it may only take 10 to 20 characters. Most of the Perl scripts may be short, but that never stopped some true believers. Slashdot, after all, was built with Perl.

Other language of choice: Unix shell scripts Special skill: Regular expressions Social media strategy: Arguing on Slashdot Other career choice: Roboticist building simulated dinosaurs for malls Clothing: Jacket and T-shirt Rhetorical tic: "It's the duct tape of the Internet." Car: Tuned Honda Civic Song: Pantera's "Cemetery Gates" Favorite artifact: First edition of O'Reilly's Perl handbook

PHP programmers

Many PHP programmers fell into PHP by accident. They were creating HTML, and they needed a bit of dynamic logic. One tag led to another, and they found themselves creating websites and content-management systems with the code.

Other language of choice: JavaScript Special skill: Juggling the coding layer and the HTML markup Social media strategy: More than 1,000 friends on Facebook; still logs into MySpace Other career choice: Mortgage broker Clothing: T-shirt depicting logo of pre-bubble startup you've never heard of Rhetorical tic: "Monetize the eyeballs." Car: Aging SUV Song: The Cure's "Just Like Heaven" Favorite artifact: Orange moped from Kozmo

Java programmers

It was the first great serious language for the Internet, driven by the promise of running everywhere. The desktops never surrendered to the server farms, but the introductory programming classes did. Today it lives on in the hearts of Android programmers.

Other language of choice: Pascal Special skill: Creating extralong variable names in camel case so that the code is self-documenting Social media strategy: Attends local Java Users Group meeting each month; checks Java.net account for new meetings Other career choice: Y2K programmer Clothing: Java One polo shirt Rhetorical tic: "The JVM will just handle it in another thread." Car: Mazda Miata Song: Talking Heads' "Wild Wild Life" Favorite artifact: Something signed by Jim Gosling

C# programmers

They fell in love with Java but remained loyal to Microsoft, perhaps because the boss insisted on keeping it a Microsoft shop. The code looks similar. The idioms work the same way. It's pretty much the same as Java, but with a few nice fixes worked into the mix.

Other language of choice: .Net Special skill: Navigating the .Net documentation Social media strategy: Wondering whether Skype counts as social media Other career choice: Starbucks barista Clothing: Freebie Windows 98 tennis cap Rhetorical tic: "It's really more efficient than the JVM." Car: Toyota Prius Song: Nirvana's "Come As You Are" Favorite artifact: A Windows 8 phone

JavaScript programmers (first generation)

The first group of JavaScript programmers weren't really programmers but Web designers who needed their page to do a bit more. Many just wanted to check the input to make sure it was legit, but an annoying few ushered in the unending era of garish animations.

Other language of choice: HTML Special skill: Remembering to put the function between script tags Social media strategy: Going to a friend's GeoCities page Other career choice: Chain restaurant manager Rhetorical tic: "It works on IE 5.5 but not 6.0 yet." Clothing: Parachute pants Car: Ford Taurus Song: Beastie Boys' "So What'cha Want" Favorite artifact: Netscape Share Certificate

Ruby on Rails programmers

It takes all of 10 minutes to wrap a nice website around MySQL, then years to fiddle with it. The Ruby language offers a clean, low-punctuation syntax, while the Rails framework makes it easy to type the smallest files around. It's almost as if it were designed by carpal-tunnel sufferers.

Other language of choice: SQL Special skill: Getting your stack to run on JRuby Social media strategy: Writing a personal version of Facebook in 20 lines of code Other career choice: Molecular gastronomist Clothing: Plaid shirt and jeans Rhetorical tic: "You just need a few tables and you're done." Car: Minivan Song: "The Rails Song" Favorite artifact: 37 Signals T-shirt

Objective-C programmers (second generation)

The second generation of Objective-C lovers appeared during the app gold rush after Apple opened up the iPhone to apps written by outsiders. Suddenly a language slowly dying was reborn.

1 2 Page
Insider: How the basic tech behind the Internet works
Join the discussion
Be the first to comment on this article. Our Commenting Policies