The only way out of this semantic quagmire is to realize that programming is math incarnate. Mathematics in the broadest sense is nothing but logic applied to axioms. You can come up with arbitrary axioms and apply logic to them and that's math! Sure the connotation of math are specific concepts that usually have some real world application, but that's not the only kind of math. Lots of times someone came up with a crazy math idea long before they realized the real world application (eg. complex numbers).
Until computers came along, math was entirely a theoretical pursuit. The universe may be described by math, but it's impossible to know whether it is actually defined by math or if we just fit the math to the universe. But programming is different, because for the first time we can take a mathematical idea from inside our heads and express it in a physical computer which executes it according to the logic we've defined.
When you look at it this way you realize that it's exceedingly silly to try to separate programming that requires math knowledge from programming that doesn't. I mean no, programming usually does not require the infinitesimal slice of mathematics known as 9th grade algebra, but it does require logical thinking which is the basis of all mathematics.
It also includes far more writing and communication than it does mathematics, and yet we don't tend to talk about it as a part of Liberal Arts (or specifically Philosophy) much at all.
I feel like the biases come from the origin of programming. But to suggest that it is somehow exclusively mathematics because of its origin is puzzling. It is quite clearly mostly words, many of which are arranged into sentences based upon a strict grammar.
It's also odd in that the reason the original article was written was to suggest that it wasn't an insurmountable field, and that many more people could probably learn it if they were not intimated. It's odd that the response seems to be "FEEL INTIMIDATED MORTAL!". I feel like we're seeing gatekeepers feeling threatened rather than a particularly logical argument.
> Mathematics in the broadest sense is nothing but logic applied to axioms.
mmmm. Lots of people would disagree with this :-)
> Until computers came along, math was entirely a theoretical pursuit
Not at all; mathematics always had applications. Not all mathematics, but it's certainly not that case that math was "all theory" and without serious application before computing.
> because for the first time we can take a mathematical idea from inside our heads and express it in a physical computer which executes it according to the logic we've defined.
We've had calculation assistants in various forms for centuries. Also, ballistics and construction based on mathematics are more-or-less "taking a mathematical idea and expressing it in the physical world".
Well, "computer" originally referred to a person performing the task of computation. In that sense, "Until computers came along, math was entirely a theoretical pursuit" may be accurate - it is hard to make math practical without computing anything. It's certainly not the case that it was purely theoretical until we had mechanical or electronic computers.
I disagree. The term "computer" was typically reserved for people who exclusively did often pre-defined computations, and didn't contribute much other than the computation to the mathematics at hand. That is, someone else had come up with the novel method of computation, and someone else had formulated the problem. The human computer was applying the computation to problem that someone else handed them.
There was plenty of mathematics before mathematics got to the point where we needed dedicated humans who spend their whole day computing things in a prescribed manner.
But regardless, for some reason I think the original post was referring to electrical/mechanical computers :)
I think it's the same question as whether someone cleaning their own toilet is "a cleaner" for the duration, on which I could go either way.
"There was plenty of mathematics before mathematics got to the point where we needed dedicated humans who spend their whole day computing things in a prescribed manner."
More to the point, there was plenty of useful application of mathematics before then. Which I certainly agree with. My point was that most (and possibly all?) early application of mathematics required computation.
My comment, though, was mostly agreeing with you - just picking apart a technicality to get at some tangential interesting questions.
So, I tried to think of counter-examples to "most (and possibly all?) early application of mathematics required computation" just for the sake of discussion.
I think I have only one, which is the establishment of axioms, both philosophically (as a method) and specifically (e.g. in Elements).
A revisionist history might say that choosing axioms doesn't require any computation, just a keen sense of style and close observation of the world.
But actually, I'm sure that the choice of axioms was a long and drawn-out process informed mostly by computation and checks that the computed values/proven theorems matched with physical intuition. After all, that's kind-of how it's done today, even by people who have lots of experience with formal systems.
Now I really want to read pre-Euclidean mathematical philosophy to see if I'm correct :-)
Yeah, I thought it was interesting space for speculation. 'S why I tried nodding toward it. Don't really know enough of the history to get terribly concrete, but that roughly corresponds to my understanding. Both the actual history and what might be theoretically possible are fascinating.
Until computers came along, math was entirely a theoretical pursuit. The universe may be described by math, but it's impossible to know whether it is actually defined by math or if we just fit the math to the universe. But programming is different, because for the first time we can take a mathematical idea from inside our heads and express it in a physical computer which executes it according to the logic we've defined.
When you look at it this way you realize that it's exceedingly silly to try to separate programming that requires math knowledge from programming that doesn't. I mean no, programming usually does not require the infinitesimal slice of mathematics known as 9th grade algebra, but it does require logical thinking which is the basis of all mathematics.