Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

| Software is math

I strongly disagree. Consider an event-driven presentation and interface layer over a database backend: a very common bit of software. You can't even explain that meaningfully in terms of math, let alone say it is math.

Some software has good math-based explanations, but lots of it doesn't. Saying software is math is rather like saying it's all ones and zeros. True in a weak sense, but it doesn't capture much that is meaningful. Often, a piece of software is better understood as a machine, which is a traditional domain of patents.

edit: I dislike software patents because they are often granted on stupid things in practice. This is probably due to abuse of the system by applicants, which is a response to the lack of expertise and bad previous judgement by the patent office, which seems to invite such abuse.

edit 2: the software patent situation is very hard to change now, since Big Software lobbies very hard to prevent that.

But software isn't math.



Whether you want it or not, software is math[0][1]. It has nothing to do with it being "ones and zeroes" and everything to do with the work of Turing.

> You can't even explain that meaningfully in terms of math

Oh yes you can. You just lack the tools and understanding for it, and it can get very complex, very quickly, but it can be done, as the Church-Turing thesis (recursion, lambda-calculus, and Turing machines are equivalent) is mathematically proven. And people do actually use that to formally prove correctness of software[2].

[0] http://www.groklaw.net/article.php?story=20110908075658894

[1] http://www.groklaw.net/articlebasic.php?story=20111005102810...

[2] http://www.theengineer.co.uk/news/safer-software/312631.arti...


> > You can't even explain that meaningfully in terms of math > Oh yes you can.

No, you can't. Proving the correctness of a word processor has almost nothing to do with the design of its functionality. What should a word processor do? The answer to that question is not math. Does this piece of code do what this written specification says it should do? The answer to that question can be produced by math. Software is at least both of these things. It certainly is not math alone.

> You just lack the tools and understanding for it, and it can get very complex, very quickly

That's an ad hominen in front of an irrelevant statement. The Church-Turing thesis is indeed proven. A simple statement of that thesis goes: "Everything algorithmically computable is computable by a Turing machine. Some things are not thus computable." This idea along its proof, is one of the finest human achievements of the twentieth century. But it sure doesn't tell you how to write a word processor. It tells you that the word processor you wrote could be run on any of a family of equivalent machines, and that it can't compute certain things. That's deep and lovely indeed. Since that proof was created, we knew that Visicalc, Word, TeX and Bit Torrent existed in the space of possible programs, and by implication we knew a lot about their properties. Somebody still had to design and write the fuckers, and they were not doing math when they did so. They were engineering software.

Another completely different angle: If you admit that "The Mythical Man Month" was any kind of contribution to software, can you explain its contribution to mathematics?

> You just lack the tools and understanding for it, and it can get very complex

I think I'll put this on a t-shirt. Thanks.


Software is not math. Math and software are two different things. It is true that most programs are a solution to a problem that can be formalized with math. However all math is not software and software deals with a lot of issues informally.

Computer science is math, maybe.


Back to the university, will you? You still have a lot to learn.


I honestly don't understand, software and math are obviously two different things. What should I learn about this ?


I'm with you. I'm a tenured CS professor. I didn't want to argue from authority with those above, but in case it makes you feel better, they're wrong. Software is not math. Let's all go learn more about both things.


As Gerald Jay Sussman would say - computing is alchemy.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: