As an overly stereotyped generality, here are the differences I see between "computer scientists" and "programmers".
The programmer is someone writes code on a daily basis but is ignorant about how the compiler actually works. He is very familiar with the tools he uses but doesn't understand how the... (read more)
I think the problem is that you wanted to use it without asking if it was the proper tool for whatever task you had. PHP and Lisp have very different purposes.
I find it interesting that you admit to no formal training but are making blanket statements about an entire field. With all arrogance available to me, I claim that I am a good "computer scientist" and "programmer" under your definitions. As far as I can tell, they go hand in hand. When I get better at one I get better at the other.
If I had to make a semantic distinction, programmers are a subset of computer scientists.
5jimrandomh
This is a false dichotomy. You suggest that software people can be naturally divided into programmers who don't know theory, and theoreticians who don't program regularly. However, programming skill and theoretical knowledge are independent, continuous and positively correlated. The common cases are people with both programming skill and theoretical knowledge, and people with neither. That's why "computer scientist", "programmer" and "software engineer" are so often used as synonyms - because being one usually implies also being the other two.
Thanks for writing this article. It would benefit the software development community to know more about this difference. I have a little more in depth description of the digital divide between programmers and computer scientists on my blog.
As an overly stereotyped generality, here are the differences I see between "computer scientists" and "programmers".
The programmer is someone writes code on a daily basis but is ignorant about how the compiler actually works. He is very familiar with the tools he uses but doesn't understand how the... (read more)