Why learn to program?

Why would a geographer need to learn to program? I don't see that the motivation is very different from than that of a historian. To paraphrase from William J. Turkel and Alan MacEachern's The Programming Historian:

We think that at least some [analysts] really will need to learn how to program. Think of it like learning how to cook. You may prefer fresh pasta to boxed macaroni and cheese, but if you don't want to be stuck eating the latter, you have to learn to cook or pay someone else to do it for you. Learning how to program is like learning to cook in another way: it can be a very gradual process. One day you're sitting there eating your macaroni and cheese and you decide to liven it up with a bit of Tabasco, Dijon mustard or Worcestershire sauce. Bingo! Soon you're putting grated cheddar in, too. You discover that the ingredients that you bought for one dish can be remixed to make another. You begin to linger in the spice aisle at the grocery store. People start buying you cookware. You get to the point where you're willing and able to experiment with recipes. Although few people become master chefs, many learn to cook well enough to meet their own needs.

If you don't program, your [business] process will always be at the mercy of those who do.

I've substituted analyst for historian, and business for research. There's nothing like a cooking analogy, is there?


Re: Why learn to program?

Author: Kirk

mmmm, is that spaghetti code I smell ?

Re: Why learn to program?

Author: Mick

Awesome paraphrase. Spot on, for those that have the passion to and wisdom to program. I recall the charge in the eighties. But the admin of whatever organization you're really cooking for has to contribute to the bill at the grocery store. And they often see the coal being shoveled into the oven to make SOS as good enough efficency. Too much organizational communication is somehow equivalent to too many cooks in the kitchen. They're paying for new kitchen tools that are not exploited, except to support the way their fore-fathers cooked. I guess if the heat's too hot, consider getting out of the kitchen. Support the cooks with the underemployed passion to be chefs. They're the ones shoveling coal and daydreaming of how much more efficient things could be, and how many satisfied customers they'd see. Consider the guy hanging in the dungeon in Monty Python's Life of Brian; "A great culture, the Romans", (obviously paraphrased). He dreamed of building a GIS in a target-rich environment, and kept smiling.

Re: Why learn to program?

Author: gilles

Funny, I teach programming basics to GIS students and the very first program example I gave them was actually a cooking recipe. It is quite useful to explain them what is an algorithm and that there's nothing to be afraid of.

Tomorrow is the last session of this course, I'll mention your cooking analogy.

Re: Why learn to program?

Author: Sean

I'm curious, Gilles: How soon do you introduce proper programming techniques? I've been arguing in my blog that we shouldn't teach beginners to make spaghetti code and getting some strong contrary opinions.