Live data from Hacker News

Programming is not math

sarahmei.com

61–70 of 115 posts

Re: Programming is not math

#61
post #31
post #5

Honestly, I've wavered on this topic...I used to think that math wasn't an inextricable part in understanding programming, since it doesn't seem we do anything more taxing than incrementing values by one, on a day to day basis. This recent interview with mathematician Jordan Ellenberg really piqued my interest though: http://host.madison.com/entertainment/arts_and_theatre/books... > I would say that math, almost alon…

Programming is deeply and inextricably mathematical. However, most programmers don't actually know mathematics, so it's difficult to see that. This is further exacerbated by the fact that people creating APIs and libraries also don't know math, so they don't see it, and consequently design APIs and libraries that don't show mathematical characteristics. (This is not because they are "better"... it just means that mat…

I might be one of those people that don't realise that programming is math because I don't know enough math.

I know about the classic algorithms, but I've never had to code any for real. And I haven't had to write a compiler. I know enough about graphs and trees to know when to use them, but don't ask me about all the different ways to traverse them, or the differences between red and black trees, and balancing trees, etc.

But I'm an applications programmer. Most of the time I move things in and out of databases, and I use third-party libraries and APIs. I'm curious: do you think it would help applications programmers to know algebra a bit better, or trigonometry? Or anything else from the standard math curriculum?

In all honesty, for me the biggest difficulties in programming are making clear, concise and cleanly structured programs. And that for me isn't math, maybe simply because I didn't study math, I studied philosophy. And in philosophy what we had to do was write clear, concise and cleanly structured arguments.

So do you think it's really a case of regular everyday programmers not being better because they don't know math?

Re: Programming is not math

#62
There is research in this area: "Contributing to success in an introductory computer science course: a study of twelve factors" : http://dl.acm.org/citation.cfm?id=364581

(note math background is positively correlated with success, language skills were not considered)

"Language Factors in Mathematics Teaching and Learning"

http://link.springer.com/chapter/10.1007/978-94-009-1465-0_2...

"The effect of student attributes on success in programming"

http://dl.acm.org/citation.cfm?id=377467

--------

I think there is enough research to suggest that if language skill were critical, I think one of the surveys would have noticed it. If anything the math research suggests that cultural fit with the teacher is more important, so that foreign students are likely to have problems even if fluent in the teaching language, due to cultural differences.

Research into Comp Sci has been going on decades becuase apparently its one of the hardest classes to teach effectively. With a high drop out rate worldwide, and a good chunk of students scrape a pass without it ever really clicking.

Re: Programming is not math

#63

Oh, came-on. Programs are math, programming obviously is not. Programming is creating math. And yes, math is a king of language. I'd ask why do so many people think that math is only computations with numbers, but I do know the answer. It's a shame schools everywhere[1] put so many effort in taking all the creative parts from their math curriculum. [1] Or should it be "almost everywhere"? I'd be delighted to hear abo…

Throughout early grade school I hated math. It was very much like the equally-hated gym class: Doing hard things because they were hard to do. Or so I thought; there seemed to be little effort to make either of these fun or relevant.

