Slashdot Mirror


Bjarne Stroustrup On Educating Software Developers

jammag writes "Bjarne Stroustrup, creator of C++ and a professor at Texas A&M, weighs in on the problems in today's CS programs. In particular, Java (there's too much of it), the quality of graduates (companies aren't happy), and the need to balance the theoretical and the practical (long overdue). Not pulling punches, Stroustrup even talks about high schools — 'High schools could teach students to work hard at something (just about anything), to search out information as needed, and learn to express their ideas in writing and orally.' He finishes by giving advice to working developers: 'Serious programming is a team sport, brush up on your social skills. The sloppy fat geek computer genius semi-buried in a pile of pizza boxes and cola cans is a mythical creature, best buried deep, never to be seen again.'" Read on for more choice quotes from the quotable professor.
I have even had questions from strangers in airplanes: "You're a professor? In software? Have you got any students? Here's my card."

The US industry could absorb more good developers than there are currently students enrolled in IT-related programs — but not all of those programs and all of those students would qualify as "good" in this context.

The companies are complaining because they are hurting. They can't produce quality products as cheaply, as reliably, and as quickly as they would like. They correctly see a shortage of good developers as a part of the problem. What they generally don't see is that inserting a good developer into a culture designed to constrain semi-skilled programmers from doing harm is pointless because the rules/culture will constrain the new developer from doing anything significantly new and better.

The contemporary Math, Physics, and Biology books I have seen are far, far more conceptually challenging than what we present to CS and engineering students in the area of programming.

I think the ultimate aim is to make programming more of an engineering discipline, more mathematical or scientific; "craft" and "art" are both needed, but there ought to be a scientifically based core on which people can base their craft and art. Software design and implementation is more than a craft; there is more math, science, and engineering to know and apply than is customary for fields we call "crafts." Incidentally, I find it appalling that you can become a programmer with less training than it takes to become a plumber.

3 of 538 comments (clear)

  1. Better English education as well. by uofitorn · · Score: 1, Troll

    /pedant
    Quotes is a verb. I'm sure you meant to say "Read on for more choice quotations from the quotable professor."

    --
    "What kind of music do pirates listen to?" -Paul Maud'dib
    "Yeeeaaarrrrr n' Bee!!" -Stilgar, Leader of Sietch Tabr
  2. Re:Mythical Creature... by smilindog2000 · · Score: 0, Troll

    Here's my beef with C++. Average to less-than-average programmers will never understand virtual functions, templates, or (shudder) multiple inheritance. New code is normally written by super-smart programmers who use all that stuff. Then, the B-team takes it over and can't figure out what the heck it does. The code is then doomed to painful process of continuous decay.

    C++ was written by PhD's for PhD's. It was never a good fit for the real world. Java is a huge step forward for the world, just not graduate programs. Personally, I have 100 other issues with modern languages, which is why I do all my programming with the DataDraw variant of C.

    --
    Beer is proof that God loves us, and wants us to be happy.
  3. Re:The B team is in India... so who cares? by tjstork · · Score: 0, Troll

    Mmmm, let's see... The Indians for starters? The corporate world that depends on them and the on the quality of their code?

    That's not your problem, now is it. The triangle looks like this. The corporate world is on top. You are on one leg, and the Indians are at the bottom. Once that code is handed off to the Indians, you will get kicked out, so, like, why help that? Who are you more loyal to, the Indians, the corporation, or your own family, country and community. I guarantee you that nothing you do to the corporation will change their attitudes about the outsourcing and that the loyalties of the Indians will be first to their family, community and country, so why not do the same as what everyone else is doing? SO you can feel good about being the idiot that falls on the sword so a corporation can get richer while an Indian takes your job?

    --
    This is my sig.