Take the 2-minute tour ×
English Language & Usage Stack Exchange is a question and answer site for linguists, etymologists, and serious English language enthusiasts. It's 100% free, no registration required.

As a programmer, I often hear "writing a program" and "writing code" used interchangeably. The way I understand it, a program is a file which contains code written to perform a task or a series of tasks. Those who write computer programs (like myself) are typically referred to as programmers. However, the slogan of the popular website CodeProject is "For those who code," not "For those who program." Is there any difference in meaning between "I code for a living" and "I program for a living"?

share|improve this question
1  
They're interchangeable for most purposes. –  milestyle Apr 24 at 15:16
    
@milestyle: For what purposes are they not interchangeable? –  Alex Apr 24 at 16:34
    
Slightly off-topic, but I want to comment that the word program is broader than file. I think the word program encompasses any piece of software, not just the particular file or files it is written in. I would refer to Firefox or Outlook as a program, even though they are probably written over many many files. The files are irrelevant here as I cannot even access the source code / files for closed-source programs. –  sgauria Apr 24 at 18:15
    
In stead of being used interchangeably, you could be just hearing the use of synecdoche, where a part is used to represent the whole. Just as "Give me a hand" never means that your hand and your entire body are considered identical. –  Oldcat Apr 24 at 19:00
1  
I'm unsure why there seems so much downvoting of these reasonable answers. –  Oldcat Apr 24 at 19:03
show 2 more comments

2 Answers 2

up vote 5 down vote accepted

Though some raise a distinction, there isn't a generally accepted difference between the two.

However, non-technical people may be more likely to understand what you mean if you call yourself a "programmer" rather than a "coder". The word "computer program" and "programmer" have very wide comprehension, whereas the term "code" - as a synonym for a computer program - has a narrower reach and is more easily confused with other meanings. Even worse: "hacker".

share|improve this answer
    
Thanks for your answer! Could you please elaborate on narrower reach of "code" versus that of "program"? –  Alex Apr 24 at 15:34
1  
You can compare the words here. The gap has narrowed, but both seem to be in decline. –  aetheria Apr 24 at 15:37
    
So by "reach" you mean the size of the audience that understands or prefers one verb over the other? –  Alex Apr 24 at 15:46
    
Yes. Your great Aunt Edna will likely understand if you tell her you're a programmer, but may be confused if you call yourself a coder. –  aetheria Apr 24 at 15:55
    
Hacker, when referring to a programmer and not a person who breaks into computer networks, has a distinct meaning. Roughly, it means a programmer who takes unwise shortcuts. –  Henry74 Jul 19 at 0:17
show 5 more comments

Programming encompasses coding, but coding does not encompass programming.

Programming is a blanket term for a set of activities, of which coding is one. See this explanation from WiseGeek:

"Generally, there are five basic stages of development that a computer programmer addresses in designing software. They are defining the need, designing a flowchart, coding the software, debugging and beta testing."

I would say rather that programming requires analysis, design, communication, coding, testing, and release management. A programmer not competent in at least a couple of these disciplines risks being a mere coder.

share|improve this answer
    
I think you've missed the point that Gary's Student and I have made; but in fairness, since you're taking the motto of the CodeProject website to be definitive, I'll put it another way: CodeProject's use of the sloagn "For those who code" has everything to do with the name of their site, and very little to do with a formal definition of programming. That is, it's a nice bit of marketing copy. As Gary's Student has also pointed out, coding is one phase of a process employed by programmers, and this is the real difference between "I code for a living" and "I program for a living." –  William James Apr 24 at 16:25
    
The WiseGeek quote refers to the "five basic stages of development", not programming. You've made the leap to development*=*programming. As an experienced developer/coder/programmer, I strongly disagree with this statement, as do the handful of colleagues I just polled around the office. In the WiseGeek quote, you can replace coding the software with writing the software or programming the software and the meaning would be the same. –  Henry74 Jul 19 at 0:39
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.