However, for 6th grade I managed to get into a school for bright kids. Somewhere around 7th or 8th grade I was given a chance to take a new "advanced" math course. (That's my vague recollection; I don't recall being all that good in math in 6th or 7th grade so I'm hard-pressed to understand being offered the option to take an advanced math class, but somehow it happened.)

Turns out, math is more than adding and multiply large numbers and tracking a series of infuriating decimal expansions. I was introduced to all sorts of interesting things. This was where I first learned about, and played, WFF ‘N Proof[0] and Tac-tickle[1].

Math (at least this kind) became fun. It was about patterns and relations and analogies and transformations.

People claiming programming is not math seem to be playing a game of begging the question. They first define math as restricted to those things that are not directly related to programming, and then declare programming is not math. QED.

Maybe this helps people who are leery of their ability to understand programming. I'd rather see things move the other way. Show that math is much more than doing complex arithmetic to help people who are leery of their ability to understand math.

0: http://www.mlagonline.com/games/wff_n_proof.php

1: http://www.gamesforthinkers.org/tac-tickle-a-challenging-gam...

Re: Programming is not math

#64
post #4

> Programming is Language. And half of mathematics is more or less the study of formal languages and their consequences? You can say that they're different in order to keep people who are scared of math from projecting those feelings to programming. Or you can say they're the same to draw deep insight between programming and one of the oldest fields of study of human kind. I find that people tend to reject the relati…

> And half of mathematics is more or less the study of formal languages and their consequences?

No, just a small fraction is:

http://www.ams.org/mathscinet/msc/msc2010.html?t=&s=68Q45++F...

This is but a branch of a branch (computer science):

https://en.wikipedia.org/wiki/Mathematics_Subject_Classifica...

Re: Programming is not math

#65

Again this? It's been run up and down on Twitter. Effectively: a maths education is a great IQ test. If I was hiring a press agent, I'd still ask math questions. E: "I think this is great. I was always interested in computers as a kid but was awful in math." When I was a kid I was intermittently good and bad at maths, and hit a low point in high school trigonometry. Different teachers, different styles. I still "grew…

> We don't tell people they can be bad at talking. The brain evolved to communicate effectively with others. It did not evolve to manipulate symbols in a logical way. We can do it (some of us rather well) since the brain is still quite flexible. But it may account for the difference.

Why so many people are so crap at talking then?

Re: Programming is not math

#66

This article just indicates a cramped view of math and programming. Programming is math, very simply. Consider the simple Turing Machine: invented to give proofs in what we'd now call mathematical logic. Coming up with Turing machines to solve given problems is so obviously programming, that I have to suspect Ms Mei hasn't ever looked at Turing Machines. The same could be said of lambda calculus and Combinatory Logic…

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.

Re: Programming is not math

#67
MATH IS ALSO LANGUAGE. Just because we've mostly standardized on a few notations doesn't mean that we couldn't have generally chosen to do things entirely differently, or that we couldn't have had as many common ways to express the same mathematical idea as we have computer languages, a variety of sets of mathematical rules to convert between them in more or less efficient ways, or to make the idea being expressed amenable to different types of algorithms or usages. Language is symbols and rules used to represent things, and symbols and rules used to represent relationships between those things.

This article is making a silly distinction.

edit: When you program, you're using language precisely as much as when you use math: as a representation of something that you're trying to communicate, not the actual thing itself.

Re: Programming is not math

#68
post #38

Earlier quoted context omitted.

Math, English, Python, Chinese, Ruby - these are all just languages. Programming languages and Math are simply languages designed to be good at describing phenomena that can be defined with precision. Programming languages are optimized for describing precise sequences and procedures, while the language of Math is optimized for describing precise proofs. You could actually write pretty much anything that is written i…

Precise English is "Legalese" - lots of definitions, qualifiers, and words having precise technical meanings.

The numerous compilers (courts) for this language frequently produce different and conflicting results, a situation which cannot be fixed but merely worked around by adopting the result of a master compiler as the authoritative version. The compilation process is also quite slow and very expensive.

So if legalese can be considered a precise, formal language, it must be considered one with an extraordinary amount of undefined behavior.

Re: Programming is not math

#69

There is research in this area: "Contributing to success in an introductory computer science course: a study of twelve factors" : http://dl.acm.org/citation.cfm?id=364581 (note math background is positively correlated with success, language skills were not considered) "Language Factors in Mathematics Teaching and Learning" http://link.springer.com/chapter/10.1007/978-94-009-1465-0_2... "The effect of student attribut…

Explanation: math is rigorous, programming is rigorous, people good at rigor will be good at both. Nothing to do with the trigonometry and number theory knowledge being directly transferable, though practice with one could improve your rigor and carry over in that respect.

Re: Programming is not math

#70
post #59

I think the fundamental problem is this: programming is not computer science. Think physics vs mechanics, or biology vs medicine, or theory vs practice. Nobody will expect a physicist to fix their cars, or a biologist to cure their sickness. Nobody studies physics to work as a mechanics. On the other hand, computer science, being young as it is, is still confused with with its instruments (computer) and application s…

I think this sums it up quite well.

Making programs and making the computers and software that run programs are two very different things.

Post reply on HN