TweetFollow Us on Twitter

March 94 - THE VETERAN NEOPHYTE

THE VETERAN NEOPHYTE

WHY WE DO IT

DAVE JOHNSON

[IMAGE 048-050_Veteran_Neophyte1.GIF]



In the interest of pushing back the boundaries of human knowledge in my own small way, I decided to conduct a little survey via e-mail. I asked only one question:

What's so interesting about programming computers, anyway?

I sent out 87 letters and received 37 direct responses, a 43% return rate! This is a fantastic return rate for a survey. As one respondent wrote:What an interesting survey! Getting hackers to talk about themselves should be easy!

It was.

To alleviate your suspense, here are the top two reasons programmers program, according to my survey:
1. Programmers like solving problems and puzzles. (49%)
2. Programming is a creative outlet. (36%)

In the survey itself I included some hypothetical answers to my own question, as follows:

Do you just like doing puzzles? Is it the money? Was it a horrible accident, and you were supposed to be a doctor when you grew up? Is it because you're really an artist, and computers are the best medium around? Is it because it's the only profession where you don't need to wear shoes to meetings? Is it because you get to hang out with smart people?

Unfortunately, while this accurately conveyed my enthusiasm for the subject, it also completely shredded any objectivity my survey might have had, and skewed the results sharply toward the tight, square little box of my preconceptions. Note that the top reason appears in this list, and furthermore it appears first. Coincidence? I think not. As one alert respondent pointed out, I even blurred the important distinction between what makes programming interesting and what makes it a nice business to be in. Sheesh.

Abandoning rigor and embracing whimsy, I decided to dump all the responses into one big text file and do a word frequency analysis of the whole thing, logging how many times each word appeared. Ignoring the common words likethe and the expected words likeprogram , the winner was problem, at 12 occurrences. Game came in a close second, at 11 appearances. Three words tied for third place, at 8 occurrences:fun, interesting, and think. Nowthis is a satisfying analysis!

Other frequently appearing words were these:puzzle, art, control, creation, enjoy, paid, challenge, complex, efficient, god, high, hooked, money, music, play,and solving. Taken together, they make astrangely accurate mantra about what programming is like, and probably describe in a more complete way than any individual answer why people program.

But let's look again at those top two reasons. In second place we have "Programming is a creative outlet." That fact was mentioned over and over again, but creativity comes in many varieties, and it's interesting to look at the metaphors people chose to describe the act of writing software. Interestingly, they fell into three very distinct categories: programmer as mechanic, programmer as artist, and programmer as God.

The similarities between computer programming and mechanical engineering may be deeper than it seems at first glance:

I got hooked on erector sets when I was young.
-- John Powers

But if programmers are just frustrated machinists, then why don't they get up from their computers and build real machines? Here's why:

On a computer, I can build an amazingly fantastic and elegant gadget, with thousands of working parts all cooperating pleasantly with one another, and I never have to get my hands dirty.
-- Jeremy Nguyen

If you're willing to build your machines behind the glass of a computer monitor, to build them out of logical stuff instead of real stuff, then suddenly the landscape of possible machines becomes effectively infinite. You can build any machine you canthink of, and all those pesky, annoying details like friction and inertia and tensile strength just fall away. For people who like to design machines, and especially for those who aren't so keen on the grease and skinned knuckles, this is a powerful attraction.

Other people chose to compare programming with creating art:

I'm not very good at art, but when I write something that works well I feel like an artist creating a piece of artwork.
-- Kevin Mellander

My father is a painter, and I grew up watching him continually producing new artwork . . . Software is just another medium, less messy, easier to change.
-- Fred Huxham

Programming is definitely a means of expression, and unlike other media software can simulate everyother medium; in Alan Kay's words it's ameta-medium. For those with an artistic leaning this is rich ground, indeed: you can create your artandyou can create new ways of creating art.

My own favorite creation metaphor is programmer as God:

I like it because you can play God, albeit on a microscopic scale. It's hard to explain, but writing code is like creating new life.
-- Dave Hersey

It is the closest I can get to being God (without lifetimes of sadhana). I get to sculpt a little "life-form" that, while admittedly unsophisticated, has a satisfying degree of autonomy.
-- Corey Vian

