Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: Programming and math

by jeffa (Bishop)
on Aug 09, 2003 at 14:41 UTC ( [id://282415]=note: print w/replies, xml ) Need Help??


in reply to Programming and math

<speech assumption="general">
  1. No. But it helps. I am horrible at math, i just don't have the patience to work things out like that on a piece of paper that gives no feedback (like a compiler does). Most CompSci heads are actually good at math, but most Math heads are not good at programming (something about i = i + 1 ;)). When i was a CompSci undergrad, i was told that i was "the exception to the rule", because i was one of the top students who couldn't get more than a 'D' in Calculus 2.
  2. I think so. But know that you said 'Computer Science', not programming or software design. CompSci can both improve and hinder your programming and design skills. It's the fundamental difference between Academia and The Real World. For example, you get your Bachelors ... you get a real world job. You get your Masters ... you get a higher paying real world job. You get your Doctorate ... and you get kicked out of the Real World.
  3. Yes, but i don't think it's as "black and white" as you might think. FORTRAN obviously requires some knowledge of mathematical formulas, and BASIC requires little math at all - until the problem involves math. The better question to ask, IMHO, is "Will those with a good mathematical background go farther in programming than those that don't?" And that too depends upon what kind of programming you are talking about. If all you do is fetch database query results and slam them through the HTTP protocol, then no ... you don't really need a strong math background. But, if you want to get into functional programming, then a good knowledge of lambda calculus will surely help. At some point, you are going to have to be pretty decent with Math to move to the "next level". This is why i occasionally brush up on my Algebra, Trig, and Calc skills. While it hurts my brain sometimes, it surely doesn't hurt my programming skills. ;)
</speech>

jeffa

L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)

Replies are listed 'Best First'.
Re: Re: Programming and math
by TomDLux (Vicar) on Aug 10, 2003 at 03:34 UTC

    From the schools I've been to, and the places I've worked, I'd say many CS geeks barely struggled through Math. I was borderline, was planning a split honours, until I discovered how hard math became in third year. Mathematicians SHOULD be able to program, first, because they have to to do their work, second because thinking analytically, handling all circumstances, etc, should come naturally to trained mathematicians. However, they may not do so well at the aspects that involve daily experience.

    For some aspects of programming, understanding math is usefull, even essential. Obviously things that are mathematical need math; on the other hand, a flight simulator, interplanetary rocket simulator, nuclear controller or simulator, could effectively isolate the math to certain sections. You would need a specialist in mathematical programming to handle those segments, but anyone could do the rest.

    --
    TTTATCGGTCGTTATATAGATGTTTGCA

      Mathematicians SHOULD be able to program, first, because they have to to do their work, second because thinking analytically, handling all circumstances, etc, should come naturally to trained mathematicians

      I'd have to say that while I agree with the second half, very few of the mathematicians that I dealt with while I was in graduate school had any need to program to do their work (and at that time in my life, nor did I).

      Of course there are some (depending on field of interest) that do.

Re: Re: Programming and math
by zby (Vicar) on Aug 11, 2003 at 10:41 UTC
    Lambda calculus for functional programming won't help more then Turing Machine for imperative programming. This is just the simplistic model for proving some theory.

    Update: This is just a comparison. I really do not say that lambda calculus or Turing Machines are useless. To the contrary - as I've explained somwhere else in this thread I believe it is quite importand to know some theory - because only theory would give you sound reasoning why something is impossible.

      Please define help, because some people consider proving theories to be quite helpful. My definition was something along the lines of "it doesn't hurt" - so i will stick to what i said: "if you want to get into functional programming, then a good knowledge of lambda calculus will surely help". That is, of course, generally speaking - YMMV.

      Please don't discourage anyone from learning something new.

      jeffa

      L-LL-L--L-LL-L--L-LL-L--
      -R--R-RR-R--R-RR-R--R-RR
      B--B--B--B--B--B--B--B--
      H---H---H---H---H---H---
      (the triplet paradiddle with high-hat)
      
        I just compared the helpfullness of lambda calculus to that of Turing Machine. I believe both have some value. Perhaps you are right that mine comment could discourage people to learn lambda calculus - and I should formulate it a bit more carefully. But I just tried to be honest.

        Lambda calculus was quite nice, but it is too low level to be any practical and the interesting parts start when you learn the extensions to the lambda calculus like the F-system (where you get the ultimate polimorfism).

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://282415]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (3)
As of 2024-04-26 07:29 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found