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. No one teaches PROGRAMMING any more

No one teaches PROGRAMMING any more

Scheduled Pinned Locked Moved The Lounge
155 Posts 78 Posters 51 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 David I Hunt

    .NET and Java are definitely the problem, though ignorance is the cause of it. People go to "easy" languages for two reasons. 1) They are stupid. 2) The Pointy-Haired Boss is stupid and forced them to use "easy" language. There are some people who are just lazy, but IMHO, laziness is a form of ignorance. Bjarne Stroustrup saw this problem appearing a while ago and is focusing his efforts on trying to get schools to actually teach programming again. For anyone reading this who wants to learn to code well... start with x86/64 assembly any work up from there.

    I have nothing against VB or .NET per se. It just seems that some languages attract one echelon of programmers, and other languages attract a much higher echelon of programmers. :P

    D Offline
    D Offline
    DragonsRightWing
    wrote on last edited by
    #84

    I'll be interested to see the code for your Excel replacement written entirely in x86 assembler... History is the interminable record of mass stupidity infrequently puctuated by accidental individual brilliance...

    T D 2 Replies Last reply
    0
    • R Ray Cassick

      They all teach application development, but not programming. When I started out you could not get anywhere near a computer until you could count in binary, octal and hex and knew enough to run a small program on paper. Ah, where are those days again....


      FFRF[^]


      Y Offline
      Y Offline
      yassir hannoun
      wrote on last edited by
      #85

      Ray Cassick wrote:

      you could not get anywhere near a computer until you could count in binary, octal and hex and knew enough to run a small program on paper.

      i m starting out with C# (almost a year) can u point me to a book that will help me do that ?? or any other resources ??

      1 Reply Last reply
      0
      • R Ray Cassick

        They all teach application development, but not programming. When I started out you could not get anywhere near a computer until you could count in binary, octal and hex and knew enough to run a small program on paper. Ah, where are those days again....


        FFRF[^]


        J Offline
        J Offline
        JonathanVu
        wrote on last edited by
        #86

        Here at San Jose State, we have a pretty good "Java" based Computer Science Department, but good luck asking anyone what a pointer is. I'm probably the only one that knows.

        1 Reply Last reply
        0
        • D Dan Neely

          GoodSyntax wrote:

          but this Millenium Generation needs instant gratification and suprisingly lacks the dedication to their profession that previous generations had.

          And exactly how is this accusation different that what was tarred against GenY and GenX in years prior (and probably earlier generations as well, but since they predate my birth...)?

          You know, every time I tried to win a bar-bet about being able to count to 1000 using my fingers I always got punched out when I reached 4.... -- El Corazon

          G Offline
          G Offline
          GoodSyntax
          wrote on last edited by
          #87

          Touche! It probably IS the same gripe. On the other hand, I do notice that the newest generation tends to be more innovative in the application of technology in every day life. That's probably because technology was so ubiquitous while they were growing up. Again, I'm sure that the same comment was made against the GenY and GenX'ers.

          1 Reply Last reply
          0
          • D DragonsRightWing

            I'll be interested to see the code for your Excel replacement written entirely in x86 assembler... History is the interminable record of mass stupidity infrequently puctuated by accidental individual brilliance...

            T Offline
            T Offline
            tstirewalt
            wrote on last edited by
            #88

            As I recall a small Lotus123 style spreadsheet was a class project in CS302 Assembly Language Programming (1987 SIU-Carbondale). Of course it was on a much smaller scale and not nearly so pretty, but it was an assembly language spreadsheet for 3rd year undergrads.

            D 1 Reply Last reply
            0
            • T tstirewalt

              As I recall a small Lotus123 style spreadsheet was a class project in CS302 Assembly Language Programming (1987 SIU-Carbondale). Of course it was on a much smaller scale and not nearly so pretty, but it was an assembly language spreadsheet for 3rd year undergrads.

              D Offline
              D Offline
              DragonsRightWing
              wrote on last edited by
              #89

              My point was that .NET is not the problem, the misuse of a tool to cover a lack of understanding the principles is the problem. In the world as it currently is, .NET (or Java, or any of the other tools out there for writing highly advanced applications), when used properly are excelent tools for developing applications that would be prohibitively complex and prone to bugs if written without the aid of some type of framework.

              1 Reply Last reply
              0
              • A Azad Giordano Ratzki

                Sound like you really know what your talking about...Steve-o... .NET is a great development framework. Programming languages do make it easy for people to think they know what they're doing...do you write your programs in assembly...oh wait that would still be a language. As for intellisense, it doesn't do anything except act as a reference for your code and any other classes you are working with, how does that substitute the actual use of those classes, methods, fields etc...? C++ is great so is C++ w/ .NET and so is C# and Java.

                Steve EcholsS Offline
                Steve EcholsS Offline
                Steve Echols
                wrote on last edited by
                #90

                I program in binary - intellisense 0/1. :-D Wasn't saying that .net, intellisense, high level languages aren't great, just that they are allowing a lot of people who aren't programmers to enter the fray and give dedicated, professional programmers a potentially bad name, similar to what VB did in the 90's. Back then, if you told someone you programmed in VB, you didn't get much respect, even if you were a great VB programmer, used oop and the works. If you were a C/C++ programmer, on the other hand, people had a lot more respect for you, since they knew it required some level of skill. Now, it's a little grayer, since everything is .net, and the language doesn't make a damn bit of difference, but when people start pumping out slow, poorly designed, memory hungry .net apps, it's going to give the whole framework a black eye and take all the developers down with it, regardless of whether you're a "real" programmer or not. Dang, I'm turning into a grumpy old man, aren't I?! :)


                - S 50 cups of coffee and you know it's on!

                • S
                  50 cups of coffee and you know it's on!
                  Code, follow, or get out of the way.
                1 Reply Last reply
                0
                • K keyboard warrior

                  GoodSyntax wrote:

                  this Millenium Generation needs instant gratification and suprisingly lacks the dedication to their profession that previous generations had.

                  oh yes, we can just sum this up with how awesome the generation was before the Millenium generation as you call it. that explains it all. everyone is just lazy and useless now and the world will probably self-destruct when whatever prior generations have all died away and can't save the Millenium.

                  ----------------------------------------------------------- Completion Deadline: two days before the day after tomorrow

                  G Offline
                  G Offline
                  GoodSyntax
                  wrote on last edited by
                  #91

                  jgasm wrote:

                  everyone is just lazy and useless now and the world will probably self-destruct when whatever prior generations have all died away

                  - Senseless hyperbole. What I am saying is that previous generations of software engineers, the same group that built the software and hardware foundations that we take for granted today, were intellictually inquisitive pioneers relentlessly driven to extract the maximum value out of the modest capabilities of the hardware and software of the time. They were the ones that invented, revolutionized and drove into the mainstream ideas and concepts that others were disparaging as senseless and infeasable. Many of those old-timers were severely undervalued financially or were simply dedicated hobbyists. There was a large percentage of the talent pool at the time that exhibited all of the above traits. Today, that percentage has shrunken immensely. There will always be superstars in every generation, but there are just fewer of them now. There is simply a change in the motivational drivers today - the differentiator is that for one group it's a job, for the other it is/was an obsession. Does that mean that the Mellenium generation us incapable of innovation, or will self-destruct as you say? No, as a matter of fact, I expect that this generation will revolutionize technology and introduce new ideas that will make electronics inseparable in every day life. This is the generation that was raised with technology, and so will be the ones that will find new, practical uses that other generations would never have though of. Laziness, not necessity, is the mother of innovation. Laziness brought us the remote control, and for that, I'm grateful.

                  1 Reply Last reply
                  0
                  • Steve EcholsS Steve Echols

                    I blame .net, intellisense and languages that make it easy for people to think they know what they're doing. I've seen a lot of drag n drop kiddies in the U.S. as well. :) But, yeah, outsourcing hasn't helped the situation out much.


                    - S 50 cups of coffee and you know it's on!

                    V Offline
                    V Offline
                    vertigo00oo
                    wrote on last edited by
                    #92

                    Yes! I think the "here's a magical class that does stuff" attitude means someone doesn't HAVE to take the time to know what that magic is. I also blame academics for giving in to the whiners who complain that they got a B because their program compiles. Even worse, are those who pass a project when their project doesn't even compile! What would happen if the were harder on students? Would they drop out of the program and the programming work force die? I don't know...but I totally agree with everything being said on this thread. I got my MS in CS 3 years ago and I don't think things have changed that much.

                    1 Reply Last reply
                    0
                    • R Ray Cassick

                      They all teach application development, but not programming. When I started out you could not get anywhere near a computer until you could count in binary, octal and hex and knew enough to run a small program on paper. Ah, where are those days again....


                      FFRF[^]


                      R Offline
                      R Offline
                      rubinstu
                      wrote on last edited by
                      #93

                      I need to throw-in my contrarian points-of-view. I have met many university students in the last few years who have learned the fundamentals very well! I have been lucky to work with young people from very good American universities (not meant as a knock against other countries' schools, but just putting it context), so I cannot say this is 100% representative of the next generation of Engineers. My experience with Indian engineers on outsourced projects is that they are very capable of doing the work which they were contracted to do. Appropriately from an economic standpoint, they are well-trained for the task at hand, which is often high-level programming (as opposed to embedded or high-performance coding). We'll see if this trend continues. If the Indian and other off-shore (that is, not North America or Europe) countries begin to school their best and brightest in real electrical and computer fundamentals, and if American schools begin to lose focus of them and on hard-core science and math, then we (that is, American) technical industries are in trouble! The next generation will all be pushing frapaccinos to our Indian and Asian neighbors. The good news is that American Universities are still REALLY desireable places for the best foreign students around the world. Of course, our visa situation is horrible. We're basically encouraging students to come and study and then we kick them out to be our competitors. Rather, we should teach anyone who wants to learn the fundamentals, as well as the state-of-the-art and have an immigration policy that allows us to take advantage of the best young minds the world has to offer.

                      C 1 Reply Last reply
                      0
                      • W westicle

                        I'm one of those people that has a development job (vb.net) and has not been taught programming. I got my job from working as a finance/payroll admin where I built a system to manage my companies Flex benefits using VBA and spreadsheets. I tought myself the VBA. I was moved into the development team (5 peeps) and sent on a course for people upgrading from asp to asp.net (!?!?!??!?!?). What's asp I asked. I've been doing this for 2 years now. I rely heavily on intellisense but no dragging and dropping. I tend to learn from asking colleagues, friends, reading books and google. I am well aware that there are some fundamental pieces of the puzzle that I am missing but I can build apps that achieve what they are supposed to do. If I had to go through the interview process for my job now I do not believe I would get it. The purpose of my post is two-fold 1. Does it matter that I am missing some coding fundamentals since I can build working applications? (don't get me wrong, I'm not kidding myself about my abilities) 2. Where and how do I learn these fundamentals? Should I turn off intellisense as a start? Do you all use intellisense?

                        Westie

                        J Offline
                        J Offline
                        JasonCordes
                        wrote on last edited by
                        #94

                        westicle wrote:

                        The purpose of my post is two-fold 1. Does it matter that I am missing some coding fundamentals since I can build working applications? (don't get me wrong, I'm not kidding myself about my abilities) 2. Where and how do I learn these fundamentals? Should I turn off intellisense as a start? Do you all use intellisense?

                        1. Yes. By missing coding fundamentals you are essentially writing "broken code". That doesn't mean your code won't work, but it may be very inelegant and extraordinarily difficult to maintain. In addition, by not knowing basic algorithmic concepts, you may be making your work harder than it actually is. 2. You can read about them. Any good programming text will do. Turning off intellisense will only help you memorize libraries of functions. While this is useful for speeding up your coding, it still won't teach you fundamental basics. I could recommend any number of excellent books to you. But my choices are highly language specific (I prefer books written in Java right now as it is my current language of choice). If you are willing to go with that, I strongly recommend Big Java by Cay Horstmann. This is a very excellent tome on the craft of writing software well (in Java). I disagree, however, about needing to know all that math Juju. While I am familiar with the math concepts and I can perform base-16 multiplication and division in my head, I don't think it is necessary to know that to be a good programmer. Knowing binary and boolean algebra is another matter, as someone else pointed out, you need to know that to construct well defined conditional statements.

                        JPaula wrote:

                        What you need is basic understanding of how a computer works and what goes on behind the "magic" of high level languages. You need to understand binary math in order to understand what is behind a conditional instruction in your current language. You need to understand what a pointer is, so you know what is going on when you pass a parameter by reference or by value or what happens when you do a "a=b".

                        I also disagree with this statement, even though I agree with JPaula's other arguments. I don't think you need to know how electrons are moved in hardware to have a strong grasp of program construction. I assume by binary math, JPaula means boolean algebra...binary math is actually useless unless you want to create performance tricks like minimized data storage a

                        1 Reply Last reply
                        0
                        • R Ray Cassick

                          They all teach application development, but not programming. When I started out you could not get anywhere near a computer until you could count in binary, octal and hex and knew enough to run a small program on paper. Ah, where are those days again....


                          FFRF[^]


                          C Offline
                          C Offline
                          chash360
                          wrote on last edited by
                          #95

                          I began with my first computer when I was 9 years old. A Radio Shack MC-10 8 bit computer with a whopping 16K of memory. All you could do is program a flavor of BASIC that only vaguely resembles what it has evolved to today. It had no non-volitile memory, if you shut it off, or had a bug that required a reset, you had to write it all over again. At the time I loved it, and I learned how to memorize lots of code, by the simple idea that form follows function. If I know what it needs to do, I can write it, and memorize it, regardless of how long it is. I have since self taught my self over a dozen languages, learned how computers work down to the electronics, I have worked in a wafer fab and know how every part of how a computer is designed and produced. In High School I could teach the the teachers, how to do things and gave them tips on how I developed my understanding. One of my favorites was the analogy between a checking books out at a Public Library, and the idea of a Semaphore. In college, again there was little real programming being taught, I truly believe that if you do not understand a computer at the assembly language level you can not fully realize your programming potential. Unfortunately in todays world, it seems true knowledge of programming is almost lost. With the knowledge of almost every Language, Platform, and OS, capable of the english character set (I am sure there are some Russian and Chinese systems I don't know), I have only been able to keep myself gainfully employed by avoiding the IT field. If you get into IT, you get outsourced almost as quickly. By keeping myself tightly coupled with hardware and other engineering disiplines, I have found my programming skills to be incredibly useful, even outside the relm of actual programming. Project planning and execution have so many parallels to programming, it should be required for project managers. I have watched the Internet from its infancy (Pre M$) to the present get completely corrupted. There is no excuse for the proloferation of malware, had some of these software vendors stuck with basic security priciples that were established for the Internet. The first principle is DO NOT EXECUTE ARBITRARY CODE FROM A REMOTE SOURCE EVER! Of course that was completely violated by M$ and the like with client side scripting, ActiveX, DCOM, etc. I do know the answer to the problem, but much like the Auto industry, a car that never needs maintenance will never be produced even if they could because that does not make them enough money. Software has n

                          1 Reply Last reply
                          0
                          • T T Mac Oz

                            Leslie Sanford wrote:

                            B-trees[^] are rather non-trivial, aren't they?

                            Depends on the requirements:

                            Leslie Sanford wrote:

                            a simple b-tree

                            is little more than a linked list (though with two "next" - left & right - nodes instead of one). A self balancing b-tree (actually useful as more than just an academic exercise) does take a bit more work.

                            T-Mac-Oz

                            J Offline
                            J Offline
                            JasonCordes
                            wrote on last edited by
                            #96

                            T-Mac-Oz wrote:

                            Leslie Sanford wrote: B-trees[^] are rather non-trivial, aren't they? Depends on the requirements: Leslie Sanford wrote: a simple b-tree is little more than a linked list (though with two "next" - left & right - nodes instead of one). A self balancing b-tree (actually useful as more than just an academic exercise) does take a bit more work.

                            I'm thinking an array for faster access time. And binary trees are actually quite trivial if you've actually built one before. An experience I highly recommend, by the way.

                            A 1 Reply Last reply
                            0
                            • L lbothell

                              I absolutely hate to agree with you, but I have to. I was SO excited about a year ago to return to school to learn to be a web programmer (to build on web design skills and lots of interest). I was ready to take on all the classes, learn, program, etc. But! Many of the classes kept being canceled. There was no real overview of the whole field, and even intros into basic stuff like XML were canned. No PHP, no Perl, no QBasic, no C#. The tools needed to do basic stuff like learn SQL Server didn't work or the school's IT folks brilliantly decided to replace or dismantle servers the first week of the quarter. But worst of all, I came to realize after 4 quarters of 4.0 grades that there had been no series of really basic programming classes. There was one, with a really good instructor, but one was not nearly enough and most of the basics - well, let's just say I am having to find a way to teach myself. I was getting "A's" in ASP.Net without having basic programming background, and it was showing (to me) in how much I struggled in what seemed like basic assignments where the VS2005/2008 Intellisense and error messages intruded on basic work without providing any help but hindering me from doing simple stuff - all because, it turned out, I didn't have a grasp of most basic programming skills. A shiny new certificate - that means very little. Back to the drawing board for me. Here's hoping there's at least enough front-end work to keep me employed while I learn more on my own. . . DOES anyone here have a suggestion of 1-2 basic sites/tutorials (or series) that go over the programming BASICS with little assignments/examples, etc.? Thanks!!! :cool:

                              _________________________________________________ Have a great day!!! -- L.J.

                              J Offline
                              J Offline
                              JasonCordes
                              wrote on last edited by
                              #97

                              lbothell wrote:

                              DOES anyone here have a suggestion of 1-2 basic sites/tutorials (or series) that go over the programming BASICS with little assignments/examples, etc.?

                              Javabat.com

                              1 Reply Last reply
                              0
                              • R rubinstu

                                I need to throw-in my contrarian points-of-view. I have met many university students in the last few years who have learned the fundamentals very well! I have been lucky to work with young people from very good American universities (not meant as a knock against other countries' schools, but just putting it context), so I cannot say this is 100% representative of the next generation of Engineers. My experience with Indian engineers on outsourced projects is that they are very capable of doing the work which they were contracted to do. Appropriately from an economic standpoint, they are well-trained for the task at hand, which is often high-level programming (as opposed to embedded or high-performance coding). We'll see if this trend continues. If the Indian and other off-shore (that is, not North America or Europe) countries begin to school their best and brightest in real electrical and computer fundamentals, and if American schools begin to lose focus of them and on hard-core science and math, then we (that is, American) technical industries are in trouble! The next generation will all be pushing frapaccinos to our Indian and Asian neighbors. The good news is that American Universities are still REALLY desireable places for the best foreign students around the world. Of course, our visa situation is horrible. We're basically encouraging students to come and study and then we kick them out to be our competitors. Rather, we should teach anyone who wants to learn the fundamentals, as well as the state-of-the-art and have an immigration policy that allows us to take advantage of the best young minds the world has to offer.

                                C Offline
                                C Offline
                                chash360
                                wrote on last edited by
                                #98

                                This was not a subject to promote H1-B's and L1's, or are you just a troller?

                                R 1 Reply Last reply
                                0
                                • D DragonsRightWing

                                  I'll be interested to see the code for your Excel replacement written entirely in x86 assembler... History is the interminable record of mass stupidity infrequently puctuated by accidental individual brilliance...

                                  D Offline
                                  D Offline
                                  David I Hunt
                                  wrote on last edited by
                                  #99

                                  I'll be interested to see the code for Halo 4 written entirely in Java... I did not say that you should write huge applications in assembly. No one in their right mind would try such a feat. I said that you should learn assembly before learning abstracted languages. If you do not understand how a computer works on a low level,you will never fully comprehend how it works on a higher level; and your code will suffer because of it. Learning Java or .NET without knowing assembly and C is like learning Calculus without understanding Algebra. You might say that nobody does that, but my college calculus classes would have begged to differ. Personally, I learned C++ first. But it was not until after I learned assembly that I truly understood C++. A prime example is the difference between a switch and an if/else structure. Keywords and classes and library functions are not magic spells that instantly execute in one clock cycle. If you do not understand what's behind the code you write, then you are no better off than a script kiddie typing out some HTML for his geocities.com page.

                                  I have nothing against VB or .NET; all programming languages are respectable. It just seems that some languages attract one echelon of programmers, and other languages attract another echelon of programmers. :P

                                  J D 2 Replies Last reply
                                  0
                                  • C Christian Graus

                                    Someone the other day posted their VB assignment ( in university ). It was 'name your 10 favourite properties of VB.NET controls and why you like them. The OP was asking 'what's a property' and 'what's a control property'. I think CS is dead, I am considering changing careers.

                                    Christian Graus Please read this if you don't understand the answer I've given you "also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )

                                    U Offline
                                    U Offline
                                    UD
                                    wrote on last edited by
                                    #100

                                    You know what all that is? Outsourcing. Those are the outsourcing people asking everyone else for help, and we fools supply them with answers while we site idle because companies would rather pay someone in India or China 1/4 the pay to do what we used to do, correctly and accurately. Why do we do this? I have no idea. Would you see an attorney give another attorney the answers to legal issues prior to going to court? No. On a similar note, would you ever see an attorney (or plumber, electrician, construction people, you name the trade) anything for their clients WITHOUT pay (or for much less pay?) No way. We, developers, are the only fools that have allowed this to happen to our profession/trade. We worked for hundreds of hours of OT without (much) pay if any at all, and for what? To eventually be outsourced AND, oh yea "you will train your replacement in Bombay or you dont get any of your 4 month severence package".. We deserve what has happened. We allowed it to.

                                    1 Reply Last reply
                                    0
                                    • K keyboard warrior

                                      cpkilekofp wrote:

                                      Only a computer scientist can teach this.

                                      this of course is just wonderful rhetoric from the many professors over the years im sure. chest thumping Computer Science faculty.

                                      ----------------------------------------------------------- Completion Deadline: two days before the day after tomorrow

                                      C Offline
                                      C Offline
                                      cpkilekofp
                                      wrote on last edited by
                                      #101

                                      I'm not a professor. I'm not an academic of any sort, never have been, but who knows, maybe someday after I retire I'll think about it. I specifically recommended texts of the sort that would allow one to become a computer scientist. Did you read that part, or stop dead at the first thing you found objectionable? As I used to say to my recalcitrant trainees for QA/Support jobs on the software I'd helped build, "Read ALL the instructions before you start." I recommend you read the rest of my post. Alan Turing and Frank Church never went to school for Computer Science. The first person to graduate from a computer science program was Stan Kelly-Bootle, the (former?) columnist for Unix Review - he was most certainly taught by computer scientists, yet none of them were degreed in computer science. How, then, did they become computer scientists? They pursued the study of computer science. They learned how to construct an algorithm, and studied their own and other people's algorithms, comparing them for resource usage, efficiency, effectiveness, etc. They used those comparisons to induce and deduce rules and patterns by which the true cost of an algorithm could be measured. They did many things for the advancement of their understanding of computer science that sometimes did not even require a computer, being mathematical examinations appropriate for pencil and paper. Knowing each of the object properties of a Windows Form object makes you a technologist, not a scientist. Being able to build a lookalike after studying the Windows Form object makes you a great programmer, not a computer scientist. Being able to really understand when to build the lookalike and when to use the available tool...takes a computer scientist. IMO :D

                                      1 Reply Last reply
                                      0
                                      • P Pierre Leclercq

                                        Christian Graus wrote:

                                        I am considering changing careers

                                        why that? If there is a lack of people who can do the job, then you are welcome to do it right. No?

                                        U Offline
                                        U Offline
                                        UD
                                        wrote on last edited by
                                        #102

                                        Why is that? Because some developer in India told ME to stop whining the other day. This is how he put it: "An average developer in India earns the equivalent of $1000 USD a month, gross pay. If you want to match or beat that then I would be willing to bet you'd get the contracts in America. Otherwise, you simply wont". So....... thats what we're being reduced to people. We're being reduced to $12,000 a year employees. People in WALMART make about that. Mc Donalds. Borders. And they dont have 1/10th of the pressure. So, yea, I too am looking for a new career. This one has been pulled from under my feet.

                                        C P 2 Replies Last reply
                                        0
                                        • D David I Hunt

                                          I'll be interested to see the code for Halo 4 written entirely in Java... I did not say that you should write huge applications in assembly. No one in their right mind would try such a feat. I said that you should learn assembly before learning abstracted languages. If you do not understand how a computer works on a low level,you will never fully comprehend how it works on a higher level; and your code will suffer because of it. Learning Java or .NET without knowing assembly and C is like learning Calculus without understanding Algebra. You might say that nobody does that, but my college calculus classes would have begged to differ. Personally, I learned C++ first. But it was not until after I learned assembly that I truly understood C++. A prime example is the difference between a switch and an if/else structure. Keywords and classes and library functions are not magic spells that instantly execute in one clock cycle. If you do not understand what's behind the code you write, then you are no better off than a script kiddie typing out some HTML for his geocities.com page.

                                          I have nothing against VB or .NET; all programming languages are respectable. It just seems that some languages attract one echelon of programmers, and other languages attract another echelon of programmers. :P

                                          J Offline
                                          J Offline
                                          JasonCordes
                                          wrote on last edited by
                                          #103

                                          David I Hunt wrote:

                                          Personally, I learned C++ first. But it was not until after I learned assembly that I truly understood C++. A prime example is the difference between a switch and an if/else structure. Keywords and classes and library functions are not magic spells that instantly execute in one clock cycle.

                                          I learned AppleBASIC, then Logo, then C, then Fortran, then C++ then Java, then Prolog, then ML, then Motorola Assembly, then x86 Assembly... Yeah, starting languages are meaningless to me (except in a specific context I'll elaborate on in a moment). While each language I learned taught me a different nuance, each had their own place. Once I knew C, I could pretty much use any other procedural language. Once I groked OO (which didn't happen until I learned Java), I could do OO in any language that supported it. And by extension onward. Knowing the binary representation, or bytecode, for a construct like a switch or if/else may give you deeper understanding, but if you don't know what the hell you're looking at, it can actually do more harm than good. Do you really need to know that a switch is occasionally more efficient than an if/else sequence? I don't think so, most good compilers will figure that out for you, and honestly, if you are optimizing just for the sake of optimization, you don't get it. The first rule to optimizing is, don't. Do I really need to know if my atomic commands execute in one clock cycle? Does it really matter that it takes 40 cycles to execute a division on an x86 architecture as opposed to 2 cycles to do the bit shift? Not unless I'm trying to squeeze every last ounce of performance out of my gear. Besides, to really understand that junk, you need to get the instruction set manual for the motherboard you're coding for and I don't think they give those out for free anymore (I'd love to be proven wrong though!). Does knowing that stuff make you a better programmer? No. Does it make you sound l33t at your ub3r g33k parties? sure. If you have a solid foundation in understanding algorithms and data structures and you can competently implement them from pseudocode, you're far better off than someone who merely knows how to squeeze a handful of nanoseconds off a calculation by using fiddly code hacks and compiler tricks. I think the biggest nail in the programming coffin is that they removed GW-BASIC from the IBM bootstrap. If computers shipped with a built in programming language, I think the worl

                                          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