Since software is something that's dynamic in time and semi-autonomous, it can fairly convincingly imitate living things, in much the same way that machinery often can. But since the software "machines" that computers allow us to construct can be orders of magnitude more complex thanmachines in the real world, their resemblance to life can be much more compelling, much more striking.

The joy of solving problems (or thecompulsion to solve them, as the case may be) seems to be the major reason people program. My favorite survey response of all sums this up nicely:

The reason I program is because I'm a compulsive problem solver and my computer is a never-ending source of problems.
-- Craig Prouse

It's the twin meaning of "never-ending" that I love so much here. The fact that the problems never end is one of those "both blessing and curse" features that computers seem to overflow with. On the one hand, it means that we have an inexhaustible source of puzzles and problems to slake our thirsts, but on the other hand it means that we can never really be finished, and like Sisyphus rolling his stone up the hill, we are doomed to repetitive toil, solving the same kinds of puzzles over and over again.

Here are some of the other reasons people gave, which didn't fall neatly into any category:

It's basically because I have all these ideas in my head, and a computer is the best way to get them OUT of my head . . .
-- Jeff Barbose

Solving the problems is fun, but I must admit that I enjoy the company of the machine -- it's not every day you meet somebody who will associate with you unconditionally.
-- Steve Beitzel

I program to get back at my senior year English teacher. I once got a bad grade on an English paper, and she couldn't give me any concrete reasons why. She just didn't like it. The computer, on the other hand, always gives me a reason why I'm incorrect. It's a game I play with my Mac . . . There are a bunch of rules and it tells me (usually via a bus error) that I broke one.
-- Konstantin Othmer

It's the one thing in my life that is easy to debug.
-- Michael Weingartner

These last two hint at something else that I think might be important. In sharp contrast to the real world, the world of the computer is reassuringly knowable. What this means is thatcomputer problems always have answers. There is always a discoverable reason behind a computer's behavior, and I can't help wondering whether this is one of the major reasons people get such satisfaction from programming.

Most questions we ask about the real world turn out to be hopelessly complicated. How can we improve the economy? No neat and tidy answer to that one. Why does your child love those particular red plastic boots so much? That's not really answerable in any complete way. Why is ice slippery? Why is the sky blue? How do birds know when it's time to fly south? None of these questions have clean answers.

Ironically, though, there seems to be a basic human need tofindanswers. Look at the huge amount of time and energy we spend trying to discover and proclaim truths about our world. Religion, art, and science are all manifestations of the human desire to understand. So it's no surprise that computers, with their fantastically complex but ultimately knowable behavior, are extremely satisfying artifacts to spend time grappling with. Finding the answers can be enormously challenging, but there's always an answer to be found:

It gives me one thing I *know* I can boss around.
-- Jim Luther

Amen.

RECOMMENDED READING

  • Dreams of Reason by Heinz R. Pagels (Simon and Schuster, 1988).
  • The Hidden Life of Dogs by Elizabeth Marshall Thomas (Houghton Mifflin, 1993).
  • Tuesday by David Wiesner (Clarion Books, 1991).

DAVE JOHNSON's favorite book between the ages of 5 and 11 was the World Book Encyclopedia. Sometimes in the early mornings, before anyone else was awake, he'd sneak out of bed, creep quietly through the dark and silent house to the living room, and slip a volume from the shelf. ("M" is fondly remembered to this day: matches, monsters, motors . . . ) Stopping off in the kitchen for a stack of cookies, he'd make his way back to his bed, and stay there reading and generating crumbs as the sun came up.*

Thanks to all the survey respondents and to Jeff Barbose, Michael Greenspon, Bill Guschwan, Mark ("The Red") Harlan, Bo3b Johnson, Lisa Jongewaard, and Ned van Alstyne for their always enlightening review comments. *

