Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

Re: Programming and math

by Boots111 (Hermit)
on Aug 10, 2003 at 23:31 UTC ( #282699=note: print w/replies, xml ) Need Help??

in reply to Programming and math


1) All programmers should have a basic grounding in math. I have seen way to many programmers who do not know de Morgan's law (!(a && b) )== (!a || !b) and that is not even remotely high level math. I have also seen too many people fail to realize that the converse of a true statement is not necessarily true. One needs a basic understanding of math in order to program well.

2) All programmers should have a basic grounding in theoretical Computer Science. I have had coworkers refuse to implement more efficient algorithms because they did not understand the concept of a DFA and did not care to listen to my explanation of it. Also one ought to understand why certain things simply cannot be determined by a computer program and what class of things this usually is.

3) Probably has a lot to do with the inclinations of the person.

Also, before anyone takes me out of context here I would like to point out that I am only calling for a "basic grounding" in the above. This does not necessitate formal education (although that is the most common method). A person could teach these things to herself; however, it is important that one actually learn them rather then delude oneself into thinking that they are known.

Computer science is merely the post-Turing decline of formal systems theory.

Replies are listed 'Best First'.
Re: Re: Programming and math
by allolex (Curate) on Aug 11, 2003 at 00:15 UTC

    That's not math, that's symbolic logic! (Which, to be fair, a lot of people learn in math classes.) And even though De Morgan probably had some mathematical application in mind, De Morgan's rules are a reformulation of some of Occam's teachings, which (al)most certainly did not have mathematics as their basis. And while knowing about finite state automata may be useful for some applications, I don't really see them as something that can't be learned along the way, should a programmer ever need to know how to implement them. In any case, a lot of smart programmers come up with this kind of thing on their own and are often surprised to hear it has a name. :)

    (That said, possessing more knowledge only enhances your ability to solve problems.)



      While you are right that De Morgan's law is part of logic, I consider logic to be part of Math. This might be a slightly contentious claim, but I know a few logicians who agree with me about this. Plus you can prove some nifty isomorphisms between abelian algebras and various logics.

      But I have a fairly wide view of what qualifies as Math...
      Computer science is merely the post-Turing decline of formal systems theory.
        Symbolic logic is no more a subset of Mathematics than it is a subset of Philosophy. Symbolic logic is a discipline unto itself. There are several different symbolic logics, most convertible one to the other.

        And, symbolic logic is not the sole necessity to be a good programmer, but more on that in the main thread.

        We are the carpenters and bricklayers of the Information Age.

        The idea is a little like C++ templates, except not quite so brain-meltingly complicated. -- TheDamian, Exegesis 6

        Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.




Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://282699]
LanX ♪..♫ Fiesta, fiesta mexicana ... ♪..♫
[mandarin]: LanX aren't you a bit late to the party?

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (8)
As of 2018-06-18 17:41 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (110 votes). Check out past polls.