A couple of months back I posted a couple of long and serious musings about what programming is all about and how you learn to do it. Today I'd like to talk about a more frivolous topic, which is what verb you should use for it.
Among actual programmers, the nearly universal usage is that what you do to bring a program into existence is to write it. There are a bunch of other verbs you might use if you want to emphasise particular ways of doing it (‘hack together’ or ‘hack up’ if you did it messily or in a hurry, ‘grow’ versus ‘build’ to indicate something about the development methodology, and so on), but if you're not saying anything in particular about the way you did it, you talk about writing a program. You might have ‘coded it’ or ‘coded it up’ in a pinch, but I think in general you wouldn't have ‘programmed’ it, because when ‘program’ is used as a transitive verb its object is the thing you're instructing, not the things you're instructing it to do. You program a computer, or a VCR.
It's always faintly bugged me that not everybody knows this; non-
(Also, I might do more than tolerate ‘make’ in some circumstances; a modern big-
The verb I occasionally hear and can't justify on those grounds is inventing a program; this one is definitely inaccurate. ‘Invent’ describes the process of coming up with an idea, of working out a good way to do something. Many programs require no particular invention at all, and even when one does, you don't really invent the program, you invent an algorithm or a design or a structure or a game concept or some other high-
This has been a public service announcement on behalf of Programmers for Linguistic Pedantry. Thank you for your attention.
Addendum: Whoops, I left out ‘develop’, which is another entirely acceptable term used by the people in the know. It's a particularly appropriate term when the program in question is especially large, and/or the product of a big team rather than one or a few individuals, and/or was substantially put together from existing parts so that it wasn't literally written afresh for the purpose, and/or took a particularly large number of trial and error cycles to get to its eventual state :-)
(For your next rant, Simon, how about a piece on the phrase "source codes"?)