Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Should Devs know how maths works?

Should Devs know how maths works?

Scheduled Pinned Locked Moved The Lounge
sharepointquestiondiscussion
95 Posts 45 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Danny Martin

    Hi Guys, I am doing a bit of research and was just wondering... How many programmers know how a computer does math? We take it for granted that those beige boxes (or white, shiny ones in my case :o) know that 2 + 2 = 4, but how many devs know how they work it out? How many care? Should we know? If you know, how did you find out, and when / under what circumstances etc. I learned Boolean Logic in the nineties while working with 68k assembler, and it was a real eye opener. What are the teams thoughts? Danny

    M Offline
    M Offline
    Mark_Wallace
    wrote on last edited by
    #33

    Danny Martin wrote:

    We take it for granted that those beige boxes (or white, shiny ones in my case :O ) know that 2 + 2 = 4

    Trouble is that they don't. They might know that 010 + 010 = 100, but not the 2 + 2 = 4.

    I wanna be a eunuchs developer! Pass me a bread knife!

    D N 2 Replies Last reply
    0
    • D Danny Martin

      Hi Guys, I am doing a bit of research and was just wondering... How many programmers know how a computer does math? We take it for granted that those beige boxes (or white, shiny ones in my case :o) know that 2 + 2 = 4, but how many devs know how they work it out? How many care? Should we know? If you know, how did you find out, and when / under what circumstances etc. I learned Boolean Logic in the nineties while working with 68k assembler, and it was a real eye opener. What are the teams thoughts? Danny

      M Offline
      M Offline
      Mel Padden
      wrote on last edited by
      #34

      For my part, it was the first thing I learned when I started program, but I have not had to use my knowledge of binary or hex since 2001. I doubt I could pick it up quite so easily now, and as it stands, I'm not particularly worried. I don't plan on writing any code at THAT level anytime soon. But, BUT it would be nice to know I could.

      Smokie, this is not 'Nam. This is bowling. There are rules. www.geticeberg.com http://melpadden.wordpress.com

      1 Reply Last reply
      0
      • D Danny Martin

        Hi Guys, I am doing a bit of research and was just wondering... How many programmers know how a computer does math? We take it for granted that those beige boxes (or white, shiny ones in my case :o) know that 2 + 2 = 4, but how many devs know how they work it out? How many care? Should we know? If you know, how did you find out, and when / under what circumstances etc. I learned Boolean Logic in the nineties while working with 68k assembler, and it was a real eye opener. What are the teams thoughts? Danny

        E Offline
        E Offline
        Eric Goedhart
        wrote on last edited by
        #35

        Hi, I have a book called ["Elements of Programming"] and when I was reading your post and question I thought about the back cover of this book were Martin Newell (Adobe Fellow) wrote this: "As a mechanical, structural, or electrical engineer how far they would get without a heavy reliance on a firm mathematical foundation, and they will tell you, 'not far'. Yet so-called software engineers often practice their art with little or no idea of the mathematical underpinnings of what they are doing. And then we wonder why software is notorious for being delivered late and full of bugs, while other engineers routinely deliver finished bridges, automobiles, electrical appliances, etc,, on time and with minor defects" I think we should care and should know about how we can use math algorithms correct and efficient to write better and more reliable software, or at least give it a try

        With friendly greetings,:) Eric Goedhart

        N D 2 Replies Last reply
        0
        • M Mark_Wallace

          Danny Martin wrote:

          We take it for granted that those beige boxes (or white, shiny ones in my case :O ) know that 2 + 2 = 4

          Trouble is that they don't. They might know that 010 + 010 = 100, but not the 2 + 2 = 4.

          I wanna be a eunuchs developer! Pass me a bread knife!

          D Offline
          D Offline
          Danny Martin
          wrote on last edited by
          #36

          Mark Wallace wrote:

          They might know that 010 + 010 = 100, but not the 2 + 2 = 4.

          Not strictly true... '010' is as abstract as '2' if you're going to be picky - but I get your point. ;P

          1 Reply Last reply
          0
          • E Eric Goedhart

            Hi, I have a book called ["Elements of Programming"] and when I was reading your post and question I thought about the back cover of this book were Martin Newell (Adobe Fellow) wrote this: "As a mechanical, structural, or electrical engineer how far they would get without a heavy reliance on a firm mathematical foundation, and they will tell you, 'not far'. Yet so-called software engineers often practice their art with little or no idea of the mathematical underpinnings of what they are doing. And then we wonder why software is notorious for being delivered late and full of bugs, while other engineers routinely deliver finished bridges, automobiles, electrical appliances, etc,, on time and with minor defects" I think we should care and should know about how we can use math algorithms correct and efficient to write better and more reliable software, or at least give it a try

            With friendly greetings,:) Eric Goedhart

            D Offline
            D Offline
            Danny Martin
            wrote on last edited by
            #37

            Nice quote. Thanks for posting it... Danny

            1 Reply Last reply
            0
            • E Eric Goedhart

              Hi, I have a book called ["Elements of Programming"] and when I was reading your post and question I thought about the back cover of this book were Martin Newell (Adobe Fellow) wrote this: "As a mechanical, structural, or electrical engineer how far they would get without a heavy reliance on a firm mathematical foundation, and they will tell you, 'not far'. Yet so-called software engineers often practice their art with little or no idea of the mathematical underpinnings of what they are doing. And then we wonder why software is notorious for being delivered late and full of bugs, while other engineers routinely deliver finished bridges, automobiles, electrical appliances, etc,, on time and with minor defects" I think we should care and should know about how we can use math algorithms correct and efficient to write better and more reliable software, or at least give it a try

              With friendly greetings,:) Eric Goedhart

              N Offline
              N Offline
              Nemanja Trifunovic
              wrote on last edited by
              #38

              Eric Goedhart wrote:

              I have a book called ["Elements of Programming"]

              A great book!

              utf8-cpp

              1 Reply Last reply
              0
              • S Slacker007

                Not everyone is like you. What you think should be important may not be important to me or the next guy. I do very well for myself in my profession (on all levels). To slight me because I don't get off on 0's and 1's is lame. Instead of talking smack about your intern and crying about it, why don't you take the time to show this person the connection between the 1's and 0's and why they are important.

                -- ** You don't hire a handyman to build a house, you hire a carpenter. ** Jack of all trades and master of none.

                L Offline
                L Offline
                Lost User
                wrote on last edited by
                #39

                No reason to get angry and nice to hear that you are doing fine. And how could I overlook that people working on binary algorithmic calculating machines only need to know about those fundamentals when they are interested in it? Let's see if we can also find somebody who gets by perfectly without needing to know about the algorithmic part.

                "I just exchanged opinions with my boss. I went in with mine and came out with his." - me, 2011 ---
                I am endeavoring, Madam, to construct a mnemonic memory circuit using stone knives and bearskins - Mr. Spock 1935 and me 2011

                S D J 3 Replies Last reply
                0
                • L Lost User

                  No reason to get angry and nice to hear that you are doing fine. And how could I overlook that people working on binary algorithmic calculating machines only need to know about those fundamentals when they are interested in it? Let's see if we can also find somebody who gets by perfectly without needing to know about the algorithmic part.

                  "I just exchanged opinions with my boss. I went in with mine and came out with his." - me, 2011 ---
                  I am endeavoring, Madam, to construct a mnemonic memory circuit using stone knives and bearskins - Mr. Spock 1935 and me 2011

                  S Offline
                  S Offline
                  Slacker007
                  wrote on last edited by
                  #40

                  Are we debating algorithms or binary math? Are we debating logic or 0's or 1's? I can't tell anymore. ...I'm not angry. However, you sound like we all "need" to know this stuff because "you" know it and I am just saying that is plain silly.

                  -- ** You don't hire a handyman to build a house, you hire a carpenter. ** Jack of all trades and master of none.

                  L 1 Reply Last reply
                  0
                  • I Iain Clarke Warrior Programmer

                    Danny Martin wrote:

                    nineties while working with 68k assembler

                    Whippersnapper! Early 80s, z80 & 6502. Ah, the days of knowing 1's and 2's complement, and hexadecimal... Iain.

                    I am one of "those foreigners coming over here and stealing our jobs". Yay me!

                    Mike HankeyM Offline
                    Mike HankeyM Offline
                    Mike Hankey
                    wrote on last edited by
                    #41

                    I love the smell of a hex dump in the morning.

                    "Life can only be understood backwards, but it must be lived forward." Kierkegaard, Søren

                    S 1 Reply Last reply
                    0
                    • D Danny Martin

                      Hi Guys, I am doing a bit of research and was just wondering... How many programmers know how a computer does math? We take it for granted that those beige boxes (or white, shiny ones in my case :o) know that 2 + 2 = 4, but how many devs know how they work it out? How many care? Should we know? If you know, how did you find out, and when / under what circumstances etc. I learned Boolean Logic in the nineties while working with 68k assembler, and it was a real eye opener. What are the teams thoughts? Danny

                      A Offline
                      A Offline
                      Andrew Rissing
                      wrote on last edited by
                      #42

                      I personally see both sides of the fence here. Ultimately, it depends on what you want to know. As the world of computer science grows larger and larger, it is important for people to specialize. I personally don't know how the NT file system writes out chunks of a file or how a monitor is transmitted the information I'm seeing on this screen, but it doesn't hinder my ability to develop an application (at least until I run across a problem requiring such knowledge). The great thing about computer science is this. We can stand upon the backs of giants to achieve something even greater. I don't have to know everything about everything. I just have to know what is relevant to my task at hand. Now, it doesn't prevent my own curiosity from taking me into uncharted waters. In the end, the few courses that I touched on in college about that were among my favorite. I find it interesting, but in no way force that we should all know.

                      modified on Wednesday, June 1, 2011 10:20 AM

                      1 Reply Last reply
                      0
                      • L Lost User

                        No reason to get angry and nice to hear that you are doing fine. And how could I overlook that people working on binary algorithmic calculating machines only need to know about those fundamentals when they are interested in it? Let's see if we can also find somebody who gets by perfectly without needing to know about the algorithmic part.

                        "I just exchanged opinions with my boss. I went in with mine and came out with his." - me, 2011 ---
                        I am endeavoring, Madam, to construct a mnemonic memory circuit using stone knives and bearskins - Mr. Spock 1935 and me 2011

                        D Offline
                        D Offline
                        Danny Martin
                        wrote on last edited by
                        #43

                        What I'm saying here, and is being echoed by others, is that you don't need to know that a computer uses AND / XOR to do addition in order to write a function which adds two numbers. I believe there are many devs out there that don't know, don't need to know and quite frankly could care less. You don't need to know how to write a for next loop in assembler in order to write one in another, higher level language, but if you 'do' know how it works at the machine level I think it gives you a greater insight into how those higher level languages do their thing. it certainly helped me to understand what was going on under the hood. Danny

                        S L L N S 5 Replies Last reply
                        0
                        • D Danny Martin

                          What I'm saying here, and is being echoed by others, is that you don't need to know that a computer uses AND / XOR to do addition in order to write a function which adds two numbers. I believe there are many devs out there that don't know, don't need to know and quite frankly could care less. You don't need to know how to write a for next loop in assembler in order to write one in another, higher level language, but if you 'do' know how it works at the machine level I think it gives you a greater insight into how those higher level languages do their thing. it certainly helped me to understand what was going on under the hood. Danny

                          S Offline
                          S Offline
                          Slacker007
                          wrote on last edited by
                          #44

                          Danny Martin wrote:

                          You don't need to know how to write a for next loop in assembler in order to write one in another, higher level language, but if you 'do' know how it works at the machine level I think it gives you a greater insight into how those higher level languages do their thing. it certainly helped me to understand what was going on under the hood.

                          Well said. :thumbsup:

                          -- ** You don't hire a handyman to build a house, you hire a carpenter. ** Jack of all trades and master of none.

                          1 Reply Last reply
                          0
                          • D Danny Martin

                            What I'm saying here, and is being echoed by others, is that you don't need to know that a computer uses AND / XOR to do addition in order to write a function which adds two numbers. I believe there are many devs out there that don't know, don't need to know and quite frankly could care less. You don't need to know how to write a for next loop in assembler in order to write one in another, higher level language, but if you 'do' know how it works at the machine level I think it gives you a greater insight into how those higher level languages do their thing. it certainly helped me to understand what was going on under the hood. Danny

                            L Offline
                            L Offline
                            Lost User
                            wrote on last edited by
                            #45

                            Certainly. The closer you get to the hardware, the more you must know. If you happen to work on, let's say, a driver for some piece of hardware, then it becomes absolutely essential. Then think about what you do every day with integer types. Type casts, conversions, signed vs. unsigned or, when importing binary data, little endian vs. big endian. How is someone supposed to deal with all the little pitfalls involved with those things without knowing anything about binary arithmatic? Nice frameworks and programming languages cannot protect you from everything.

                            "I just exchanged opinions with my boss. I went in with mine and came out with his." - me, 2011 ---
                            I am endeavoring, Madam, to construct a mnemonic memory circuit using stone knives and bearskins - Mr. Spock 1935 and me 2011

                            D 1 Reply Last reply
                            0
                            • S Slacker007

                              Are we debating algorithms or binary math? Are we debating logic or 0's or 1's? I can't tell anymore. ...I'm not angry. However, you sound like we all "need" to know this stuff because "you" know it and I am just saying that is plain silly.

                              -- ** You don't hire a handyman to build a house, you hire a carpenter. ** Jack of all trades and master of none.

                              L Offline
                              L Offline
                              Lost User
                              wrote on last edited by
                              #46

                              It does not matter what I know or not. I just say that those things are so fundamental that you must deal with them, like it or not. The only alternative would be to become a cargo cult programmer who strictly follows rules from people who (hopefully) know what they are talking about. I prefer not to end this way.

                              "I just exchanged opinions with my boss. I went in with mine and came out with his." - me, 2011 ---
                              I am endeavoring, Madam, to construct a mnemonic memory circuit using stone knives and bearskins - Mr. Spock 1935 and me 2011

                              1 Reply Last reply
                              0
                              • L Lost User

                                Certainly. The closer you get to the hardware, the more you must know. If you happen to work on, let's say, a driver for some piece of hardware, then it becomes absolutely essential. Then think about what you do every day with integer types. Type casts, conversions, signed vs. unsigned or, when importing binary data, little endian vs. big endian. How is someone supposed to deal with all the little pitfalls involved with those things without knowing anything about binary arithmatic? Nice frameworks and programming languages cannot protect you from everything.

                                "I just exchanged opinions with my boss. I went in with mine and came out with his." - me, 2011 ---
                                I am endeavoring, Madam, to construct a mnemonic memory circuit using stone knives and bearskins - Mr. Spock 1935 and me 2011

                                D Offline
                                D Offline
                                Danny Martin
                                wrote on last edited by
                                #47

                                CDP1802 wrote:

                                The closer you get to the hardware, the more you must know. If you happen to work on, let's say, a driver for some piece of hardware, then it becomes absolutely essential.

                                I agree, but I was just talking generally...

                                CDP1802 wrote:

                                Nice frameworks and programming languages cannot protect you from everything.

                                There, however, I disagree. You can, for example, be a very successful web developer and not care about the difference between an integer and string in some instances, take PHP... I feel that knowing the fundamental stuff is advantageous, but it's by no means essential to work in a higher level language that does a majority of the work for you. Many replies here seem to bear that point out pretty well. Danny

                                L 1 Reply Last reply
                                0
                                • D Danny Martin

                                  CDP1802 wrote:

                                  The closer you get to the hardware, the more you must know. If you happen to work on, let's say, a driver for some piece of hardware, then it becomes absolutely essential.

                                  I agree, but I was just talking generally...

                                  CDP1802 wrote:

                                  Nice frameworks and programming languages cannot protect you from everything.

                                  There, however, I disagree. You can, for example, be a very successful web developer and not care about the difference between an integer and string in some instances, take PHP... I feel that knowing the fundamental stuff is advantageous, but it's by no means essential to work in a higher level language that does a majority of the work for you. Many replies here seem to bear that point out pretty well. Danny

                                  L Offline
                                  L Offline
                                  Lost User
                                  wrote on last edited by
                                  #48

                                  By my experience that also accounts for a few new posts in the coding horrors section, usually committed by somebody who is totally unaware of what's so horrible about it. And, my personal favorite, experienced developers quickly looking the other way and leaving the dirty work to that rambling idiot who keeps ranting about how important that stuff is.

                                  "I just exchanged opinions with my boss. I went in with mine and came out with his." - me, 2011 ---
                                  I am endeavoring, Madam, to construct a mnemonic memory circuit using stone knives and bearskins - Mr. Spock 1935 and me 2011

                                  K 1 Reply Last reply
                                  0
                                  • D Danny Martin

                                    Hi Guys, I am doing a bit of research and was just wondering... How many programmers know how a computer does math? We take it for granted that those beige boxes (or white, shiny ones in my case :o) know that 2 + 2 = 4, but how many devs know how they work it out? How many care? Should we know? If you know, how did you find out, and when / under what circumstances etc. I learned Boolean Logic in the nineties while working with 68k assembler, and it was a real eye opener. What are the teams thoughts? Danny

                                    M Offline
                                    M Offline
                                    Member 96
                                    wrote on last edited by
                                    #49

                                    No. I knew once back in the day when I cut my teeth doing assembly programming and a bit before that when I did a little electronics as a hobby and played with logic chips, these days as a developer using any modern language it's *utterly* irrelevant and if someone wants to take it up as a hobby good on them but that's it.


                                    There is no failure only feedback

                                    1 Reply Last reply
                                    0
                                    • Mike HankeyM Mike Hankey

                                      I love the smell of a hex dump in the morning.

                                      "Life can only be understood backwards, but it must be lived forward." Kierkegaard, Søren

                                      S Offline
                                      S Offline
                                      Steve Mayfield
                                      wrote on last edited by
                                      #50

                                      punch card chad on my oatmeal :laugh:

                                      Steve _________________ I C(++) therefore I am

                                      J 1 Reply Last reply
                                      0
                                      • C Chris Maunder

                                        They should also know how a computer works, and how the VM or runtime they are targeting works.

                                        cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP

                                        L Offline
                                        L Offline
                                        Lost User
                                        wrote on last edited by
                                        #51

                                        Chris Maunder wrote:

                                        They should also know how a computer works, and how the VM or runtime they are targeting works.

                                        ...and the quaulity and quantity and specific type of mud to use in the pies.

                                        Michael Martin Australia "I controlled my laughter and simple said "No,I am very busy,so I can't write any code for you". The moment they heard this all the smiling face turned into a sad looking face and one of them farted. So I had to leave the place as soon as possible." - Mr.Prakash One Fine Saturday. 24/04/2004

                                        C 1 Reply Last reply
                                        0
                                        • L Lost User

                                          Chris Maunder wrote:

                                          They should also know how a computer works, and how the VM or runtime they are targeting works.

                                          ...and the quaulity and quantity and specific type of mud to use in the pies.

                                          Michael Martin Australia "I controlled my laughter and simple said "No,I am very busy,so I can't write any code for you". The moment they heard this all the smiling face turned into a sad looking face and one of them farted. So I had to leave the place as soon as possible." - Mr.Prakash One Fine Saturday. 24/04/2004

                                          C Offline
                                          C Offline
                                          Chris Maunder
                                          wrote on last edited by
                                          #52

                                          Well, obviously.

                                          cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP

                                          L 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups