Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

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

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


Comment on Re: Programming and math
Download Code
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
Node Status?
node history
Node Type: note [id://282699]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (11)
As of 2015-07-29 16:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (265 votes), past polls