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 69 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.
  • C ClockMeister

    Steve Echols wrote:

    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.

    Imagine the power of Intellisense and such tools to those of us who DO know what we are doing, eh? -CB ;)

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

    Yeah, we have some pretty sweet tools. I don't mind the intellisense when I'm exploring new classes or trying to use classes I don't use that often, but for the most part they get in my way, so I turn it off and use Ctrl+Space, Ctrl+Shift+Space. Is it me, or is C#'s intellisense way better than VBs? Just imagine how fast we could code if we had all the classes/functions/parameters memorized and didn't have to stop to read! ;)


    - 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.
    C 1 Reply Last reply
    0
    • Steve EcholsS Steve Echols

      Yeah, we have some pretty sweet tools. I don't mind the intellisense when I'm exploring new classes or trying to use classes I don't use that often, but for the most part they get in my way, so I turn it off and use Ctrl+Space, Ctrl+Shift+Space. Is it me, or is C#'s intellisense way better than VBs? Just imagine how fast we could code if we had all the classes/functions/parameters memorized and didn't have to stop to read! ;)


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

      C Offline
      C Offline
      ClockMeister
      wrote on last edited by
      #126

      Hey Steve,

      Steve Echols wrote:

      Yeah, we have some pretty sweet tools. I don't mind the intellisense when I'm exploring new classes or trying to use classes I don't use that often, but for the most part they get in my way, so I turn it off and use Ctrl+Space, Ctrl+Shift+Space. Is it me, or is C#'s intellisense way better than VBs?

      Hmm ... very interesting. I personally find VB's Intellisense better - it generally appears earlier. I also prefer the incremental compiler in VB - it really makes finding errors much quicker. In C# you generally have to compile everything before you find most of the errors. They're both fine - but I prefer VB.

      Steve Echols wrote:

      Just imagine how fast we could code if we had all the classes/functions/parameters memorized and didn't have to stop to read!

      Heh ... yeah, but OTOH, I'm to the point where I've done this for so long I'm glad I don't HAVE to memorize things any more. Just knowing where to look for 'em suits me fine! -CB ;)

      1 Reply Last reply
      0
      • J JasonCordes

        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 Offline
        A Offline
        azonenberg
        wrote on last edited by
        #127

        There's a difference between a b-tree and a binary tree. Look 'em up: B-tree (Not to be confused with Binary Tree)

        J 1 Reply Last reply
        0
        • A azonenberg

          There's a difference between a b-tree and a binary tree. Look 'em up: B-tree (Not to be confused with Binary Tree)

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

          azonenberg wrote:

          There's a difference between a b-tree and a binary tree. Look 'em up: B-tree (Not to be confused with Binary Tree)

          how odd, I have never heard of them before. It is kind of like a tree of priority queues, weird. Looks like I have a coding project for the weekend now :)

          1 Reply Last reply
          0
          • R Ravi Bhavnani

            Ray Cassick wrote:

            Ah, where are those days again....

            I hear you, Ray. I'm surprised at the number of developers who hold a CS degree who've never written a compiler, never programmed in assembler and haven't had more than an introductory course in operating systems. :sigh: /ravi

            My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

            A Offline
            A Offline
            azonenberg
            wrote on last edited by
            #129

            Well I guess I'm in the minority then. I'm 17 years old and will be entering a CS program at a major university this fall. I wrote my first C program in 1999 and was learning C++ before my tenth birthday. I've written a bytecode compiler and interpreter for an object-oriented language based on C++. I not only wrote a complete Windows GUI application (albeit a simple one) in x86 assembly, I actually enjoyed doing it. I've never had a formal course in operating systems, but that will be coming soon...

            R 1 Reply Last reply
            0
            • S stephen hazel

              i agree. i think it's because when WE cut our teeth on the stuff, computers were something you could understand more easily. back then it was assembler, turbo pascal and ms/dos. maybe c64 and basic. maybe Amiga and C. You could figure it all out yourself and the OS was not a huge monstrosity like windows or unix that we have now. Well, ok, the Amiga os was starting to get monstrous, but ms/dos? Easy. The languages were simpler, the OS was way simpler. What's simpler than load"*",8,1 ?? That was the whole c64 os right there :) Ok ok, well, screen memory for text, graphics mode for pixels, nice simple sound chip. Not too bad. I'd say, to teach programming now adayz, your best bet is with slackware linux and straight c. You don't program by plopping in a prebuilt class into a java dev environment. For cryin out loud, you should know SOME assembler coming out of college.

              A Offline
              A Offline
              azonenberg
              wrote on last edited by
              #130

              You should know assembler coming OUT of college? I'm 17 and will be a college freshman (CS major, obviously) this fall. I wrote the code snippet below off the top of my head, using no references but an ASCII table (to look up the value of '0'. It doesn't do anything complicated - just outputs the numbers 0 to 9 inclusive - but it proves my point.main: xor eax, eax ; initialize loop loop: mov ebx, eax ; convert to ascii for output add ebx, 30h push ebx ; print it call putc add esp, 4 ; unwind the stack inc eax ; bump loop counter cmp eax, 9 ; time to stop? jle loop ; no, keep going done: ret putc: ; implementation not shown - print character at top of stack to screen ; using __cdecl calling convention

              modified on Tuesday, May 13, 2008 7:28 PM

              S 1 Reply Last reply
              0
              • U UD

                I have to agree. But, you have to consider this much: the software developer that KNOWS the underlying hardware (as well as the business stuff too) is going to be the one who comes out smelling like a rose. That is, if outsourcing doesnt choke us all first. While it may be true that they dont teach carpenters how to make tools anymore, those who know how the tools are made and the history of the tools themselves, are at an advantage... Some of the best carpenters were able to devise their own tools because they knew tool-making as well as carpentry.

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

                I don't really agree. It would be comforting to think so being a person that learned from assembly on up, I could say "I am better" but in the trenches it's a minor advantage in rare cases at best. Hardware is dirt cheap, it's far cheaper to simply spec higher level hardware than to pay developers to spend a month optimizing something and the majority of software is written for a virtual machine these days anyway. Your tool analogy might be applicable to craftsmen that are hand making furniture, but a run of the mill carpenter not so much. Society has made it's choice: faster and cheaper. Few care about quality these days, just "is it good enough". That's one reason why I have my own company, I couldn't work in a cubicle all day on something I know is simply "good enough" day after day.


                "The great pleasure in life is doing what people say you cannot do." - Walter Bagehot

                1 Reply Last reply
                0
                • A azonenberg

                  You should know assembler coming OUT of college? I'm 17 and will be a college freshman (CS major, obviously) this fall. I wrote the code snippet below off the top of my head, using no references but an ASCII table (to look up the value of '0'. It doesn't do anything complicated - just outputs the numbers 0 to 9 inclusive - but it proves my point.main: xor eax, eax ; initialize loop loop: mov ebx, eax ; convert to ascii for output add ebx, 30h push ebx ; print it call putc add esp, 4 ; unwind the stack inc eax ; bump loop counter cmp eax, 9 ; time to stop? jle loop ; no, keep going done: ret putc: ; implementation not shown - print character at top of stack to screen ; using __cdecl calling convention

                  modified on Tuesday, May 13, 2008 7:28 PM

                  S Offline
                  S Offline
                  stephen hazel
                  wrote on last edited by
                  #132

                  azonenberg wrote:

                  You should know assembler coming OUT of college?

                  well, i think i said "at least know..." or something to that effect... Not sure why you're trying to prove to me you know asm... Looks kinda like an answer to a short quiz... Not code i'd likely have written. your labels are a little lamely named. your comments should say "printing out the string 0123456789 instead of "bump loop counter" and won't it print a character beyond 9 due to your cmp?

                  1 Reply Last reply
                  0
                  • W W Balboos GHB

                    El Corazon wrote:

                    There are more than enough jobs, and more than enough people to fill them.

                    Can you explain to me exactly what this means? Aren't these mutually exclusive states?

                    "The difference between genius and stupidity is that genius has its limits." - Albert Einstein
                    "How do you find out if you're unwanted if everyone you try to ask tells you to go away?" - Balboos HaGadol

                    E Offline
                    E Offline
                    El Corazon
                    wrote on last edited by
                    #133

                    Balboos wrote:

                    Aren't these mutually exclusive states?

                    Not really. If there is no intention of hiring someone local, then you simply leave the job open, turn away all 300+ applicants, and then outsource the job to India. Or you simply never offer the job locally, and determine behind the scenes that you need to hire n number of people from India, and then never check their qualifications. You get them cheap, so what does it really matter right?

                    ------------------ John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."

                    1 Reply Last reply
                    0
                    • R Ray Cassick

                      In the snow with no shoes :)


                      FFRF[^]


                      O Offline
                      O Offline
                      Oakman
                      wrote on last edited by
                      #134

                      Ray Cassick wrote:

                      In the snow with no shoes

                      I didn't need shoes, I didn't have any feet!

                      Jon Smith & Wesson: The original point and click interface

                      1 Reply Last reply
                      0
                      • A azonenberg

                        Well I guess I'm in the minority then. I'm 17 years old and will be entering a CS program at a major university this fall. I wrote my first C program in 1999 and was learning C++ before my tenth birthday. I've written a bytecode compiler and interpreter for an object-oriented language based on C++. I not only wrote a complete Windows GUI application (albeit a simple one) in x86 assembly, I actually enjoyed doing it. I've never had a formal course in operating systems, but that will be coming soon...

                        R Offline
                        R Offline
                        Ravi Bhavnani
                        wrote on last edited by
                        #135

                        Very cool! :cool: /ravi

                        My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

                        1 Reply Last reply
                        0
                        • P Patrick Etc

                          Ravi Bhavnani wrote:

                          ROFL! That's why love MIT's brief but effective differentiator[^].

                          Funny. For a second, I thought I was reading the synopsis of the CS department where I went to school - their approach was pretty much exactly the same. Little or no emphasis on languages; little or no emphasis on application development for its own sake. Lots of emphasis on algorithms and data structures; lots of emphasis on math. Incidentally, my degree was in Engineering, but there's alot of overlap and I took alot of CS classes.


                          It has become appallingly obvious that our technology has exceeded our humanity. - Albert Einstein

                          R Offline
                          R Offline
                          Ravi Bhavnani
                          wrote on last edited by
                          #136

                          Patrick S wrote:

                          my degree was in Engineering, but there's alot of overlap

                          For sure. At MIT, the EE and CS curricula blend into each other. /ravi

                          My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

                          1 Reply Last reply
                          0
                          • R Ray Cassick

                            In the snow with no shoes :)


                            FFRF[^]


                            R Offline
                            R Offline
                            Ravi Bhavnani
                            wrote on last edited by
                            #137

                            Walking backwards. :) /ravi

                            My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

                            1 Reply Last reply
                            0
                            • R Rahul Ravindran

                              Being from India as well and undergoing my college course (1st year), I completely understand and agree with cpp.samurai. I think you are overestimating C++ in India. Forget "new" and "delete", my teacher barely understands what pointers are which naturally spills over to the students as well. In my opinion, I find programmers in US, UK, etc are vastly superior. Obviously, I am judging by the people *I* meet which happen to be teenagers. I just don't find that kind of spirit here. Out of the 60 students in my class for my course ("Computer Science and Engineering"), the rest 59 can barely do a "Hello World". The problem lies in the root. Ask anyone in my class, they chose Computer Science simply because thats where the demand is not because they actually like the subject. I doubt outsourcing has any effect on programming worldwide. Its more of customer support, etc thats being outsourced, monotonous work. I don't think you can apply the same sort of teaching pattern for other subjects to programming. Ironic actually, you spent more time writing code in your book than a computer. I do agree, a certain amount of theory is required for programming as well but the usual grinding and mugging up can never be applied to coding. Sadly, it happens. Most of the students in my class can write basic programs but when it comes to pointers and stuff, they actually byheart the code and the examinations don't ask any questions beyond your textbook. I just don't get it, how can anyone just memorize a program. "There is no teaching, only learning." Programming is the best example for the quote :)

                              G Offline
                              G Offline
                              gole1983
                              wrote on last edited by
                              #138

                              :) Could you tall me how to learning? I am a freshman about Programming

                              1 Reply Last reply
                              0
                              • C cpkilekofp

                                UD wrote:

                                25 years of development and, not only head-down/hands-on development, but business experience (across hospitality, accounting, financial, utilities, medical and machinery to name a few). I can read and understand a balance sheet and speak business as well as developer talk in one breath. I would consider myself a true hybrid. Yet, most dont care and the ones that do are waning quickly.

                                If you're located in the Midatlantic States of the US, you need a few good recruiters to help (check out Indeed.com as well, it will explain itself nicely). Right now they're asking me to slash my rates or else they go to India, China, Vietnam even Lithuania!! And by slash rates I mean from $100/hr to less than $30, some even less than $20. After I take out healthcare, mortgage, car(gas), food and simple business expenses (software, internet, etc), there is nothing left from $25/hr. Nothing. Its crazy. Um, this was a subtle but important point of what I said: they want you IN HOUSE. $100/hour consulting work is dying rapidly as a result (one of the jobs I recently interviewed for was to sepcifically avoid retaining a consultant any longer than I needed to jumpstart my own project). They'll pay part or all of your benefits, but they want you as theirs, not shared, and right now salaries in this area are running $60-85k with benefits. This won't support your current lifestyle, I'm guessing, but it beats the heck out of $12000/year or "may I take your order, please?". However, you're not going to get rich doing it.

                                P Offline
                                P Offline
                                Pierre Leclercq
                                wrote on last edited by
                                #139

                                You sure are right. Some ways of doing the business are changing, but the need for talented software developers is not going away.

                                1 Reply Last reply
                                0
                                • C ClockMeister

                                  Pete Appleton wrote:

                                  RTFM. That's how we learnt.

                                  I "learnt" before there was any manuals to read. ;) Back in the late 70's working for Quadram I had to write device-drivers for PC's running DOS 1.1 before there WERE any "how-to" books on the subject! You had to take the Microsoft (or IBM) documentation and provided source-code examples and learn the difference between the types of drivers and how to code them. Before that it was writing FORTRAN IV on a PDP-11 and CDC Cyber-74. RTFM? No M to RTF! mov ax, 4C00h int 21h -CB :)

                                  P Offline
                                  P Offline
                                  Pete Appleton
                                  wrote on last edited by
                                  #140

                                  The documentation you're talking about was the FM I was referring to ... previously came in the form of large, ring-bound dead trees much of which just said "This page left intentionally blank" but now comes in various electronic formats that decay faster. IE - the FM, not one of the zillion "If you can't be bothered to RTFM, this explains it" books there are now. Yup, I learnt back at that time, too! Part of my learning actually came from reverse engineering CP/M :-D .loop ld bc,0003h ld hl,[2600h] int 21h djnz .loop

                                  -- What's a signature?

                                  C 1 Reply Last reply
                                  0
                                  • U UD

                                    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.

                                    P Offline
                                    P Offline
                                    Pierre Leclercq
                                    wrote on last edited by
                                    #141

                                    Well you should not. There are a lot of good positions for someone with CS skills. No matter what, there is a limit to what can be sent abroad, and the shortage of trained people in the us is and will remain acute. So I think your views are quite exagerated. Do a little research, and you'll find companies who need in-house people with decent skills.

                                    1 Reply Last reply
                                    0
                                    • N Name Deleted

                                      Bottom line, those of us who know not only how to code, but to write elegant code will always be in high demand. There are plenty of jobs in companies that use proper interviewing and weeding to find the diamonds in that mountain of sand that apply. I've never had a problem when I wanted to make a move.

                                      D Offline
                                      D Offline
                                      Darragh_H
                                      wrote on last edited by
                                      #142

                                      Interesting..... Reading this has made me realise how much Google has destroyed my ability to really write code that I understand (in the sense that I wrote it from scratch after researching a book). I started with USCD Pascal on an Apple ][e, then to VAXes in univ. and thens to PCs (C, and now degenerated to VB.NET...), so I've been doing it long enough to remember gopher.... It's been a long time since I looked at a book to figure out the way to code something as against Googling to see if somebody else has done it already. D. -------- The Good Old Days - Fast FTP to a site with a huge collection of GIFs.... hold on....

                                      1 Reply Last reply
                                      0
                                      • P Pete Appleton

                                        The documentation you're talking about was the FM I was referring to ... previously came in the form of large, ring-bound dead trees much of which just said "This page left intentionally blank" but now comes in various electronic formats that decay faster. IE - the FM, not one of the zillion "If you can't be bothered to RTFM, this explains it" books there are now. Yup, I learnt back at that time, too! Part of my learning actually came from reverse engineering CP/M :-D .loop ld bc,0003h ld hl,[2600h] int 21h djnz .loop

                                        -- What's a signature?

                                        C Offline
                                        C Offline
                                        ClockMeister
                                        wrote on last edited by
                                        #143

                                        Pete Appleton wrote:

                                        The documentation you're talking about was the FM I was referring to ... previously came in the form of large, ring-bound dead trees much of which just said "This page left intentionally blank" but now comes in various electronic formats that decay faster. IE - the FM, not one of the zillion "If you can't be bothered to RTFM, this explains it" books there are now. Yup, I learnt back at that time, too! Part of my learning actually came from reverse engineering CP/M

                                        Programming sure was fun back then, wasn't it? It's still OK - but back then it was more of an adventure. Later! -CB :)

                                        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
                                          Craig G Wilson
                                          wrote on last edited by
                                          #144

                                          ...Or math, which is where I think the fundamental problem lies. I work at a University and teach a couple of classes and our computer science classes have been getting smaller from enrolling freshman, but the real eye opener is the transfer from Computer Science to Digital Media (web development, graphics design...). Basically, kids are saying, "I like games and love browsing the internet, I think I'd like to learn about computers." They quickly realize Calculus 1 is way over their head and shift over to a degree that requires no math, but still has everything to do with computers. So, in summary, I don't think our pre-collegiate schools (high school, middle school, elementary school) are preparing our youth for Math like we were 10 years ago (and I'm only 27).

                                          R C 2 Replies 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