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. What every programmer should know about...

What every programmer should know about...

Scheduled Pinned Locked Moved The Lounge
csharpc++htmlcomtools
43 Posts 20 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.
  • N Offline
    N Offline
    Nemanja Trifunovic
    wrote on last edited by
    #1

    Granted, our profession would benefit from increase in standards, but this is simply not realistic: What every programmer should know about memory[^] What Every Computer Scientist Should Know About Floating-Point Arithmetic[^]

    Programming Blog utf8-cpp

    L C R D S 7 Replies Last reply
    0
    • N Nemanja Trifunovic

      Granted, our profession would benefit from increase in standards, but this is simply not realistic: What every programmer should know about memory[^] What Every Computer Scientist Should Know About Floating-Point Arithmetic[^]

      Programming Blog utf8-cpp

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

      Nemanja Trifunovic wrote:

      simply not realistic

      Wait.. what? IMO every programmer should have at least read those documents, and preferably understand most of it. And universities should encourage students to read these things.. You know most students think like "doubles are more precise so I should use them all the time"? And then of course they write code that throws away all the precision with subtraction and then compares the result for equality. And then they complain that doubles are broken. The lack of knowledge about computer memory is less apparent, but it can't be good.

      B N 2 Replies Last reply
      0
      • L Lost User

        Nemanja Trifunovic wrote:

        simply not realistic

        Wait.. what? IMO every programmer should have at least read those documents, and preferably understand most of it. And universities should encourage students to read these things.. You know most students think like "doubles are more precise so I should use them all the time"? And then of course they write code that throws away all the precision with subtraction and then compares the result for equality. And then they complain that doubles are broken. The lack of knowledge about computer memory is less apparent, but it can't be good.

        B Offline
        B Offline
        Brady Kelly
        wrote on last edited by
        #3

        harold aptroot wrote:

        read those documents

        That is indeed simply not realistic. The level of detail both, but especially the memory one, as far beyond what a good education for a programmer, vs. a computer scientist, should entail.

        L 1 Reply Last reply
        0
        • B Brady Kelly

          harold aptroot wrote:

          read those documents

          That is indeed simply not realistic. The level of detail both, but especially the memory one, as far beyond what a good education for a programmer, vs. a computer scientist, should entail.

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

          They could still read them, reading is not hard.. Of course it's better if they understand it, but if they at least read those documents then even without understanding they should be more aware of possible pitfalls. Being aware of them is more important than knowing how exactly to avoid them - one could always look it up or ask someone else.

          D J 2 Replies Last reply
          0
          • N Nemanja Trifunovic

            Granted, our profession would benefit from increase in standards, but this is simply not realistic: What every programmer should know about memory[^] What Every Computer Scientist Should Know About Floating-Point Arithmetic[^]

            Programming Blog utf8-cpp

            C Offline
            C Offline
            Christopher Duncan
            wrote on last edited by
            #5

            When I started coding, back in ancient times, it was more important to understand things like memory (what do you mean 64k segments???). Failure to do so would result in some long and interesting nights with your C debugger. Today, people equate programming with putting up a web page. When your primary tools are papyrus and ink, about the only thing you need to worry about is steering clear of the Pharaoh's daughter.

            Christopher Duncan www.PracticalUSA.com Author of The Career Programmer and Unite the Tribes Got a career question? Ask the Attack Chihuahua!

            N R D J 4 Replies Last reply
            0
            • C Christopher Duncan

              When I started coding, back in ancient times, it was more important to understand things like memory (what do you mean 64k segments???). Failure to do so would result in some long and interesting nights with your C debugger. Today, people equate programming with putting up a web page. When your primary tools are papyrus and ink, about the only thing you need to worry about is steering clear of the Pharaoh's daughter.

              Christopher Duncan www.PracticalUSA.com Author of The Career Programmer and Unite the Tribes Got a career question? Ask the Attack Chihuahua!

              N Offline
              N Offline
              NormDroid
              wrote on last edited by
              #6

              Christopher Duncan wrote:

              Today, people equate programming with putting up a web page.

              and title themselves as Software Engineers, shocking but true.

              Software Kinetics (requires SL3 beta) - Moving software

              1 Reply Last reply
              0
              • C Christopher Duncan

                When I started coding, back in ancient times, it was more important to understand things like memory (what do you mean 64k segments???). Failure to do so would result in some long and interesting nights with your C debugger. Today, people equate programming with putting up a web page. When your primary tools are papyrus and ink, about the only thing you need to worry about is steering clear of the Pharaoh's daughter.

                Christopher Duncan www.PracticalUSA.com Author of The Career Programmer and Unite the Tribes Got a career question? Ask the Attack Chihuahua!

                R Offline
                R Offline
                Rama Krishna Vavilala
                wrote on last edited by
                #7

                Christopher Duncan wrote:

                people equate programming with putting up a web page

                You never miss an opportunity to take a jibe on Web development?:)

                J C J 3 Replies Last reply
                0
                • N Nemanja Trifunovic

                  Granted, our profession would benefit from increase in standards, but this is simply not realistic: What every programmer should know about memory[^] What Every Computer Scientist Should Know About Floating-Point Arithmetic[^]

                  Programming Blog utf8-cpp

                  R Offline
                  R Offline
                  Rob Philpott
                  wrote on last edited by
                  #8

                  I'd rather people read that than that bloody Gang of Four bilge. Worryingly, people just by virtue of having 'read' it seem to consider themselves competant.

                  Regards, Rob Philpott.

                  N 1 Reply Last reply
                  0
                  • L Lost User

                    Nemanja Trifunovic wrote:

                    simply not realistic

                    Wait.. what? IMO every programmer should have at least read those documents, and preferably understand most of it. And universities should encourage students to read these things.. You know most students think like "doubles are more precise so I should use them all the time"? And then of course they write code that throws away all the precision with subtraction and then compares the result for equality. And then they complain that doubles are broken. The lack of knowledge about computer memory is less apparent, but it can't be good.

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

                    harold aptroot wrote:

                    IMO every programmer should have at least read those documents, and preferably understand most of it

                    I am pleasantly surprised to see the attitude, but it is just never going to happen :)

                    Programming Blog utf8-cpp

                    L 1 Reply Last reply
                    0
                    • R Rob Philpott

                      I'd rather people read that than that bloody Gang of Four bilge. Worryingly, people just by virtue of having 'read' it seem to consider themselves competant.

                      Regards, Rob Philpott.

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

                      Rob Philpott wrote:

                      I'd rather people read that than that bloody Gang of Four bilge

                      Amen. The GoF stuff is IMHO harmful.

                      Programming Blog utf8-cpp

                      1 Reply Last reply
                      0
                      • N Nemanja Trifunovic

                        Granted, our profession would benefit from increase in standards, but this is simply not realistic: What every programmer should know about memory[^] What Every Computer Scientist Should Know About Floating-Point Arithmetic[^]

                        Programming Blog utf8-cpp

                        D Offline
                        D Offline
                        Dan Neely
                        wrote on last edited by
                        #11

                        There's a major difference between knowing something in and out, and being aware that there are potentially serious pitfalls and knowing when to consult a detailed reference. The former isn't overly realistic if if's something that you're not doing on a regular basis. Not knowing the latter is one of the common sources of wtfware code. Thanks for the memory article. I hadn't seen that one before, and will have to spend some quality time with it.

                        It is a truth universally acknowledged that a zombie in possession of brains must be in want of more brains. -- Pride and Prejudice and Zombies

                        1 Reply Last reply
                        0
                        • L Lost User

                          They could still read them, reading is not hard.. Of course it's better if they understand it, but if they at least read those documents then even without understanding they should be more aware of possible pitfalls. Being aware of them is more important than knowing how exactly to avoid them - one could always look it up or ask someone else.

                          D Offline
                          D Offline
                          dojohansen
                          wrote on last edited by
                          #12

                          Did you even read them yourself? I suspect you did not. Or do you seriously think that every programmer needs to know the circuit diagram for a 6-transistor SRAM cell? Or the capacitor charge and discharge timing of DRAM cells? The entire first part (which is substantial) consists of hardware details that are utterly irrelevant to the vast majority of programmers. In fact, only those who write assembly code (or compilers - i.e. programs that write assembly code) could even potentially use detailed knowledge about the internal caching design of modern CPUs. Given how many programmers fail to grasp, not to mention make good use of, the fundamental concepts of OOP, I can think of a few things I'd recommend studying before this.

                          L T S 3 Replies Last reply
                          0
                          • N Nemanja Trifunovic

                            harold aptroot wrote:

                            IMO every programmer should have at least read those documents, and preferably understand most of it

                            I am pleasantly surprised to see the attitude, but it is just never going to happen :)

                            Programming Blog utf8-cpp

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

                            Nemanja Trifunovic wrote:

                            but it is just never going to happen

                            You're right of course, but it's not good :(

                            1 Reply Last reply
                            0
                            • R Rama Krishna Vavilala

                              Christopher Duncan wrote:

                              people equate programming with putting up a web page

                              You never miss an opportunity to take a jibe on Web development?:)

                              J Offline
                              J Offline
                              Jim Crafton
                              wrote on last edited by
                              #14

                              Maybe because it's so epically full of failure? :)

                              ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

                              R 1 Reply Last reply
                              0
                              • C Christopher Duncan

                                When I started coding, back in ancient times, it was more important to understand things like memory (what do you mean 64k segments???). Failure to do so would result in some long and interesting nights with your C debugger. Today, people equate programming with putting up a web page. When your primary tools are papyrus and ink, about the only thing you need to worry about is steering clear of the Pharaoh's daughter.

                                Christopher Duncan www.PracticalUSA.com Author of The Career Programmer and Unite the Tribes Got a career question? Ask the Attack Chihuahua!

                                J Offline
                                J Offline
                                Jim Crafton
                                wrote on last edited by
                                #15

                                Christopher Duncan wrote:

                                the only thing you need to worry about is steering clear of the Pharaoh's daughter.

                                Does Doug know about this yet? Someone should really let him know!

                                ¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow

                                1 Reply Last reply
                                0
                                • C Christopher Duncan

                                  When I started coding, back in ancient times, it was more important to understand things like memory (what do you mean 64k segments???). Failure to do so would result in some long and interesting nights with your C debugger. Today, people equate programming with putting up a web page. When your primary tools are papyrus and ink, about the only thing you need to worry about is steering clear of the Pharaoh's daughter.

                                  Christopher Duncan www.PracticalUSA.com Author of The Career Programmer and Unite the Tribes Got a career question? Ask the Attack Chihuahua!

                                  D Offline
                                  D Offline
                                  dojohansen
                                  wrote on last edited by
                                  #16

                                  Yeah, but the fact that programming is becoming easier is a good thing. Maybe not for programemrs' salaries, but for society as a whole... surely a good thing.

                                  Steve EcholsS 1 Reply Last reply
                                  0
                                  • L Lost User

                                    They could still read them, reading is not hard.. Of course it's better if they understand it, but if they at least read those documents then even without understanding they should be more aware of possible pitfalls. Being aware of them is more important than knowing how exactly to avoid them - one could always look it up or ask someone else.

                                    J Offline
                                    J Offline
                                    jeffwask
                                    wrote on last edited by
                                    #17

                                    Exactly, no one is saying memorize the circuit diagrams but understanding the concepts is enough. Just skim the parts that get a little thick...

                                    1 Reply Last reply
                                    0
                                    • N Nemanja Trifunovic

                                      Granted, our profession would benefit from increase in standards, but this is simply not realistic: What every programmer should know about memory[^] What Every Computer Scientist Should Know About Floating-Point Arithmetic[^]

                                      Programming Blog utf8-cpp

                                      S Offline
                                      S Offline
                                      Single Step Debugger
                                      wrote on last edited by
                                      #18

                                      In my university there was a discipline called “Computer Architectures” which covered this subjects and a lot more in very deep basis. In fact this discipline was so hard that eventually some 10-15% of the students from my class failed to take this exam and had been suspended from the university.

                                      The narrow specialist in the broad sense of the word is a complete idiot in the narrow sense of the word. Advertise here – minimum three posts per day are guaranteed.

                                      1 Reply Last reply
                                      0
                                      • D dojohansen

                                        Did you even read them yourself? I suspect you did not. Or do you seriously think that every programmer needs to know the circuit diagram for a 6-transistor SRAM cell? Or the capacitor charge and discharge timing of DRAM cells? The entire first part (which is substantial) consists of hardware details that are utterly irrelevant to the vast majority of programmers. In fact, only those who write assembly code (or compilers - i.e. programs that write assembly code) could even potentially use detailed knowledge about the internal caching design of modern CPUs. Given how many programmers fail to grasp, not to mention make good use of, the fundamental concepts of OOP, I can think of a few things I'd recommend studying before this.

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

                                        dojohansen wrote:

                                        Did you even read them yourself? I suspect you did not.

                                        Of course I did.

                                        dojohansen wrote:

                                        Or do you seriously think that every programmer needs to know the circuit diagram for a 6-transistor SRAM cell? Or the capacitor charge and discharge timing of DRAM cells?

                                        No, they don't need to remember it, but they should know that it works that way (not the exact diagram and figures)

                                        dojohansen wrote:

                                        could even potentially use detailed knowledge about the internal caching design of modern CPUs.

                                        Cache trashing is far to easy to get, for example with naive large-matrix multiplication..

                                        dojohansen wrote:

                                        Given how many programmers fail to grasp, not to mention make good use of, the fundamental concepts of OOP, I can think of a few things I'd recommend studying before this.

                                        That is definitely true.

                                        D P 2 Replies Last reply
                                        0
                                        • N Nemanja Trifunovic

                                          Granted, our profession would benefit from increase in standards, but this is simply not realistic: What every programmer should know about memory[^] What Every Computer Scientist Should Know About Floating-Point Arithmetic[^]

                                          Programming Blog utf8-cpp

                                          S Offline
                                          S Offline
                                          Saurabh Garg
                                          wrote on last edited by
                                          #20

                                          I have never heard of the first article but I have read the second article. You should notice that it is not for programmers but for computer scientists. And IMHO it should not be a very difficult reading for any comptuer scientist worth his salt. -Saurabh

                                          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