Date: | 2014-06-20 13:48 |

Subject: | Repost of comment to ipwatchdog |

Security: | Public |

Gene,

I was sent here by LWN (Linux Weekly News). It's well known over there that when you're unhappy, we should be happy, so I'm very happy today :) The converse is likely also true -- you were probably happy about the Oracle v. Google reversal, and I'm very unhappy about that :(

That's not to say I disagree with you on everything -- it seems (from your article on software not being math) that you wouldn't be averse to limiting terms for software patent to something like 5 years, which would be a great thing and might even make software patents benefit society.

Anyway, here's why I'm commenting here: your claim that software isn't math is quite strained. You try to make the distinction that math is "descriptive" and that software "controls a computer", but that's a matter of how software is used, not what it is. You don't have to use software by executing it on a computer; you could use it by reading it like a book if you wanted, and, depending on the software, you could be enlightened by doing that. You could also use software as part of a mathematical proof in the field of computability theory, and this is commonly done. There's a mathematical category of "computable algorithms", which are any formal languages that can be described by a Turing machine, and code that computes an algorithm is a proof that that algorithm is in fact in the category of computable algorithms. Hypothetical software is also written as part of proofs that certain algorithms are "NP-complete", meaning they can't be done quickly on a computer unless a lot of other (hard) problems can also be done quickly on a computer.

Look at functional programming sometime: it's "descriptive" rather than "controlling" (imperative), but it's equivalent to to more conventional (imperative) programming. Functional programming looks a lot more like math than imperative programming, so, if you look at it, maybe you'd see where all the people saying "software is math" are coming from. Look up the Church-Turing thesis to see how functional programming is equivalent to the more common Turing machine-based systems. And the equivalence is (you guessed it) a mathematical definition.

Oh, and, by the way, banning people because you disagree with them is juvenile. Perhaps that comment wasn't constructive, but still.

I was sent here by LWN (Linux Weekly News). It's well known over there that when you're unhappy, we should be happy, so I'm very happy today :) The converse is likely also true -- you were probably happy about the Oracle v. Google reversal, and I'm very unhappy about that :(

That's not to say I disagree with you on everything -- it seems (from your article on software not being math) that you wouldn't be averse to limiting terms for software patent to something like 5 years, which would be a great thing and might even make software patents benefit society.

Anyway, here's why I'm commenting here: your claim that software isn't math is quite strained. You try to make the distinction that math is "descriptive" and that software "controls a computer", but that's a matter of how software is used, not what it is. You don't have to use software by executing it on a computer; you could use it by reading it like a book if you wanted, and, depending on the software, you could be enlightened by doing that. You could also use software as part of a mathematical proof in the field of computability theory, and this is commonly done. There's a mathematical category of "computable algorithms", which are any formal languages that can be described by a Turing machine, and code that computes an algorithm is a proof that that algorithm is in fact in the category of computable algorithms. Hypothetical software is also written as part of proofs that certain algorithms are "NP-complete", meaning they can't be done quickly on a computer unless a lot of other (hard) problems can also be done quickly on a computer.

Look at functional programming sometime: it's "descriptive" rather than "controlling" (imperative), but it's equivalent to to more conventional (imperative) programming. Functional programming looks a lot more like math than imperative programming, so, if you look at it, maybe you'd see where all the people saying "software is math" are coming from. Look up the Church-Turing thesis to see how functional programming is equivalent to the more common Turing machine-based systems. And the equivalence is (you guessed it) a mathematical definition.

Oh, and, by the way, banning people because you disagree with them is juvenile. Perhaps that comment wasn't constructive, but still.