Prev: Speaking of thread safety?
Next: solutions manual to A First Course In Probability 7th Edition by Sheldon M. Ross
From: Christian on 12 Mar 2010 14:30 People without any math background simply miss what Math is about... If you think solving polynomials is the last thing to learn in Maths before you are done... then yes Math is probably of little use (except you are doing coding theory ... lot of codes go over finite fields that pretty much depend on polynomials) But programming languages themself are Maths ... The whole lagnguage you are using is an example of First Order Logic. Like SQL is a more human readable form of relational calculus... Without doubt one can program and live a happy life without learning any Maths ... actually while programming you probably won't learn any new Maths. Though knowing math gives you some insight behind the scenes. Good comparison might be that you don't need to play any physics to play a game of ball ... or knowledge on field theory to switch on the light. It will be useful to you when you try to invent something new though ... when something happens that never occured to you theory helps you to deduce what could be the reason.. Maths especially the stuff in Compsci might help you to see the problems clearer... I.e. when you smell some problem is NP you should know that its time to go just for an approximate solution and not the best one... my Opinion... you can code without much knowledge of Maths... but Math helps ... the harder the probelms get you try to solve the more theoretic/Math knowledge you need... Christian
From: Tom Anderson on 12 Mar 2010 16:28 On Fri, 12 Mar 2010, sl(a)my-rialto wrote: > Someone says if one does not know the difference between "equality" and > "equivalence", then one is an entry-level developer at best. > > What is your opnion? I think the person who said that is probably a prat. > (I think we should not talk about mathematical concepts, since it is the > software developer in question.) Only a fool closes the door on an idea. Mathematical concepts can be useful at times in software development, and so the wise programmer makes them a tool in his toolbox. Your dismissal is as misplaced as his elitism. tom -- I fought the law and the law won.
From: Tom Anderson on 12 Mar 2010 16:35 On Fri, 12 Mar 2010, Mike Schilling wrote: > Patricia Shanahan wrote: >> BGB / cr88192 wrote: >> ... >>> personally, I think many people overstate the role of math in >>> programming in some ways: >>> when ever was the last time programmers had to seriously invest time >>> in things like solving polynomials or writing proofs. >> ... >> >> I have rarely needed to solve a polynomial as a programmer, although I >> have had to understand how to solve very large systems of linear >> equations. On the other hand, writing proofs seems to me to be a very >> practical activity. For example, I sometimes debug by trying to >> construct a proof that the problem could not possibly have happened, >> taking things I think are true as the axioms. Given a valid proof of >> the impossibility of something that has actually happened, at least one >> axiom used in the proof must be false. It is a good way of selecting a >> set of beliefs to investigate. > > My degree (taken many, many years ago) is in mathematics. I don't use > much of the math itself, but the discipline of writing proofs, that is, > making sure each step follows logically from the previous ones and that > no special cases are omitted, is something I still use every time I > write a piece of code.. Exactly the same here. Except that my degree was in biochemistry, and when i'm making sure each step follows logically from the previous ones and that no special cases are omitted, i'm applying the scientific method. I bet there are programmers who used to be historians and policemen who can make analogous claims about the origin of their discipline. I have the highest respect for mathematics and mathematicians, but i don't think they have a unique claim on rigorous thinking. Rather, mathematics is just what you get when you apply rigorous thinking to numbers, rather than to enzymes, manuscripts, or criminals. tom -- Mathematics is the door and the key to the sciences. -- Roger Bacon
From: Arne Vajhøj on 12 Mar 2010 19:52 On 11-03-2010 23:09, Patricia Shanahan wrote: > Maybe this is a rather vague way of getting at the following issue: I > would indeed expect a competent Java developer to understand the > difference, in Java, between a.equals(b) and a==b for reference > expressions a and b. I think it is. But asking the question this way reveals more about the interviewer than the interviewed. Arne
From: Martin Gregorie on 12 Mar 2010 19:57
On Fri, 12 Mar 2010 20:30:04 +0100, Christian wrote: > But programming languages themself are Maths ... The whole lagnguage you > are using is an example of First Order Logic. Like SQL is a more human > readable form of relational calculus... > Good point. Re SQL though: I remember seeing an early piece on relational calculus, probably written by Chris Date, and thought at the time that I'd rather use it than SQL. Maybe the raw form's time has come again now that more programmers are used writing concise block structured and OO languages instead of the pseudo-English of COBOL. Even at the time I had the impression that SQL was relational calculus that had been obfuscated to suit COBOL programmers. -- martin@ | Martin Gregorie gregorie. | Essex, UK org | |