Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re: Programming and math

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


in reply to Programming and math

kiat~

<rant>
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.
</rant>

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.

Boots
---
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.)

    --
    Allolex

      Allolex~

      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...
      Boots
      ---
      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.

      Argh

        argh?

        --
        Allolex

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (7)
As of 2024-04-18 12:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found