I disagree that C is obsolete; look at nearly every Linux program, for example. However, because C is a subset (to some extent) of C++, if you teach your students C++, you've basically taught them C as well. So saying that you don't teach C but you do teach C++ isn't really a problem.

However, to teach them *only* object-oriented programming is not being fair to the students. Procedural programming still has it's place (who's going to write a OOP device driver??!), and the other programming philsophies such as functional can be useful. I do agree that most Comp Sci students will be using one of C++, Java, or Vis Basic as their main programming environment, and I cannot fault the university toward teaching those languages (as thie is what the industry appears to demand), but they should at least touch on other aspects of programming, particularly for those students with higher asperations in their programming careers.

Would this necessary mean teaching C specifically? Probably not. Continuing to think about the problem, say that I wanted to teach some alternate language or approach (say, LISP). Most likely, I'd only have a semester to do this, and while that would be enough time to teach such a language, it would not be enough to go into all the details and tricks with it. So a second semester might be needed. But then you have to consider what population of the students would take this course; only a small fraction of comp.sci. students, in my experience, would have the initiative to take such a course. Thus, it would be very likely that a course may be offered one year, but the low turnout kills it since it otherwise takes up valuable classroom space. Alternatively a course that dealt with alternative languages as a whole, and covering all the different types of programming models, would probably get more students, but there is NWIH you could teach all the tricks and details of these languages in a single semester, and I'd rather avoid teaching such a mess of a course instead of having it as separate units.

That said, I believe that most people that are true programmers at heart are ones that can self-teach themselves nearly any language; I know I have. Yes, it's nice to have "C++/Java training" on your resume so that you can get hired, but to also be able to demonstrate that you can learn other non-standard languages on your own would be a more valuable skill, at least to me. If the company decided to try a new approach and required that a new language or similar feature set be learned from scratch, I'd rather have someone that has demonstrated the ability to quickly learn a skill on their own rather than someone that can only cookie-cut out new programs and would require training in the new language.

-----------------------------------------------------
Dr. Michael K. Neylon - mneylon-pm@masemware.com || "You've left the lens cap of your mind on again, Pinky" - The Brain
"I can see my house from here!"
It's not what you know, but knowing how to find it if you don't know that's important


In reply to Re: (OT) Where is programming headed? by Masem
in thread (OT) Where is programming headed? by Ovid

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.