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. Higher Software Education

Higher Software Education

Scheduled Pinned Locked Moved The Lounge
helpquestioncsharphardware
59 Posts 39 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 Dean Moe

    This is my first post, so be gentle. My background is mostly on the hardware side of computers. Back in the day when Motherboards were expensive ($1.5 - 30k) in the early 80's (Not Apple Computers!), I made a living repairing them. One part of my job involved writing assembly programs that were used to diagnose individual components to locate the one having a problem. (Try finding a memory chip with one blown bit on a array of four boards or a stuck on bit in the logic circuitry.) So, I understand how computers work, what exactly happens when a handle (or pointer) is created, what a BLT is and how it works differently with the CPU than other programming operations, etc... Basically, the nuts and bolts. I've noticed that since I took up VB.Net and I am trying to wrap my mind around all the concepts that make up OOP, Polymorphism, Delegates, Reflection, etc.. that allot of the fundamentals of how a computer really works are never talked about. For instance, when a beginning programmer asks "BackColor = Color.Transparent only shows a black screen, Why?" The typical response is Silence, Microsoft doesn't support it or it doesn't work." I know why, do you? Just like fundamentals in baseball is necessary in win the World Series, I would think it would be necessary in programming. My question is: What do they teach in school about computer fundamentals? Have you guys that have been programmers for years ever thought about it?

    R Offline
    R Offline
    Roger Wright
    wrote on last edited by
    #12

    I'd agree with John C. My background is similar to yours in some ways - an electronics engineer who really knows the hardware, and who has done a lot of programming in low level languages to directly manipulate the ones and zeroes (including digital and analog test systems). I think that knowledge is extremely valuable to a developer in many circumstances. But for general application development it probably isn't all that useful, and the great majority of developers will never need it. In fact, of the programmers I've worked with few would be capable of learning it. They lack the interest and technical background to understand it, and it requires both. Why should they? How many software developers really need to know about RAS/CAS refresh cycles, RS232 handshaking transition times and levels, TTL vs CMOS rise times, and such? They aren't taught it school, and don't need it at work. Software developers' gifts and interests lie in other areas for the most part. Very few ever need to get into the nuts and bolts like you do, and if they do (and they have the background to understand it) there are classes available that many employers will pay for. Some people love software, and should pursue that; others love hardware, and should study that. The courses offered by schools reflect that boundary, and it's possible to take a double major if a student is interested in both. I've known a few who did. By the way, I think you'll get a better grasp of modern programming concepts if you skip VB and focus on C++ or C#. OOP for VB was sort of an afterthought, and it shows. I'm not good at any of them, but I'm a hardware weenie. Back when I did a lot of programming the languages and concepts were simpler, and operating systems were easy to comprehend. I'm working at learning C# these days, but I'll never be more than a dabbler. It's fun, but it's not my career, and the hours available to master it are few. If you're serious about learning programming with modern high level languages, you're going to have to set that goal with a high priority and devote a lot of time to it. Be prepared to deal with huge frustration, not from the languages - they're not hard - but from the OS environment. It's a new world out there, a very busy and complex one. On the bright side, though, there's an immense sense of satisfaction when something you've been fighting to make work for weeks finally clicks. Have fun! :-D

    "A Journey of a Thousand Rest Stops Begins with a Single Movement"

    1 Reply Last reply
    0
    • R Robert Surtees

      Gandalf7 wrote:

      what a BLT is and how it works differently with the CPU than other

      Mmmmmmmm. Bacon.

      S Offline
      S Offline
      Shog9 0
      wrote on last edited by
      #13

      Mmmmmmmm. Tomato.

      R 1 Reply Last reply
      0
      • S Shog9 0

        Mmmmmmmm. Tomato.

        R Offline
        R Offline
        Roger Wright
        wrote on last edited by
        #14

        Oh, lettuce alone!:mad:

        "A Journey of a Thousand Rest Stops Begins with a Single Movement"

        S 1 Reply Last reply
        0
        • D Dean Moe

          This is my first post, so be gentle. My background is mostly on the hardware side of computers. Back in the day when Motherboards were expensive ($1.5 - 30k) in the early 80's (Not Apple Computers!), I made a living repairing them. One part of my job involved writing assembly programs that were used to diagnose individual components to locate the one having a problem. (Try finding a memory chip with one blown bit on a array of four boards or a stuck on bit in the logic circuitry.) So, I understand how computers work, what exactly happens when a handle (or pointer) is created, what a BLT is and how it works differently with the CPU than other programming operations, etc... Basically, the nuts and bolts. I've noticed that since I took up VB.Net and I am trying to wrap my mind around all the concepts that make up OOP, Polymorphism, Delegates, Reflection, etc.. that allot of the fundamentals of how a computer really works are never talked about. For instance, when a beginning programmer asks "BackColor = Color.Transparent only shows a black screen, Why?" The typical response is Silence, Microsoft doesn't support it or it doesn't work." I know why, do you? Just like fundamentals in baseball is necessary in win the World Series, I would think it would be necessary in programming. My question is: What do they teach in school about computer fundamentals? Have you guys that have been programmers for years ever thought about it?

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

          Gandalf7 wrote:

          What do they teach in school about computer fundamentals?

          In high school they teach some of the basics - but not at any depth. A quick summary of memory, registers etc. but certainly no assembler. (This is from my experience teaching at three high schools, and looking at the curriculum requirements - though individual schools do have their own courses) At university it tends to depend upon which course you are taking - certainly software developers rarely look 'below' C as a language. As has been said elsewhere, the level of abstraction increases over time. I confess I learned machine code, by typing it in byte by byte (indeed my VERY first program counted from 1 to 255 and was entered a byte at a time by physically switching eight switches then pressing a big red button to enter that instruction) and I believe it gives me a good understanding of what's going on behind the smoke and mirrors - and can help me still.

          Gandalf7 wrote:

          Have you guys that have been programmers for years ever thought about it?

          Yep - think about it all the time. I don't believe a depth of understanding is any linger necessary - although a certain level of understanding of the concepts can help. You don't need to know whether something is on the heap or the stack, for example, but it can be useful to understand the concepts of stack and heap when looking at parameter passing by reference or value.

          ___________________________________________ .\\axxx (That's an 'M')

          R 1 Reply Last reply
          0
          • R Roger Wright

            Oh, lettuce alone!:mad:

            "A Journey of a Thousand Rest Stops Begins with a Single Movement"

            S Offline
            S Offline
            Shog9 0
            wrote on last edited by
            #16

            :laugh:

            1 Reply Last reply
            0
            • L Lost User

              Gandalf7 wrote:

              What do they teach in school about computer fundamentals?

              In high school they teach some of the basics - but not at any depth. A quick summary of memory, registers etc. but certainly no assembler. (This is from my experience teaching at three high schools, and looking at the curriculum requirements - though individual schools do have their own courses) At university it tends to depend upon which course you are taking - certainly software developers rarely look 'below' C as a language. As has been said elsewhere, the level of abstraction increases over time. I confess I learned machine code, by typing it in byte by byte (indeed my VERY first program counted from 1 to 255 and was entered a byte at a time by physically switching eight switches then pressing a big red button to enter that instruction) and I believe it gives me a good understanding of what's going on behind the smoke and mirrors - and can help me still.

              Gandalf7 wrote:

              Have you guys that have been programmers for years ever thought about it?

              Yep - think about it all the time. I don't believe a depth of understanding is any linger necessary - although a certain level of understanding of the concepts can help. You don't need to know whether something is on the heap or the stack, for example, but it can be useful to understand the concepts of stack and heap when looking at parameter passing by reference or value.

              ___________________________________________ .\\axxx (That's an 'M')

              R Offline
              R Offline
              Roger Wright
              wrote on last edited by
              #17

              Maxxx_ wrote:

              pressing a big red button to enter that instruction

              You had a red button????:mad: Damn, all they gave me was a spring-loaded toggle switch. Well, two actually. One 'LOAD' the other 'NEXT'. It just isn't fair... :(

              "A Journey of a Thousand Rest Stops Begins with a Single Movement"

              R 1 Reply Last reply
              0
              • R Roger Wright

                Maxxx_ wrote:

                pressing a big red button to enter that instruction

                You had a red button????:mad: Damn, all they gave me was a spring-loaded toggle switch. Well, two actually. One 'LOAD' the other 'NEXT'. It just isn't fair... :(

                "A Journey of a Thousand Rest Stops Begins with a Single Movement"

                R Offline
                R Offline
                Robert Surtees
                wrote on last edited by
                #18

                I bet he had one of them fancy 8 pixel displays too.

                R 1 Reply Last reply
                0
                • R Robert Surtees

                  I bet he had one of them fancy 8 pixel displays too.

                  R Offline
                  R Offline
                  Roger Wright
                  wrote on last edited by
                  #19

                  Some people had it way too easy. All I had was red LEDs, 16 of them, until I designed an I/O card to talk to a ASR33 teletype. I bet he never had a bit-bucket like mine! :-D

                  "A Journey of a Thousand Rest Stops Begins with a Single Movement"

                  L 1 Reply Last reply
                  0
                  • R Roger Wright

                    Some people had it way too easy. All I had was red LEDs, 16 of them, until I designed an I/O card to talk to a ASR33 teletype. I bet he never had a bit-bucket like mine! :-D

                    "A Journey of a Thousand Rest Stops Begins with a Single Movement"

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

                    16!!!!!! I only had eight! And, when I say big red button, it wasn't that big. Or that red, really. But it was a button. We had to get up at six O'Clock in t'morning and lick t'road clean with 'tongue.

                    ___________________________________________ .\\axxx (That's an 'M')

                    R G B 3 Replies Last reply
                    0
                    • L Lost User

                      16!!!!!! I only had eight! And, when I say big red button, it wasn't that big. Or that red, really. But it was a button. We had to get up at six O'Clock in t'morning and lick t'road clean with 'tongue.

                      ___________________________________________ .\\axxx (That's an 'M')

                      R Offline
                      R Offline
                      Roger Wright
                      wrote on last edited by
                      #21

                      Maxxx_ wrote:

                      We had to get up at six O'Clock in t'morning and lick t'road clean with 'tongue.

                      We had to get up at 4:00 AM to piss on the road and soften the grit for you lot. ;P

                      "A Journey of a Thousand Rest Stops Begins with a Single Movement"

                      L 1 Reply Last reply
                      0
                      • D Dean Moe

                        This is my first post, so be gentle. My background is mostly on the hardware side of computers. Back in the day when Motherboards were expensive ($1.5 - 30k) in the early 80's (Not Apple Computers!), I made a living repairing them. One part of my job involved writing assembly programs that were used to diagnose individual components to locate the one having a problem. (Try finding a memory chip with one blown bit on a array of four boards or a stuck on bit in the logic circuitry.) So, I understand how computers work, what exactly happens when a handle (or pointer) is created, what a BLT is and how it works differently with the CPU than other programming operations, etc... Basically, the nuts and bolts. I've noticed that since I took up VB.Net and I am trying to wrap my mind around all the concepts that make up OOP, Polymorphism, Delegates, Reflection, etc.. that allot of the fundamentals of how a computer really works are never talked about. For instance, when a beginning programmer asks "BackColor = Color.Transparent only shows a black screen, Why?" The typical response is Silence, Microsoft doesn't support it or it doesn't work." I know why, do you? Just like fundamentals in baseball is necessary in win the World Series, I would think it would be necessary in programming. My question is: What do they teach in school about computer fundamentals? Have you guys that have been programmers for years ever thought about it?

                        K Offline
                        K Offline
                        ktm TechMan
                        wrote on last edited by
                        #22

                        Just finished B.SC in Computer science, two yrs back. Had classes in C, Assembly language, compiler design, JAVA, and even web programming. If one just sticks to web programming, no need for low level knowledge of computers. The courses were great but lousy teachers but I think that a low level knowledge is essential, when things go wrong in places where you least expected, you need that low level knowledge and find a workaround based on that.

                        D 1 Reply Last reply
                        0
                        • D Dean Moe

                          This is my first post, so be gentle. My background is mostly on the hardware side of computers. Back in the day when Motherboards were expensive ($1.5 - 30k) in the early 80's (Not Apple Computers!), I made a living repairing them. One part of my job involved writing assembly programs that were used to diagnose individual components to locate the one having a problem. (Try finding a memory chip with one blown bit on a array of four boards or a stuck on bit in the logic circuitry.) So, I understand how computers work, what exactly happens when a handle (or pointer) is created, what a BLT is and how it works differently with the CPU than other programming operations, etc... Basically, the nuts and bolts. I've noticed that since I took up VB.Net and I am trying to wrap my mind around all the concepts that make up OOP, Polymorphism, Delegates, Reflection, etc.. that allot of the fundamentals of how a computer really works are never talked about. For instance, when a beginning programmer asks "BackColor = Color.Transparent only shows a black screen, Why?" The typical response is Silence, Microsoft doesn't support it or it doesn't work." I know why, do you? Just like fundamentals in baseball is necessary in win the World Series, I would think it would be necessary in programming. My question is: What do they teach in school about computer fundamentals? Have you guys that have been programmers for years ever thought about it?

                          T Offline
                          T Offline
                          Todd Smith
                          wrote on last edited by
                          #23

                          Gandalf7 wrote:

                          Have you guys that have been programmers for years ever thought about it?

                          I'm self taught so not really. I took a few computer courses in college and found them to be sub-par. A course on compiler design would have been intriguing though. What I did enjoy was the math, image processing, signal processing, digital design, hated analog, enjoyed robotics and machine vision, mechanical engineering, material sciences (very hard btw), thermo dynamics, linear algebra, and lots of free access to Suns, SGIs and Apples at the college labs where one could study whatever they wanted. However, the DECs and VAX machines running FORTRAN wanted to make me scream in horror. I have nightmares of being paper cut to death by punch cards.

                          Todd Smith

                          R 1 Reply Last reply
                          0
                          • T Todd Smith

                            Gandalf7 wrote:

                            Have you guys that have been programmers for years ever thought about it?

                            I'm self taught so not really. I took a few computer courses in college and found them to be sub-par. A course on compiler design would have been intriguing though. What I did enjoy was the math, image processing, signal processing, digital design, hated analog, enjoyed robotics and machine vision, mechanical engineering, material sciences (very hard btw), thermo dynamics, linear algebra, and lots of free access to Suns, SGIs and Apples at the college labs where one could study whatever they wanted. However, the DECs and VAX machines running FORTRAN wanted to make me scream in horror. I have nightmares of being paper cut to death by punch cards.

                            Todd Smith

                            R Offline
                            R Offline
                            Roger Wright
                            wrote on last edited by
                            #24

                            Todd Smith wrote:

                            I have nightmares of being paper cut to death by punch cards.

                            Talk about nightmares... I used to dream about walking across campus to the computer center in the middle of the night to turn in my final FORTRAN assignment, dropping my box of painstakingly punched Hollerith cards on the lawn, and watching the sprinklers come on. Brrrr.. It still gives me chills.

                            "A Journey of a Thousand Rest Stops Begins with a Single Movement"

                            1 Reply Last reply
                            0
                            • R Roger Wright

                              Maxxx_ wrote:

                              We had to get up at six O'Clock in t'morning and lick t'road clean with 'tongue.

                              We had to get up at 4:00 AM to piss on the road and soften the grit for you lot. ;P

                              "A Journey of a Thousand Rest Stops Begins with a Single Movement"

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

                              Areyou forgetting where you are, Sir - surely you mean urinate?

                              ___________________________________________ .\\axxx (That's an 'M')

                              1 Reply Last reply
                              0
                              • T Tom Delany

                                I agree. There's just too much information involved... Like the old "Trying to drink from a firehose" adage. I think it would be the rare person that could totally understand every aspect of computers/languages/development, etc. today. Personally, I think it would be physically impossible for one person to get their head around everything and totally understand it. IMHO :sigh:

                                WE ARE DYSLEXIC OF BORG. Refutance is systile. Your a$$ will be laminated.

                                M Offline
                                M Offline
                                Mustafa Ismail Mustafa
                                wrote on last edited by
                                #26

                                Tom Delany wrote:

                                the rare person that could totally understand every aspect of computers/languages/development, etc. today

                                Isn't he the same person that tamed unicorns in his spare time?

                                Don't forget to vote if the response was helpful


                                Sig history "dad" Ishmail-Samuel Mustafa Unix is a Four Letter Word, and Vi is a Two Letter Abbreviation

                                1 Reply Last reply
                                0
                                • D Dean Moe

                                  This is my first post, so be gentle. My background is mostly on the hardware side of computers. Back in the day when Motherboards were expensive ($1.5 - 30k) in the early 80's (Not Apple Computers!), I made a living repairing them. One part of my job involved writing assembly programs that were used to diagnose individual components to locate the one having a problem. (Try finding a memory chip with one blown bit on a array of four boards or a stuck on bit in the logic circuitry.) So, I understand how computers work, what exactly happens when a handle (or pointer) is created, what a BLT is and how it works differently with the CPU than other programming operations, etc... Basically, the nuts and bolts. I've noticed that since I took up VB.Net and I am trying to wrap my mind around all the concepts that make up OOP, Polymorphism, Delegates, Reflection, etc.. that allot of the fundamentals of how a computer really works are never talked about. For instance, when a beginning programmer asks "BackColor = Color.Transparent only shows a black screen, Why?" The typical response is Silence, Microsoft doesn't support it or it doesn't work." I know why, do you? Just like fundamentals in baseball is necessary in win the World Series, I would think it would be necessary in programming. My question is: What do they teach in school about computer fundamentals? Have you guys that have been programmers for years ever thought about it?

                                  U Offline
                                  U Offline
                                  User 2823383
                                  wrote on last edited by
                                  #27

                                  Started as an Electronics Technician on a submarine in the early 70's. Worked on 15 bit word computers, where the only programming was pressing buttons on the control panel (set only, another button to clear the word) to set the instructions in individual memory spaces. Did that to manipulate memory, registers and the CPU for troubleshooting. BS Math in the 80's, MS CS early 90's. Only programming language course I took was Fortran as a requirement for the math degree. When I was teaching CS, the fundamentals were Data Structures and Algorithms, languages were learned on the side. Now I'm not sure what is taught, but I think my hardware background helped me understand how and why computers worked so I could concentrate on programming to make them do what I want.

                                  H 1 Reply Last reply
                                  0
                                  • D Dean Moe

                                    This is my first post, so be gentle. My background is mostly on the hardware side of computers. Back in the day when Motherboards were expensive ($1.5 - 30k) in the early 80's (Not Apple Computers!), I made a living repairing them. One part of my job involved writing assembly programs that were used to diagnose individual components to locate the one having a problem. (Try finding a memory chip with one blown bit on a array of four boards or a stuck on bit in the logic circuitry.) So, I understand how computers work, what exactly happens when a handle (or pointer) is created, what a BLT is and how it works differently with the CPU than other programming operations, etc... Basically, the nuts and bolts. I've noticed that since I took up VB.Net and I am trying to wrap my mind around all the concepts that make up OOP, Polymorphism, Delegates, Reflection, etc.. that allot of the fundamentals of how a computer really works are never talked about. For instance, when a beginning programmer asks "BackColor = Color.Transparent only shows a black screen, Why?" The typical response is Silence, Microsoft doesn't support it or it doesn't work." I know why, do you? Just like fundamentals in baseball is necessary in win the World Series, I would think it would be necessary in programming. My question is: What do they teach in school about computer fundamentals? Have you guys that have been programmers for years ever thought about it?

                                    P Offline
                                    P Offline
                                    Phil Martin
                                    wrote on last edited by
                                    #28

                                    Gandalf7 wrote:

                                    For instance, when a beginning programmer asks "BackColor = Color.Transparent only shows a black screen, Why?" The typical response is Silence, Microsoft doesn't support it or it doesn't work." I know why, do you?

                                    That is an interesting question to set the scene for your question - because the answer has very little to do with hardware. The whole sordid historical take might go back many years with some of the design decision being influenced by hardware - but most of it isn't that relevant any more in understanding why the result is the way it is. And to answer your questions:

                                    Gandalf7 wrote:

                                    What do they teach in school about computer fundamentals?

                                    In high school - I was exposed to very little (a decade ago now). The only electronics related parts where in physics, and that was only primitive parallel circuits with resistors. No transistors or anything beyond that. And computer fundamentals were just as rare for me. There was one class for computers, but it was considered a "bludge" class that noone took seriously.

                                    Gandalf7 wrote:

                                    Have you guys that have been programmers for years ever thought about it?

                                    Yes, many times. Quite often I see a question that to me is obvious, but only because of experience and exposure to other fields. It sure will be interesting talking to graduate programmers in a decade when for their entire life they've only resource management they have ever known about using garbage collection. Perhaps it will be really enlightening because their analytic minds will have been freed from the shackles of implementation details and allowed to think of amazing solutions to tough problems. Or not. ;P

                                    1 Reply Last reply
                                    0
                                    • U User 2823383

                                      Started as an Electronics Technician on a submarine in the early 70's. Worked on 15 bit word computers, where the only programming was pressing buttons on the control panel (set only, another button to clear the word) to set the instructions in individual memory spaces. Did that to manipulate memory, registers and the CPU for troubleshooting. BS Math in the 80's, MS CS early 90's. Only programming language course I took was Fortran as a requirement for the math degree. When I was teaching CS, the fundamentals were Data Structures and Algorithms, languages were learned on the side. Now I'm not sure what is taught, but I think my hardware background helped me understand how and why computers worked so I could concentrate on programming to make them do what I want.

                                      H Offline
                                      H Offline
                                      Henry Minute
                                      wrote on last edited by
                                      #29

                                      Member 2825662 wrote:

                                      Worked on 15 bit word computers

                                      Would they have been ICL jobs? They are the only 15 bit word computers I worked on, or indeed have knowledge of.

                                      Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.”

                                      U 1 Reply Last reply
                                      0
                                      • M MrPlankton

                                        BS mid 80's, MS late 90's; * Write compiler, YACC and Bison * asm 360 * c, c++, FORTRAN, COBAL * boolean logic, FPGA programming * TCP/IP and like protocols Good backround for all but last position --- What I wish we had; * More statistics, SAS, R, and SUDAN Everyone comming out of college and employed where I work is kicking my butt in SAS. Trying to learn it as fast as possible.

                                        MrPlankton
                                        “If I had my choice I would kill every reporter in the world but I am sure we would be getting reports from hell before breakfast.” William Tecumseh Sherman

                                        G Offline
                                        G Offline
                                        GuyThiebaut
                                        wrote on last edited by
                                        #30

                                        MrPlankton wrote:

                                        Everyone comming out of college and employed where I work is kicking my butt in SAS. Trying to learn it as fast as possible.

                                        Same experience for me (BSc)- I am working in SAS and and struggling with not disliking it intensely - it's one of those programming languages where lots of 'stuff' has been bolted on with no regard to the overall paradigm of the language - grrr!:mad:

                                        Continuous effort - not strength or intelligence - is the key to unlocking our potential.(Winston Churchill)
                                        1 Reply Last reply
                                        0
                                        • D Dean Moe

                                          This is my first post, so be gentle. My background is mostly on the hardware side of computers. Back in the day when Motherboards were expensive ($1.5 - 30k) in the early 80's (Not Apple Computers!), I made a living repairing them. One part of my job involved writing assembly programs that were used to diagnose individual components to locate the one having a problem. (Try finding a memory chip with one blown bit on a array of four boards or a stuck on bit in the logic circuitry.) So, I understand how computers work, what exactly happens when a handle (or pointer) is created, what a BLT is and how it works differently with the CPU than other programming operations, etc... Basically, the nuts and bolts. I've noticed that since I took up VB.Net and I am trying to wrap my mind around all the concepts that make up OOP, Polymorphism, Delegates, Reflection, etc.. that allot of the fundamentals of how a computer really works are never talked about. For instance, when a beginning programmer asks "BackColor = Color.Transparent only shows a black screen, Why?" The typical response is Silence, Microsoft doesn't support it or it doesn't work." I know why, do you? Just like fundamentals in baseball is necessary in win the World Series, I would think it would be necessary in programming. My question is: What do they teach in school about computer fundamentals? Have you guys that have been programmers for years ever thought about it?

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

                                          A lot of computer programmers are self trained, they vary in skills from your basic tyre fitter to a aeronautical engineer to use a analogy. Most computer science classes have some assembler, C, algorithms and datastructures modules. Without this knowledge I don't know how anyone can understand what their programs are really doing. Higher levels of abstraction can be useful, the physical computer architecture or virtual machine design seems a reasonable cut off point for most people. Most programmers certainly don't need to know PNP doping levels etc. I learnt some stuff in computer science classes, others in physics, electronics or maths, other stuff is self taught. I think its important to know this stuff if you work with computers. Many people I work with are the 'tyre-fitters', they basically put square pegs in square holes, they can use an IDE and a database, but they could not tell you how it was written, they could not write a compiler/assembler/virtual machine. Most people do not realise this distinction, they think they are a high flying programmers but really they are the factory workers of the 20th century and its no surprise their jobs get offshored. I have been programming 17 years, I have thought about it for years, I learnt 68000 and 8086 assembler back then, I have to agree that electronics and possibly even physics and math majors probably understand the fundamentals better than most programmers. I have worked with such people on embedded projects. Now I code entirely in high level languages, C++, Java, C#. Java and C# are very easy languages to learn, anyone who can manage to write anything in assembler should not struggle. One thing that has changed is the application domains, there is a lot of framework, library, architecture, pattern, OS, other tools stuff that while less fundamental is often required to produce a modern application in an acceptable timeframe.

                                          modified on Wednesday, February 11, 2009 1:25 PM

                                          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