Bjarne Stroustrup On Educating Software Developers 538
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.
Mythical Creature... (Score:5, Funny)
Careful (Score:5, Funny)
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
Be careful. They're easily frightened, but they'll soon be back, and in greater numbers.
Re:Mythical Creature... (Score:5, Funny)
[Citation needed]
If they can't get a smart and social employee... (Score:2, Funny)
He can wish.... (Score:5, Funny)
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.
But RMS isn't going anywhere !
Re:Careful (Score:5, Funny)
*Bjarne waves hand* These are not the programmers you're looking for.
Lies!! (Score:5, Funny)
While probably safe for work, I don't actually want anyone to see this, but I found one! [king-mag.com]
Re:Mythical Creature... (Score:2, Funny)
Hey, it's you!
Re:If they can't get a smart and social employee.. (Score:4, Funny)
My production would definitely be down if I had a cheerleader. Depending, of course, on what she looked like...
Ha! (Score:5, Funny)
As a pizza delivery driver, I have to take exception to this. I see all kinds of folks but one guy in particular stands out. He always orders at least a large pizza and two lasagnas, usually with 2 or 3 2L bottles of pop and a couple (or three!) slices of cheesecake.
He weighs a good 400lbs, has 3 monitors and a laptop on the go at all times (one monitor for CSI or whatever show, one for a terminal, one for IM), with WoW on the go on the laptop. His desk has a path cleared to it amongst piles and piles of garbage - empty pizza boxes, empty takeout containers, half-eaten food..
Such a sight to behold.
So no, they're not extinct.
One problem... (Score:4, Funny)
But, where then would Slashdot get its readers?
Re:Mythical Creature... (Score:5, Funny)
I don't give a s**t about this newbie with his bloated language.
Dennis Ritchie.
Re:Good point (Score:5, Funny)
Wait, don't leave! (Score:3, Funny)
'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.'
Uh...guys? I'm right here! Under the pizza boxes! I was trying to nibble some of the last bits of cheese off the boxes, and I slipped. Guys? Where are you going? (Lights click off.) Guys? This isn't funny!
Re:Choice quote (Score:5, Funny)
Re:Better English education as well. (Score:5, Funny)
/pedant
Quotes is a verb. I'm sure you meant to say "Read on for more choice quotations from the quotable professor."
/unpedant
Quote is also a noun. I'm sure you meant to say, "Read on for more choice quotes from the professor."
/gollum
Quoteses is also a plural noun. We're sure hobbitses meant to say, "Rrread... ON! for more choice quoteses... fromtheprofessor. My precious."
Re:Mythical Creature... (Score:3, Funny)
I am _not_ fat.
Neither am I but I am mythical.
Re:If they can't get a smart and social employee.. (Score:5, Funny)
My production would definitely be down if I had a cheerleader.
They have a pill for that now.
Re:If they can't get a smart and social employee.. (Score:5, Funny)
Rosie O'Donnell will be cheering for you if you don't get back to work.
Signed,
Your Boss
Re:Lies!! (Score:3, Funny)
Re:He sure thinks a lot of himself (Score:3, Funny)
Someone can learn the basics of a lot of programming languages, but not know the fundamentals well. What a university should provide is a solid foundation.
Quite the opposite. You can learn a solid foundation in highschool or on your own -- or even in a 101 course. Universities already teach foundations -- in fact, that's all they teach, and that's why CS programs are complete and utter failures. You should be expected to study the very low-level basics of electrical engineering. You should be expected to study how to write OS's and rendering programs. You should be able to put graduates in a room with a spec sheet and a computer, expect them to tell you what information is missing or volatile on the spec sheet, tell you how long it will take them, and what language they would be most comfortable using to write the program, and they should be able to write it on the provided computer without downloading any additional programs.
Current CS grads do nothing but complain (none of this code looks like it was written by the book!), stumble into pitfalls of hubris (Sure I can have that ready by noon tomorrow!), download as much slugware onto their workstations as possible (it's an additional backup software that we used in my database relationships course!) and give up if they hit a wall (teacher... I mean, manager, you ask the impossible! the textbook answer wasn't the right answer!) -- all problems that a highschool dropout can walk around with a blindfold on if he's actually been working for 2 years instead of going to school for 4. You tell me we're getting a kid fresh out of school and I kiss goodbye to the next month of productivity.
Re:Mythical Creature... (Score:2, Funny)
Re:Lies!! (Score:3, Funny)
Is that a tub of Vaseline under his desk? I didn't think it could get any worse until I noticed that.
The power of denial... (Score:5, Funny)
Oh yeah?! Well, I don't believe in you, either!
Re:Mythical Creature... (Score:3, Funny)
C++ is C with optional safety-less AK-47s. The top 1% enjoy it, the next 9% live with it, and the other 90% die bemused in a hail of friendly fire.
Well that puts me in the top 10%, so I guess it's OK then.
Oh who am I kidding. I've done enough C++ that I've become so fed up it's the best systems-programming language we have that I've gone and designed my own. JIHAD! JIHAD AGAINST C++ AND ALL ITS WORKS!
Re:Mythical Creature... (Score:3, Funny)
To extend this analogy further - C is like safety-less SKS [wikipedia.org] - it will let you shoot off your toes one at a time. C++ is, as you've correctly noted, like safety-less AK - it will let you shoot off both your feet with a single press of the trigger.
Java... well, I guess it's like a wooden AK. Need to club anything long and hard before it dies, and you can still do it your own feet if you really try.