logoalt Hacker News

milesrout04/23/20251 replyview on HN

This is a myth. Computer science absolutely is about programming. The science that makes computers work is called physics.

There are theoretical parts of computer science, but it is fundamentally a practical subject. All of it is in service to programming. Type systems are about typing programs. Algorithms are implemented using programs. Data structures are for use in programs.

The very worst computer science lecturers are those that forget it is a practical subject and try to teach it like abstract mathematics, because they believe (whether they realise they believe it or not) that it is more prestigious to teach abstract concepts than practical concrete things.

It is the same in mathematics, where unfortunately there has developed a tradition since Bourbaki of trying to teach abstract notions as fundamental while concrete problem solving is left to the engineers. The result is that many engineers are much stronger mathematicians than many mathematically-trained students, and those students have to relearn the practical foundations of the subject before they can make progress at the graduate level. If they don't, they get stuck doing what looks like maths, but is actually just abstract roleplaying.


Replies

shadowgovt04/23/2025

This might be just a semantic argument, but if you mean "programming" as in "configuring a machine to implement one or more algorithms" (which I would assert most people do when they use the term), computer science is emphatically not about programming, although programming is taught for much the same reason that artists learn how to use a pencil. Computing, as a discipline, predates the machine (although the machine justified the existence of a whole discipline for studying it because the force multiplier it represented made it worthwhile to dive deeply on the subject of algorithm development and execution, the nature of algorithms, the nature of computability, formal logics, etc... Before the machine, it was just a subset of mathematics).

This was a point repeatedly driven home in my undergraduate curriculum, and in fact, they made a point of having multiple classes where a computer was completely uninvolved.

show 1 reply