Hacker News new | ask | show | jobs
by tom_mellior 1840 days ago
> I believe, computer science is a branch of mathematics that deals with large but finite structures (so they need an algorithmic description).

This is a strange claim since the entire field was founded upon the investigation of potentially (and often actually) infinite computations.

> Compare with most of "legacy" mathematics, which studies countable structures (so the description can use arbitrary series).

Define "most". Do it in a way that makes real and complex analysis and topology (and probably many other branches) the smaller part of mathematics.

Most importantly though, my problem with this kind of discussion is that the question itself is meaningless. Not everything can be classified into neat " X is a Y" relationships. Not everything needs to be classified into such relationships. Even if the discussion reached a consensus, that consensus would be meaningless. Computer science is a part of math? OK, but so what? Computer science is not a part of math? OK, but so what? Neither conclusion would tell us anything useful.

3 comments

> Computer science is a part of math? OK, but so what? Computer science is not a part of math? OK, but so what? Neither conclusion would tell us anything useful.

I assumed the implication here is that CS, like math, is considered by many to not be a science, but rather a field of construction based on logic. The obvious problem with calling computer science a science is that it isn’t fundamentally based on measuring empirical evidence of a natural process. Maybe that still lands in the ‘OK, but so what?’ category, on the other hand this has been much discussed re: math, and it may be useful to clarify in what ways CS is not employing scientific method.

> it isn’t fundamentally based on measuring empirical evidence of a natural process.

What leads you to say this? If computation is in some sense the construction of certain forms of mathematics, is computer science not then the empirical study of computers (the objects which instantiate the math) and computation (the process of instantiation)? Of course there is abstract theory as well, but that's just as true in physics

Newell and Simon had some thoughts: "We build computers and programs for many reasons. We build them to serve society and as tools for carrying out the economic tasks of society. But as basic scientists we build machines and programs as a way of discovering new phenomena and analyzing phenomena we already know about... the phenomena surrounding computers are deep and obscure, requiring much experimentation to assess their nature."[0]

The fact that digital computation is a new process doesn't make it "unnatural", it might be argued; some also contend computation takes place not merely in digital computers but much more generally, in which case distinctions between computer science/cognitive science/physics blur

Agree with your broader point, though. I'm not aware of any consensus on the epistemological or ontological status of computer science, or on its relation to the other sciences. It seems (to me) subject to many of the same philosophical questions that dog mathematicians, re: discovery vs. invention, the uncertain reality of various abstractions, generalizability, etc

Likewise agree that consideration of the methods employed in computer science can be fruitful, in particular if the goal is not so much to establish once and for all which category CS falls most naturally into, but simply to stimulate critical thought about the fundamental questions

[0]: https://dl.acm.org/doi/10.1145/360018.360022

I meant natural in the sense of originating from nature, specifically as opposed to something built by people. The fact that digital computation is a synthetic construction of humans is what makes it “unnatural”, that it’s new is just a byproduct humans having invented it recently.

I’d agree there are ways that we can observe computation as a scientist and form hypotheses and perform experiments, especially if, for example, I write a program I don’t fully understand and don’t know how to predict the behavior of, or more maybe much more commonly when I observe software written by other people.

Thinking about the analogy to telescopes, the implication is that computers are an instrument for measuring something. Telescopes measure things about planets and stars, physical things that occur in nature. But what exactly do computers measure if they’re to be considered a measuring device? It’s fun to think of a computer being a physical device that measures pure logic; we can physically observe something that doesn’t occur in nature.

On the other hand, I’m hesitant to not draw some kind of line between CS and the hard sciences like physics, chemistry, biology, because there seem to be real differences between them. (I was going to point out examples, but realized it’s fundamentally tricky to nail down and I’d be setting a trap for myself. ;)) Yes I agree the philosophy of where CS lands, and what CS really is, does land in the same ambiguous camp as mathematics (probably because CS and math both truly are in the same category of abstract logic, not directly tied to physical observations.) Maybe more useful and abstract tools are more difficult to categorize precisely because they are used as part of all the sciences and arts...

> This is a strange claim since the entire field was founded upon the investigation of potentially (and often actually) infinite computations.

To me, that is not that surprising, although it's a good point.

My view has to do with history of mathematics. People were fascinated with infinities long time before they considered that large but finite systems can be also interesting. I think applications of mathematics, mainly geometry and physics, are responsible too.

The development of more finitist taste in problems (somebody else mentioned the constructivism, which I think is fitting) came with the practical need to do computations and developing algorithms.

So I am not that surprised that one of the early forays into theory of computation are through the lens of infinite, rather than finite.

> Most importantly though, my problem with this kind of discussion is that the question itself is meaningless.

Of course, I forewarned that it's just my view, and you're free to ignore it.

Look, partly why I mention it, it seems rather surprising to me; I would consider infinite structures to be more complicated, in some sense; yet, in the history of mathematics (which lately includes CS, as a study of large but finite), these were studied first. There was nothing that would prevent Ancient Greeks (or Euler) from discovering, say, lambda calculus, or how to do sorting efficiently. Although, it seems in many fields we progress from more complicated to simpler methods, in some way. But I think it's partly precise because the finite is often considered uninteresting by mathematicians, it was overlooked. And that's the philosophical point I am trying to emphasize. Different fields of math perceive (in the way they treat them) the same structures differently, and I gave an example of natural numbers. Another example is the notion of the set cardinality, in most areas of mathematics people only care about countable/uncountable distinction.

> “ Not everything can be classified into neat " X is a Y" relationships.”

I’m with you on skepticism of the x-is-y relationship; however, I read the comment as comparing math versus computing academics.

Then, the so-what answer would be informative for the neophyte or youth who is interested In computing but struggles with mathematics instruction. Right? That’s a real thing in education.

In fact I find this to be the principal benefit of online MOOC courses. You can compare styles of instruction, and pedagogy from major universities from across the US (and internationally).