Dave welcomes feedback on his musings. He can be reached at JOHNSON.DK on AppleLink, dkj@apple.com on the Internet, or 75300,715 on CompuServe.*

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Vivaldi 1.0.118.19 - Lightweight browser...
Vivaldi browser. In 1994, two programmers started working on a web browser. Our idea was to make a really fast browser, capable of running on limited hardware, keeping in mind that users are... Read more
Stacks 2.6.11 - New way to create pages...
Stacks is a new way to create pages in RapidWeaver. It's a plugin designed to combine drag-and-drop simplicity with the power of fluid layout. Features: Fluid Layout: Stacks lets you build pages... Read more
xScope 4.1.3 - Onscreen graphic measurem...
xScope is powerful set of tools that are ideal for measuring, inspecting, and testing on-screen graphics and layouts. Its tools float above your desktop windows and can be accessed via a toolbar,... Read more
Cyberduck 4.7 - FTP and SFTP browser. (F...
Cyberduck is a robust FTP/FTP-TLS/SFTP browser for the Mac whose lack of visual clutter and cleverly intuitive features make it easy to use. Support for external editors and system technologies such... Read more
Labels & Addresses 1.7 - Powerful la...
Labels & Addresses is a home and office tool for printing all sorts of labels, envelopes, inventory labels, and price tags. Merge-printing capability makes the program a great tool for holiday... Read more
teleport 1.2.1 - Use one mouse/keyboard...
teleport is a simple utility to let you use one single mouse and keyboard to control several of your Macs. Simply reach the edge of your screen, and your mouse teleports to your other Mac! The... Read more
Apple iMovie 10.0.8 - Edit personal vide...
With an all-new design, Apple iMovie lets you enjoy your videos like never before. Browse your clips more easily, instantly share your favorite moments, and create beautiful HD movies and Hollywood-... Read more
Box Sync 4.0.6233 - Online synchronizati...
Box Sync gives you a hard-drive in the Cloud for online storage. Note: You must first sign up to use Box. What if the files you need are on your laptop -- but you're on the road with your iPhone? No... Read more
Fantastical 2.0.3 - Create calendar even...
Fantastical 2 is the Mac calendar you'll actually enjoy using. Creating an event with Fantastical is quick, easy, and fun: Open Fantastical with a single click or keystroke Type in your event... Read more
The Hit List 1.1.14 - Advanced reminder...
The Hit List manages the daily chaos of your modern life. It's easy to learn - it's as easy as making lists. And it's powerful enough to let you plan, then forget, then act when the time is right.... Read more

SoundHound + LiveLyrics is Making its De...
SoundHound Inc. has announced that SoundHound + LiveLyrics, will be one of the first third-party apps to hit the Apple Watch. With  SoundHound you'll be able to tap on your watch and have the app recognize the music you are listening to, then have... | Read more »
Adobe Joins the Apple Watch Lineup With...
A whole tidal wave of apps are headed for the Apple Watch, and Adobe has joined in with 3 new ways to enhance your creativity and collaborate with others. The watch apps pair with iPad/iPhone apps to give you total control over your Adobe projects... | Read more »
Z Steel Soldiers, Sequel to Kavcom'...
Kavcom has released Z Steel Soldiers, which continues the story of the comedic RTS originally created by the Bitmap Brothers. [Read more] | Read more »
Seene Lets You Create 3D Images With You...
Seene, by Obvious Engineering, is a 3D capture app that's meant to allow you to create visually stunning 3D images with a tap of your finger, and then share them as a 3D photo, video or gif. [Read more] | Read more »
Lost Within - Tips, Tricks, and Strategi...
Have you just downloaded Lost Within and are you in need of a guiding hand? While it’s not the toughest of games out there you might still want some helpful tips to get you started. [Read more] | Read more »
Entertain Your Pet With Your Watch With...
The Petcube Camera is a device that lets you use live video to check in on your pet, talk to them, and play with them using a laser pointer - all while you're away. And the Petcube app is coming to the Apple Watch, so you'll be able to hang out with... | Read more »
Now You Can Manage Your Line2 Calls With...
You'll be able to get your Line2 cloud phone service on the Apple Watch very soon. The watch app can send and receive messages using hands-free voice dictation, or by selecting from a list of provided responses. [Read more] | Read more »
R.B.I. Baseball 15 (Games)
R.B.I. Baseball 15 1.01 Device: iOS Universal Category: Games Price: $4.99, Version: 1.01 (iTunes) Description: The legendary Major League Baseball franchise returns to the diamond. Make History. ** ALL iPOD Touch, the iPad 2 and the... | Read more »
Here's How You Can Tell if an App W...
The Apple Watch is pretty much here, and that means a whole lot of compatible apps and games are going to be updated or released onto the App Store. That's okay though, beacause Apple has quietly updated their app description pages to make things... | Read more »
Forgotten Memories : Alternate Realities...
Forgotten Memories : Alternate Realities 1.0.1 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0.1 (iTunes) Description: + REDUCED PRICE ONLY THE LAUNCHING WEEK + "The most exciting horror game of 2015." - AppSpy... | Read more »

Price Scanner via MacPrices.net

Intel Compute Stick: A New Mini-Computing For...
The Intel Compute Stick, a new pocket-sized computer based on a quad-core Intel Atom processor running Windows 8.1 with Bing, is available now through Intel Authorized Dealers across much of the... Read more
Heal to Launch First One-Touch House Call Doc...
Santa Monica, California based Heal, a pioneer in on-demand personal health care services — will offer the first one-touch, on-demand house call doctor app for the Apple Watch. Heal’s Watch app,... Read more
Mac Notebooks: Avoiding MagSafe Power Adapter...
Apple Support says proper usage, care, and maintenance of Your Mac notebook’s MagSafe power adapter can substantially increase the the adapter’s service life. Of course, MagSafe itself is an Apple... Read more
12″ Retina MacBook In Shootout With Air And P...
BareFeats’ rob-ART morgan has posted another comparison of the 12″ MacBook with other Mac laptops, noting that the general goodness of all Mac laptops can make which one to purchase a tough decision... Read more
FileMaker Go for iPad and iPhone: Over 1.5 Mi...
FileMaker has announced that its FileMaker Go for iPad and iPhone app has surpassed 1.5 million downloads from the iTunes App Store. The milestone confirms the continued popularity of the FileMaker... Read more
Sale! 13-inch 2.7GHz Retina MacBook Pro for $...
 Best Buy has the new 2015 13″ 2.7GHz/128GB Retina MacBook Pro on sale for $1099 – $200 off MSRP. Choose free shipping or free local store pickup (if available). Price for online orders only, in-... Read more
Minimalist MacBook Confirms Death of Steve Jo...
ReadWrite’s Adriana Lee has posted a eulogy for the “Digital Hub” concept Steve Jobs first proposed back in 2001, declaring the new 12-inch MacBook with its single, over-subscribed USB-C port to be... Read more
13-inch 2.7GHz Retina MacBook Pro for $1234 w...
Adorama has the 13″ 2.7GHz/128GB Retina MacBook Pro in stock for $1234.99 ($65 off MSRP) including free shipping plus a free LG external DVD/CD optical drive. Adorama charges sales tax in NY & NJ... Read more
13-inch 2.5GHz MacBook Pro available for $999...
 Adorama has the 13-inch 2.5GHz MacBook Pro on sale for $999 including free shipping plus NY & NJ sales tax only. Their price is $100 off MSRP. Read more
Save up to $600 with Apple refurbished Mac Pr...
The Apple Store is offering Apple Certified Refurbished Mac Pros for up to $600 off the cost of new models. An Apple one-year warranty is included with each Mac Pro, and shipping is free. The... Read more

Jobs Board

*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
*Apple* Watch SW Application Project Manager...
**Job Summary** The Apple Watch software team is looking for an Application Engineering Project Manager to work on new projects for Apple . The successful candidate Read more
Map Services Frameworks Manager - *Apple* M...
Job Description: Apple 's Maps Evaluation Organization is seeking a Senior Manager to lead the Map services assertions and performance frameworks group. Key Read more
Shuttle Driver - APPLE EAST, APPLE EAST (Unit...
HERE WE GROW AGAIN!! We are adding to our team! Red Lion Chevrolet of Apple Automotive is growing and we are looking for a PART TIME SHUTTLE DRIVER/ PORTER FOR SERVICE Read more
*Apple* Retail - Multiple Positions (US) - A...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.