Developer divide: 19 generations of computer programmers

From punch cards to JavaScript, computing history owes everything to those who've programmed the machines

Credit: Ben Barbante
Developer divide: 19 generations of computer programmers

The computer industry has been through a number of generations, each with its own distinctive flavor, often defined by a programming language or technology. They burst out with newborn fervor before settling into a comfortable middle age -- still kicking somewhere because software never really dies.

These new technologies often group programmers by generation. When programmers enter the job market and learn a language, they may stick with the same syntax for life. It's not that it's hard to learn a new language; 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.

Credit: Ben Barbante
Punch-card programmers

The '60s-era computers received instructions from cards with punched holes, a scheme that dates to the earliest programmable looms for weaving cloth. 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

Credit: Ben Barbante
Space Shuttle programmers

This crew worked with 8086 chips and kept the shuttles running by searching eBay for replacement hardware. The computers may not have had much memory, but they traveled farther than the biggest mainframes and fanciest racks.

Language of choice: Assembly code
Special skill: Remembering which register is already swapped to RAM
Social media strategy: Logged into Facebook once to friend spouse and neighbor
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

Credit: Ben Barbante
Cray programmers

There was a time when the fastest computers were built by a small company run by an enigmatic genius who spent off-hours digging tunnels in his basement.

Language of choice: Cray's automatically vectorizing Fortran
Special skill: Setting up loops so the Fortran compiler could vectorize them
Social media strategy: Going to the company holiday party
Other career choice: NASA rocket scientist
Clothing: White shirt with pocket protector
Rhetorical tic: "It's classified."
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 NCM outside Fort Meade

Credit: Ben Barbante
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: 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

Credit: Ben Barbante
Basic programmers

Invented to help Dartmouth students learn to write endless loops, Basic became the dominant early PC language when Bill Gates released Microsoft Basic. All the early games and software for the PCs were written in Basic. Today it lives on as Visual Basic.

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

Credit: Ben Barbante
C programmers

C grew hand in hand with all of the variations of Unix and is still used by those who love Unix and Linux. It remains the tool of choice for those who program "close to the metal."

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

Credit: Ben Barbante
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

Credit: Ben Barbante
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.

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, or anyone else liked by Steve Jobs
Favorite artifact: NeXT machine

Credit: Ben Barbante
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.

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

Credit: Ben Barbante
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 CMSes 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 Kozmo moped

Credit: Ben Barbante
Java programmers

The first great language for the Internet, Java was driven by the promise of running everywhere. The desktops never surrendered to the server farms, but the introductory programming classes did.

Other language of choice: Pascal
Special skill: Creating extralong variable names in camel case so the code is self-documenting
Social media strategy: Checks Java.net account for local Java Users Group 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

Credit: Ben Barbante
C# programmers

They fell in love with Java but remained loyal to Microsoft, perhaps because the boss insisted. The code looks similar. The idioms work the same way. It's pretty much the same as Java, but with a few 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

Credit: Ben Barbante
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 inputs, but a 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

Credit: Ben Barbante
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

Credit: Ben Barbante
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.

Other language of choice: JavaScript
Special skill: Figuring out how to make the layout manager work
Social media strategy: Posts pictures to Instagram and Hipstamatic but never uses words
Other career choice: Mortgage foreclosure processor
Clothing: Hoodie
Rhetorical tic: "This will sell millions."
Car: BMW
Song: Feist's "1234" or anything else chosen for an Apple commercial
Favorite artifact: iPod with a wheel

Credit: Ben Barbante
JavaScript programmers (second generation)

At some point, JavaScript programming turned into a professional path with snooty ideas and endless debates about clean code. Today, many Web pages are powered by sophisticated stacks that can only be maintained by skilled coders. The field is dominated by libraries that abstract away browser incongruities and offer a sophisticated plug-in structure.

Other language of choice: jQuery
Special skill: Closures
Social media strategy: Waiting for App.net
Other career choice: Working as a barista
Clothing: Hoodie
Rhetorical tic: "There's an open source jQuery plug-in that does it."
Car: Fixed-gear bicycle
Song: M83, "Midnight City"
Favorite artifact: Brendan Eich DM

Credit: Ben Barbante
Haskell programmers

The language of the future offers a functional, statically typed mechanism that can reduce the complexity of event-driven code. The main users are still found in universities, but that's changing as cool open source projects gain traction.

Other language of choice: ML
Special skill: Getting around the prohibitions on keeping state around
Social media strategy: Alumni Notes, Reddit
Other career choice: Professor of mathematics
Clothing: Turtleneck sweater with elbow patches
Rhetorical tic: "I like my laziness effortless and ubiquitous."
Car: Yugo
Song: Karlheinz Stockhausen's "Klavierstücke IX"
Favorite artifact: Möbius strip

Credit: Ben Barbante
Hadoop programmers

The tool for building map/reduce jobs is technically not a language, but a collection of libraries written in Java. Not that it matters -- writing the code requires a talent for spotting the best way to spread out the workload over a cluster of machines.

Other language of choice: Java
Special skill: Making sure the data is always local
Social media strategy: Yahoo coding conferences
Other career choice: Actuary
Clothing: Flannel shirt with beard, where possible
Rhetorical tic: "Big data."
Car: Retro Schwinn 10-speed bike
Song: Dan Deacon's electronica
Favorite artifact: Stuffed elephant

Credit: Ben Barbante
Node.js programmers

They learned JavaScript to add an Easter egg to their band's website. Now they're working for the enterprise using that same JavaScript to handle $10 billion in forex transactions a day.

Other language of choice: jQuery
Special skill: Trying to remember not to block the server with code that takes too long to execute
Social media strategy: Still bummed Diaspora hasn't gone far
Other career choice: Going to college
Clothing: Ironic T-shirt from Old Navy
Rhetorical tic: "Threads can be concurrent? Are you sure?"
Car: Skateboard
Song: "Video Games" by Lana del Rey
Favorite artifact: Rooted Android phone running Node