5 ms·
P.D: A feel of several of the comments here, so is not exactly directed at the parent. Look like some of the defense in the idea of programming is math is redu
by mamcx 12y ago
P.D: A feel of several of the comments here, so is not exactly directed at the parent.
Look like some of the defense in the idea of programming is math is reduced at: With math you can be more efficient at solving X task.
That, itself, is proof that programming is NOT math, instead is a tool (like always is) that could enhance it. But the fact that developers ignore the math-y aspects of it and sill ship code show that is not a central aspect of it.
Is "spend our time puzzling over why some sets of requirements cause us to spend unpredictable amounts of time writing the (not math!) program to meet those requirements."
This assume math is the only way to solve it.
- bediger4000 12y agoI'm not getting at "with math you can solve task X with efficiency". I'm getting at "even if you have a stunted view of math, you're still doing math by programming". I gave examples to the effect that if you don't understand math, and you believe "programming is not math", you'll be puzzled by your inability to perform tasks that when viewed as math, are known to be impossible, and you'll end up with false-to-fact views of what's lamentably called "software engineering".
- mamcx 12y agoThe central idea of the linked post is that programming have long ago spread to more circles apart of math, and if in the past solve math problemas was the #1 activity that is not longer the case, and then, programming is dominated by other activities apart of math. But, some people insist to teach programming ignoring that and still thinking that programming is a tool for math. Now, I think is more right to say math is a tool for programming.
- bediger4000 12y agoIt's really good that some form of craft programming has spread as "not math". But let's not kid ourselves that math isn't programming, and programming isn't math. It's like finding your way from St Louis to Chicago (in the US) or Rheims to Paris, say. You don't need to know that you're navigating on the surface of a spherical body. You just need to know a little map reading, or listen to Google Navigation giving you apparently planar directions and execute them. Just because your journey looks and feels flat does not mean you live on a flat earth. You can even keep up a flat earth view of the cosmos, but ultimately, you'll end up re-inventing Geocentrism and embellishing cycles with epicycles. And you'll be mystified by how a few wizards can fly non-straight-line routes from New York to London and get there faster than your flat earth "straight line". I hereby acknowledge, swear or affirm that the previous is an analogy, and therefore can be carried to far for purposes of building a straw man counter argument.
- mamcx 12y agoYeah, but the problem (as you point) is that you can say that navigating is astronomy, or physics or relativity. But you don't call "traveling is relativity!", you call it traveling. Math, (classic) physics and relativity are ways to understand it, sure, even describe it, but what is more true than the other: classic physics, relativity, math?. Here the problem is not about understanding the foundation of things, is about not apply to all the levels in the abstraction the same label. When you walk in the part you are NOT doing math. Your are walking. This is the point expressed in the blog. It have not argued that programming is totally devoid of math, that math can't be used to formally think about it or something like that. Is that is better to think that programing is programing, and like you don't say "programing is relativity" then teach programming using relativity(!) and dismiss programing as a real, whole thing that only can be explained by relativity(!) and tell everyone that to be a good programmer you MUST understand very well relativity. That is what the article is saying.
- stan_rogers 12y agoThe point is that the formality of process description is mathematics. It may not be mathematics as you understand it, and that may largely be because you can intuit a large part of what you are doing as you are doing it, and that's an unfamiliar feeling with math. But let's get this straight: cancelling out out the unnecessary steps or factoring out the common steps in a procedure is exactly the same thing as it would be in an algebraic expression. In the simplest application, it may not seem like there's anything "formal" or "mathematical" going on there, but that's only because it's simple and easy to spot. You can also look at four things and see four things without counting them, and divide them into two twos without doing anything that feels like division. Just because it doesn't feel like mathematics to you doesn't mean it isn't.