3 ms·
I would say computer science is useful, but as in any craft, you can get by without a theory. Confusingly, CS is considered to be a branch of mathematics, but
by js8 6y ago
I would say computer science is useful, but as in any craft, you can get by without a theory.
Confusingly, CS is considered to be a branch of mathematics, but it is still quite different from "traditional" (up to 19th century) math (linear algebra, calculus). I have a slightly different philosophical view, I consider CS to be on equal footing with most of traditional mathematics. In my view:
- Traditional math (which came mostly out of physics and geometry) studies primarily infinite but countable structures (functions on countable sets, infinite series). The finite structures are often considered trivial, and the uncountable structures are considered to be too large to have practical importance.
- Computer science (gosh I wish there was a better name of the two disciplines) is concerned with finite structures which are too large (in practice, functions on sets with more than 2^32 elements) to be represented by enumeration. In analogy to finite/countable/uncountable sets distinction in traditional math, small structures that can be enumerated in practice are trivial in CS, larger structures (infinite ones) are pretty much impractical, and they are simply universe in which we operate. (This leads to algorithmic languages, which are essentially descriptions of arbitrarily large finite sets.)
- There are other branches of mathematics, logic, category theory, algebra, which are concerned with building bridges between the two above subareas, which are probably many.
My point is that for (theory of) programming, you need computer science (focus on large finite sets), and study of infinite sets is less useful. But historically, it's not how mathematics became subdivided, and it is a distinction useful from applications of mathematics, not mathematics as a general study of structures (regardless of size).
- aleurwal 6y agoMy CS tutor at university used to say that calling the discipline "computer science" is like calling chemistry "test tube science" :).
- ccortes 6y ago>Traditional math (which came mostly out of physics and geometry) studies primarily infinite but countable structures (functions on countable sets, infinite series). The finite structures are often considered trivial, and the uncountable structures are considered to be too large to have practical importance. I don't think this is the case at all. Basically all of calculus theory in based on uncountable structures and it's arguably the most used branch of mathematics.
- js8 6y agoI understand what you're saying, but disagree. In calculus, uncountable sets are just the theater, the real actors are sequences. As long as the theater is a complete metric space, we don't really care about its structure. Hence the name, it signifies that we are unconcerned with cardinality above aleph 0. The finite/countable/uncountable distinction IMHO shows where the focus is. Analogically, in CS, you use infinite sets (integers) but you don't really care what the cardinality is. You don't care about the axiom of choice.
- ccortes 6y ago> As long as the theater is a complete metric space, we don't really care about its structure. I agree with that, but I fail to see how that means that traditional math studies primarily infinite countable structures.
- js8 6y agoPerhaps better would be to say that traditional math studies structures constructed from countable building blocks (and we don't care so much whether the result is countable or uncountable). In contrast with CS, where the building blocks are finite, and the resulting structures can be large finite or infinite, which in practice only matters a little.