5 ms·
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 ca
by lloeki 15y ago
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 http://www.groklaw.net/article.php?story=20110908075658894
[1] http://www.groklaw.net/articlebasic.php?story=20111005102810176 http://www.groklaw.net/articlebasic.php?story=20111005102810...
[2] http://www.theengineer.co.uk/news/safer-software/312631.article http://www.theengineer.co.uk/news/safer-software/312631.arti...
- bnegreve 15y agoSoftware 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.
- brain5ide 15y agoAs Gerald Jay Sussman would say - computing is alchemy.
- outworlder 15y agoBack to the university, will you? You still have a lot to learn.
- bnegreve 15y agoI honestly don't understand, software and math are obviously two different things. What should I learn about this ?
- robotresearcher 15y agoI'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.
- robotresearcher 15y ago> > 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.