HACKER Q&A
📣 amichail

Is CS vs. programming analogous to pizza research vs. pizza consumption?


Would that be a fair comparison?


  👤 Jtsummers Accepted Answer ✓
Analogies are hard and often bad. CS : Programming :: Pizza Research : Pizza Cooking.

That is, one is probably more practical on a daily basis, but both sides depend on each other. You can't, meaningfully, have CS without programming (though maybe you don't program yourself and stick to the math parts of CS, you'd be in the minority of computer scientists who did so). And programming itself is informed by CS (directly if you're a computer scientist or have studied CS, and indirectly because all computer systems have themselves been influenced by work in the field of CS).

Also, "vs" sets them in opposition to each other in some way, when the fact is the line is very blurry. Your original analogy is one of opposition because "pizza research" sounds like the corporate research going into making Domino's taste more like a greasy cardboard box, which is hardly dependent on direct consumption (you bring in college students for that). Whereas CS and programming are closely intertwined, more like my marginally improved analogy with research and cooking.


👤 treis
I'd say it's more like understanding the chemistry of baking dough, the physics of heat transfer, and the taste receptors on the tongue. Very useful for advancing the pizza field but at best tangentially related to actually making a pie.

👤 goethes_kind
Programming is the tool you use. CS is the study of all that is possible to achieve in this computational domain, how to achieve it efficiently, the limitations that you will have to deal with, ...etc

In the physical domain I think a more apt analogy would be mechanical engineering vs. fabrication.

Some nuances:

    1. by CS one can understand both the practice of using CS principles to design modern efficient computational systems, and also CS research.
    2. programming alone would not get you very far, so a lot of people normally mean, programming + database knowledge + systems design when they are talking about somebody who does programming.

👤 kazinator
CS is like the food industry struggling to understand every/any aspect of what goes into a pizza, and optimizing pizza production on a large scale: agriculture, food chemistry, transportation, preservation, optimizing mass production of frozen pizzas, optimizing cardboard pizza boxes, ...

Programming is like working on some specific implementation of something related to producing a pizza: growing green peppers, or rolling out dough.


👤 tony-allan
"pizza consumption" --> "pizza making"

👤 lazypenguin
No I don’t think so. For the pizza analogy I would say it’s more like “the science of pizza making” vs. “how to make a pizza”.

👤 alexfromapex
Theoretical CS or basically anything above Bachelors is more research oriented

👤 bjourne
Yes!