Developer divide: 19 generations of computer programmers
- 07 January, 2013 15:50
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.
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.
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.
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."
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
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
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
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
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
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
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
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.
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
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
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
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."
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.
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
Rhetorical tic: "This will sell millions."
Song: Feist's "1234" or anything else chosen for an Apple commercial
Favorite artifact: iPod with a wheel
Other language of choice: jQuery
Special skill: Closures
Social media strategy: Waiting for App.net
Other career choice: Working as a barista
Rhetorical tic: "There's an open source jQuery plug-in that does it."
Car: Fixed-gear bicycle
Song: M83, "Midnight City"
Favorite artifact: DM from Brendan Eich
The language of the future offers a functional, statically typed mechanism that can reduce some of the complexity for writing modern, event-driven code. While the first implementations are easily more than 20 years old, the main users are still found in universities, but that's changing as cool open source projects gain traction. Haskell lovers insist this proves it will be the hot language in the 2020s.
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."
Song: Karlheinz Stockhausen's "Klavierstücke IX"
Favorite artifact: Möbius strip
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. As long as "big data" remains a buzzword that captivates the corporate leadership, we'll see more exploring the best way to write Hadoop jobs.
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
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: Post-Facebook, post-Path, still bummed that Diaspora hasn't gone very far
Other career choice: Going to college
Clothing: Ironic T-shirt from Old Navy
Rhetorical tic: "Threads can be concurrent? Are you sure?"
Song: "Video Games" by Lana del Rey
Favorite artifact: Rooted Android cellphone running Node
Joyent polishes Node.js with commercial support package
Australian startup snapshot: Kicktone
Samsung investigating labor conditions at supplier factory in China
Will this robot make America safer?
Yieldbroker signs up to ASX data centre