×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Bjarne Stroustrup On Educating Software Developers

kdawson posted more than 5 years ago | from the way-it-spozed-to-be dept.

Education 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.

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

538 comments

Mythical Creature... (5, Funny)

Culture20 (968837) | more than 5 years ago | (#26052743)

I am _not_ fat.

Re:Mythical Creature... (5, Funny)

larry bagina (561269) | more than 5 years ago | (#26052807)

[Citation needed]

Re:Mythical Creature... (1, Funny)

binarylarry (1338699) | more than 5 years ago | (#26052897)

Hey, it's you!

Taking advice from a guy that barfed that thing (-1)

Anonymous Coward | more than 5 years ago | (#26053169)

Taking advice from a guy that barfed that thing called C++ is not my idea of a good idea. Not one person will ever TRULY know what the heck is going on.

Re:Mythical Creature... (5, Funny)

Anonymous Coward | more than 5 years ago | (#26052987)

I don't give a s**t about this newbie with his bloated language.

Dennis Ritchie.

Re:Mythical Creature... (1)

RockWolf (806901) | more than 5 years ago | (#26053163)

I am _not_ fat.

Just big-boned, huh?

Back away from the pizza boxes, man. Keep your hands where I can see them.

First post (-1, Troll)

Sciryl Llort (1160727) | more than 5 years ago | (#26052757)

Pah Paaaah
Pah paaaah
Pah pah pahpa pah pa paa pah pa paaaah
Pah pah pah pa pa pah pa pa pah papapapapapa paaah

paaah paaaah

paaah paaaah

Your comment violated the "postercomment" compression filter. Try less whitespace and/or less repetition. Use the Preview Button! Check those URLs!

Careful (5, Funny)

cjfs (1253208) | more than 5 years ago | (#26052799)

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.

Better English education as well. (1, Troll)

uofitorn (804157) | more than 5 years ago | (#26052801)

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

Re:Better English education as well. (3, Insightful)

Anonymous Coward | more than 5 years ago | (#26052873)

/unpedant
Quote is also a noun. I'm sure you meant to say, "Read on for more choice quotes from the professor."

Re:Better English education as well. (5, Funny)

Culture20 (968837) | more than 5 years ago | (#26053221)

/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."

If they can't get a smart and social employee... (2, Funny)

utahraptor (703433) | more than 5 years ago | (#26052809)

Try using a tag team. Maybe if each programmer had a cheerleader coordinating his efforts, he could get his production up.

Re:If they can't get a smart and social employee.. (3, Funny)

truthsearch (249536) | more than 5 years ago | (#26052935)

My production would definitely be down if I had a cheerleader. Depending, of course, on what she looked like...

Re:If they can't get a smart and social employee.. (5, Funny)

genner (694963) | more than 5 years ago | (#26053247)

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.. (5, Funny)

QuasiEvil (74356) | more than 5 years ago | (#26053375)

Rosie O'Donnell will be cheering for you if you don't get back to work.

Signed,
Your Boss

Back To Reality (5, Interesting)

MightyMartian (840721) | more than 5 years ago | (#26052821)

This is all well and good, and there's no doubt that an engineering/logical approach is very important in programming, but there is something of an art about development as well. I can slog all day coding away, working from diagrams, notes and even flowcharts (though not formalized ones, I'll admit, like days gone by), but sometimes my best and most productive work are those creative flashes I get, when any kind of formal process is tossed out the door. Sure, I have to go back later and comment the code so that even I can understand it, but there will always be that creative aspect to programming, and that ain't necessarily bad.

Re:Back To Reality (5, Insightful)

pm_rat_poison (1295589) | more than 5 years ago | (#26053131)

Yeah, but what Stroustrup is trying to say is that the formal process has to be taught, so that the latter process can work more efficiently. Now matter how much of a flash of insight I get, I'll never even code Hello World if I don't know how to program properly.

Re:Back To Reality (5, Interesting)

moderatorrater (1095745) | more than 5 years ago | (#26053231)

I don't think he's arguing against that at all. What he seems to be saying is that programming isn't taught, computer science is, and it's not rooted enough in the practicalities of programming. Style isn't enforced or even talked about all that much. He cites examples of student projects where they sprinkle magic constants throughout because they were never taught otherwise. In my CS courses the labs came every week, dealt with very small, specific problems and then were never looked at again. If Stroustrup had his way, it sounds like there would be style guides for the students (that were actually enforced), bigger projects and maybe some troubleshooting (ie give them 10,000 lines of code and make them find the problem). In other words, there would be things that everyone does on a daily basis as a programmer but were never really taught in school.

Re:Back To Reality (0, Offtopic)

mevets (322601) | more than 5 years ago | (#26053429)

Good morning students, today we will learn how to mix hash and turkish tobacco so nobody will know how fried you are at work.

On High Schools doing more... (1)

Hardolaf (1371377) | more than 5 years ago | (#26052829)

As a High School student a good school I know that I am pushed to do more, to learn more. I shadowed at a school that is not as fortunate as the one I attend and I have noticed that the way they teach at the High School is far different then the one I attend. They don't have nearly as much funding as needed leading to a lack of proper equipment and good teachers who can make the students motivated. From what I have heard that is how it is across America. Maybe instead of blaming the High Schools he should blame a lack of funding that leads to this problem.

Re:On High Schools doing more... (0)

Anonymous Coward | more than 5 years ago | (#26053159)

>As a High School student a good school I know that I am pushed to do more, to learn more.

And you won't be stuck with Texas A&M as your first choice of a college.

Don't get me wrong. A&M is a fine school, if you can't get into UT.

Dreaming... (4, Interesting)

Anonymous Coward | more than 5 years ago | (#26052835)

... the man is dreaming IMHO. If you look at modern computer languages, hardware design, and operating systems, NO ONE is doing good engineering. It took forever (a decade or more at least) to handle crashes in a microsoft OS which had thousands of talented people working on it. The companies that complain about the lack of "good" developers are the ones paying their developers crap and looking to offshore/cut costs. If you want good developers you're going to have to pay them.

The modern commercial environment for developers is not conducive to fostering great teams, since the all mighty buck reigns and stupid decisions are made.

From an engineering standpoint: There is no reason for software to break, and yet it does, a lot of the time. To use a familiar example: We see this all the time with video games on the PC, hardware requirements, etc, etc.

Re:Dreaming... (1)

gardyloo (512791) | more than 5 years ago | (#26053053)

It took forever (a decade or more at least) to handle crashes in a microsoft OS which had thousands of talented people working on it.

Perhaps some paradigms are so fundamentally broken that even thousands of talented people can't patch them without (i) starting over; or (ii) adding so much kruft that they might as well have started over.

Re:Dreaming... (2, Insightful)

the_womble (580291) | more than 5 years ago | (#26053215)

It took forever (a decade or more at least) to handle crashes in a microsoft OS which had thousands of talented people working on it.

Maybe it is because they had other priorities. Consumer software sales depend far more on features than reliability.

The companies not happy with grads is pure BS. (4, Insightful)

Lumpy (12016) | more than 5 years ago | (#26052837)

Unless you finish that sentence..

Companies are not happy with the fresh coders because the good ones wont accept the low salaries they offer.

Sorry but Programming is HARD. you gotta pay a lot for a good programmer. That will not change.

I am sick of corporations and companies making up this raging BS story about a lack of candidates. RAISE YOUR SALARIES AND THOSE CANDIDATES WILL APPEAR.

Re:The companies not happy with grads is pure BS. (1)

QuantumG (50515) | more than 5 years ago | (#26052959)

Yeah, that's how it works. Pfft. The "problem", if you wanna call it that, is there are way more jobs than there are candidates. Especially in the valley.

Re:The companies not happy with grads is pure BS. (1)

Foofoobar (318279) | more than 5 years ago | (#26053273)

Well you should also gear your company around the talent pool... and your position your language to draw a larger talent pool. C/C++ developers work on all platforms so can transition and be fought for by any company, the same can be said for Java, PHP, Perl, Python. C## can only be employed by a limited set of employers so if a person is looking for a job but can't find one for C#, they will fall on their other skills like C or C++.

Most companies complaining are the result of relying on limited talent pools with multiple skillsets who can be employed on multiple fronts.

Re:The companies not happy with grads is pure BS. (1)

QuantumG (50515) | more than 5 years ago | (#26053363)

Uh huh. I think the companies that are complaining about the quality of grads are just expecting a certain unrealistic baseline. For example, they expect every applicant to know how to code.. and how to use revision control. I say this is unrealistic because this is all vocational training. Colleges should be teaching fundamentals, like data structures and algorithmic complexity.. and on-the-job training can take care of the vocational stuff.

Re:The companies not happy with grads is pure BS. (0)

Anonymous Coward | more than 5 years ago | (#26053357)

The "problem", if you wanna call it that, is there are way more jobs than there are candidates. Especially in the valley.

And yet, I've been applying for jobs with job requirements which appear to have been written for me, and getting silence back -- yet seeing the same jobs re-posted. My conclusion is that either

1) The HR guys are making an initial cut according to some rule which has nothing to do with the posted job requirements.

or

2) The jobs aren't real; either they're posted as part of the requirement for retaining a particular H1B person, or they are the byproduct of some broken corporate process.

or

3) The companies are discouraged by the fact that I'm far away. I wouldn't be applying if I wasn't willing to move, though.

Re:The companies not happy with grads is pure BS. (1)

edsousa (1201831) | more than 5 years ago | (#26053117)

I've to disagree with you. The average salary is low (if in US is like here in Portugal), but there are very good salaries for good people.
Me and a friend, who's TA'ing, we share a office and last week a 2nd year CS student came to our office because he was having some "difficulties" in preparation for the exam. After some minutes of questions, my friend discovered the problem: "How many bits there are in a byte?"
The answer? "Four".

Re:The companies not happy with grads is pure BS. (5, Insightful)

localman (111171) | more than 5 years ago | (#26053141)

I've never known this to be the case. When I managed developers, I paid market rates which I am sure you would say are low. I never had a single offer turned down for salary considerations. I had a range of programmers from good to excellent. Expectation of higher salaries was not correlated with skills or performance at all.

You are right: programming _is_ hard. But salary is only useful as a motivator up to a point. Beyond that, what good programmers want is respect, appreciation, and freedom to do great things. They want to work on stuff that they feel good about. They also want to work with other smart people who they can learn from and build great stuff with. Those are decent starting points anyway.

So your general idea is right: that complaining companies are full of it, but I don't think it's because of money. It's because they have lousy uninspiring development environments.

Cheers.

Salaries ARE low (2, Interesting)

Anonymous Coward | more than 5 years ago | (#26053371)

I was a developer. Highly paid and with lots of stock options. I worked my ass off for years and years making double the average salary. I was on a plane to Japan more than a few times with less than 24 hours notice. "Employee of the year."

I got tired of it and switched into systems design - technical architecture. My salary went down a little, but my work load became manageable again - 50 hours per week.

I miss programming. It was enjoyable and gave me a feeling of accomplishment - every day. I'd return, but the salaries are half what I'm worth (IMHO). I'll stay in technical architecture for the higher salary, greater prestige and control and continue my work on outsourcing development where ever it is most efficient (generally, not India).

Re:The companies not happy with grads is pure BS. (1)

hemp (36945) | more than 5 years ago | (#26053201)

You are correct. The obvious solution is to allow in more H1-Bs for these companies to hire.

Re:The companies not happy with grads is pure BS. (1)

AVee (557523) | more than 5 years ago | (#26053227)

Sorry but Programming is HARD. you gotta pay a lot for a good programmer. That will not change.

Ah, another thing that will not change. I love have these just come and go...

Salaries are a simple matter of supply and demand. If the supply of good programmers goes up the salaries will go down. It will be a while before there will be plenty off good programmers, but it will change.

Re:The companies not happy with grads is pure BS. (2, Insightful)

IamTheRealMike (537420) | more than 5 years ago | (#26053261)

Paying people more doesn't make them suddenly skilled. All it does is suck talent away from your competitors, it's zero sum. It might also encourage more people to enter the field, but if education is poor, why would they be any more skilled than previously?

I'd agree with Stroustroup. The number of people out there who truly understand computers and software development is too small, because new developers have to re-learn the lessons all over again due to poor or non-existant teaching.

Re:The companies not happy with grads is pure BS. (0)

Anonymous Coward | more than 5 years ago | (#26053397)

Why should they raise their rates when they can get 15 off-shored programmers for one third your asking price.

It's too bad that it actually takes around 1500 of them to get one piece of code to work "Hello World".. And that's after 1500 incarnations and spelling / grammar revisions.

He sure thinks a lot of himself (-1, Flamebait)

binarylarry (1338699) | more than 5 years ago | (#26052839)

and university training.

The really good type of programmer he says is lacking will be learning many different languages... ON THEIR OWN. They don't really need the university.

Of course, you'll have a large majority of replaceable people in CS. These types are just there to "get a good degree and get a high paying job." But they truely aren't interested in the industry or the technology. They are there for the security a degree gets them during job hunting. They'll learn whatever is taught and that's it and never be very good.

Sorry, Bjourne, these replaceables are going to be in the majority, just like every other industry.

Did you think Computer Science is special?

Re:He sure thinks a lot of himself (3, Insightful)

truthsearch (249536) | more than 5 years ago | (#26052989)

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. My education included chip design, compiler design, assembler, and other low-level topics that I never use on a daily basis. But studying them at the university level definitely makes me a better programmer.

Re:He sure thinks a lot of himself (2, Interesting)

binarylarry (1338699) | more than 5 years ago | (#26053109)

Most of these topics can easily be researched and learned without a university.

It isn't like say, brain surgery or nuclear engineering.

Re:He sure thinks a lot of himself (5, Insightful)

phyreskull (1275388) | more than 5 years ago | (#26053223)

Most of these topics can easily be researched and learned without a university.

Yes, they can be researched - but, let's face it: most people either think it's beyond them, think they'll never need to know it, or are just too lazy. The ones who would research it themselves are likely to be the ones who are good anyway.

Re:He sure thinks a lot of himself (1)

backwardMechanic (959818) | more than 5 years ago | (#26053083)

The really good type of programmer he says is lacking will be learning many different languages... ON THEIR OWN. They don't really need the university.

That's an interesting point. My degree is in physics - while it is in principle possible to learn the same amount of physics as is required for a BSc without university, it would be much harder and take much longer. Having teachers introduced me to the right concepts and presented the right questions. Is the same true for CS? I'm sure there is more to programming than learning the syntax, but does programming require a degree?

Re:He sure thinks a lot of himself (1)

White Shade (57215) | more than 5 years ago | (#26053213)

I would say that to be a programmer requires something innate, but to be good you need education for sure.

If you've ever sat through a programming 101 course, you'll realize that some people "Just Get It" and some people have absolutely no clue no matter how simply you describe it and how simple the task is. Some people can see the flow of ideas necessary to make even something as simple as a for loop work, while others won't even begin to comprehend the concept or even be able to visualize any of it.

But eventually, once you have the basic grasp of it, having the education will expose you to a lot of things you might not know. Abstract concepts even as simple as data structures like linked lists might not immediately occur to you, so having someone teach them to you will help to no end.

But still, if you're not cut out to be a programmer, no amount of degrees are gonna help you...

Re:He sure thinks a lot of himself (-1, Flamebait)

binarylarry (1338699) | more than 5 years ago | (#26053177)

LOL, I must have pissed off all the poor replaceables who browse slashdot.

Sorry fuckers, you'll always be second rate!

Good point (4, Insightful)

some_guy_88 (1306769) | more than 5 years ago | (#26052843)

I think he has a good point. One we already knew, but good none the less. I have just completed two years of a Software Engineering degree and it really was an easy two years with nothing all that challenging presented. I have friends getting good marks which really aren't that good (hope you guys aren't reading..) Software Engineering has apparently been said to be the hardest form of Engineering around because it's so hard to wright a program of significant size which is bug free. If structural engineers building bridges had as many bugs in their work as software engineers have in theirs, the world would be a very unsafe place.

Re:Good point (2, Interesting)

Xylaan (795464) | more than 5 years ago | (#26052923)

And if we had been creating software for as long as we've been building buildings, we'd probably be better at software as well.

I do think we need to get better at educating, but I still think we're in the "Learning how to make practical software WELL" phase of the discipline.

Re:Good point (5, Funny)

JaredOfEuropa (526365) | more than 5 years ago | (#26053015)

Indeed. Besides, the whole "building vs. programming" analogy is silly. If designing buildings was like programming, architects would have to deal with all new materials every few months (can't use the old ones), they'd have customers insisting that walls are best placed leaning 10 degrees out of true, and the foundation under the building would (magically) be changed every few years, with the building having to remain upright on whatever it was standing on. And if the construction crews put a doorknop on wrong, the whole building might come crashing down when someone opened the wrong window.

Re:Good point (0)

Anonymous Coward | more than 5 years ago | (#26052975)

I'm somewhere around two years in a SE degree and it's a joke. I'm not a great programmer, but the first few courses in programming were a joke. I wish I was at TAMU, instead of UTA...

Re:Good point (2, Informative)

Belial6 (794905) | more than 5 years ago | (#26053257)

I say that is a commonly believed myth. First, spending 2 billion on a bridge is not uncommon. This isn't for a super fancy never before seen design, but for a basic, cross a bay bridge. If you spend that much money on a piece of software that is only doing a few functions, you certainly can get a very stable piece of software. Even the best funded software is massively underfunded compared to to bridge building budgets. Most current software is the equivalent of a 4x4 dropped across a creek. You can bet that those fail just as often as software does.

Then go out and look at bridges. If you think that they are bug free, you are very much mistaken. There are flaws in virtually all physical construction that would never be tolerated in software design. The difference is that construction has found ways to hide many of their gross flaws, and the population has just gotten used to seeing them. Basically bugs in bridges don't get called out unless someone gets killed. If we used the same criteria for software, then most software is bug free.

Re:Good point (1)

lawpoop (604919) | more than 5 years ago | (#26053287)

Yeah, but we've been building things for 5,000 years or more. We've pretty much figured out how to build large things safely.

As far as computers, we're still in the wild west. It's only been relatively recently that garbage-collecting languages have become widespread. How many bugs has this in itself prevented? I imagine in 100 years or so, a lot of debates about kinds of programming and programming styles will have been more or less figured out. I think a lot of it will depend on how the human programmer interacts with the program -- what kinds of practices cause people to write bugs? -- rather than the abstract mechanics of the program itself. So then, you could look at a program and say "Look what they did here; this is a classic wrong way of doing things."

He can wish.... (4, Funny)

Aussie (10167) | more than 5 years ago | (#26052853)

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:He can wish.... (1)

martin-boundary (547041) | more than 5 years ago | (#26053437)

Not only that, but he's accomplished more for the world in twenty years by being the way he is than he ever could if he had been clean shaven, skinny and wearing a suit while working in the IT department of some minor bank.

Lies!! (5, Funny)

ookabooka (731013) | more than 5 years ago | (#26052877)

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.

While probably safe for work, I don't actually want anyone to see this, but I found one! [king-mag.com]

Re:Lies!! (1)

geekoid (135745) | more than 5 years ago | (#26053333)

I am going to track you down and gouge your eyes out as you look at this picture. That way it will be the last thing you see for all time.
Gah, my brain.

Re:Lies!! (0)

Anonymous Coward | more than 5 years ago | (#26053389)

There is not a single pizza box in sight, and WHY IS THE PUSSY CENSORED?!?!!?!?

Sales Pitch For His Product (0)

Anonymous Coward | more than 5 years ago | (#26052883)

Incidentally, I find it appalling that you can become a programmer with less training than it takes to become a plumber.

Of course he does. His product is teaching people to be programmers. Unfortunately for his business model, no one really needs the type of training a plumber has to go through in order to write software.

Yes, sometimes lives depend on software working correctly. Many millions and billions of dollars may ride on getting the math or the database updates to work reliably. Those are the most exceptional and specialized cases in the software world. Well over 99% of software does nothing more significant than make the clock blink on your DVD player.

Re:Sales Pitch For His Product (1, Insightful)

Anonymous Coward | more than 5 years ago | (#26052997)

Most programming tasks are not life or death, but quite a few of them cost a lot of money when they fail. Right now good programmers are almost entirely the result of good on the job training, it would be great if more practical knowledge of programming could be taught in classrooms.

Re:Sales Pitch For His Product (1)

xlotlu (1395639) | more than 5 years ago | (#26053311)

Yes, sometimes lives depend on software working correctly.

And sometimes world economy.

Stroustrup on Java is like Bill Gates on Linux (5, Insightful)

Anonymous Coward | more than 5 years ago | (#26052899)

Bjarne Stroustrup, creator of C++ [...] weighs in on [...] Java (there's too much of it)

Oh, gee, now THAT is a surprise!

Re:Stroustrup on Java is like Bill Gates on Linux (0)

Anonymous Coward | more than 5 years ago | (#26053139)

Really. He contradicts himself a bit. I was taught Java in college, but I learned C++ in high school (independently studying, as it offered no courses). The fundamentals are more important than the language used. I've had employers throw entirely new languages at me and I could easily learn them - so what's the big deal with pushing people away from Java?
 
Anyone can write code. Not everyone can engineer software - going through the whole deal for a real-world project, not some "Oh, my C++ program is faster than your embedded Java, Python, etc" BS. Get over it. Learn more about the field in general, rather than how to fancily throw about pointers or argue over the greatest tree-structure class in Java.

Bjarne just burned most of slashdot (0)

Anonymous Coward | more than 5 years ago | (#26052917)

now that Bjarne has ridiculed you all will you mod him as flamebait too?

Re:Bjarne just burned most of slashdot (-1, Flamebait)

Anonymous Coward | more than 5 years ago | (#26053399)

I wish. The guy is a bit of an edutard. C++ sucks donkey ass (Java does too). Actually, anything with too much focus on OO design sucks. Object-oriented programming has some good ideas but when used how it normally is in C++ or Java you end up with a giant hierarchical tree that is hard for new developers on a project to understand and makes debugging very difficult (ever had to walk up an OO tree trying to figure out what the hell is going on in a particular piece of code? It sucks). Namespaces are good, object-oriented is bad.

Generally speaking, educators have no clue how the real world works because they don't have to live in it for their job. Now I know Stroustrup has done commercial work but he's still a career academic if you know what I mean. The way he talks down with his teacher mentality on practically everyone who is out in the real world kicking-ass just makes him look stupid.

While it's true that a lot (most?) programmers suck, creating a team doesn't help. Programmers in close teams tend to make lots of shit if they are depending on each other. I went trough at least a dozen different "team building" classes for various companies back in the 90's and let me tell you, it didn't do a damn thing to help us and in fact often made things worse by introducing bureaucratic "team" processes. While you do need more than one person to get stuff done, the work is best broken down so individuals are not relying on each other. If somebody can't pull their weight then you replace them.

Is coding really a team sport? (5, Interesting)

tristanreid (182859) | more than 5 years ago | (#26052937)

I know about extreme programming, and I've really enjoyed some team programming sessions, but when it comes down to it, I think one reason some people hold a much deeper level of knowledge than their peers is that they spend extreme amounts of time alone.

Some people:
--get really good at coding
--get really good at math
--get really good at video games
--read large numbers of books
and finally some people watch a lot of television

The people who read a lot of books sometimes gain a better understanding of other people, the people who watch a lot of TV have an increased repertoire of small talk, and in today's world, video games are increasingly a team sport. All of those things facilitate increased human contact.

People who are fascinated with math and coding tend to have fewer peers who can understand what they are doing. Is this a bad thing? I don't think so. Maybe I grew up as more of an introvert in some regards, but in other ways I'm socially adjusted. I guess the challenge is to guide young people to seek out their peers (those who are fascinated with the same things), and to make friends without making everything into a competition. It's hard for young nerdlings to recognize a peer intellect without wanting to prove themselves better. There is a place for ambition, but that instinct can be a hinderance.

My two cents,

-t.

Re:Is coding really a team sport? (5, Insightful)

Shados (741919) | more than 5 years ago | (#26053009)

Coding can be a hobby, in which case sure, you can do it alone (though for significant project, it gets rough, with all of the cross cutting concerns... someone who's extremely good at algorythms may totally suck at designing a public API... fairly common in CS-heavy companies that do a lot of backend stuff).

I'm guessing though, they were referring to coding in the real world (for a living), in which case, for anything significant (no, the ecommerce website someone makes as a freelance isn't significant), you'll need to be a good teamplayer. People who are good at making functional GUIs often suck at backend programming, and vice sera. People good in architectures often miss the details. Computer scientists often cannot understand project managers and architects. Thus, it becomes a team sport (like you'd have goalers, offense, defense, etc). Being able to work as part of that team is almost as possible (sometimes moreso) than just being good at your specialty.

Re:Is coding really a team sport? (1)

AVee (557523) | more than 5 years ago | (#26053307)

The project I'm currently working on has taken ~12 man years, and we're just getting started. And that's basically an extension to a range of products that to quite a few livetimes to build.
Regardless of the need for different skils working together (which is indeed really important), there is no way you are going to build any significant piece of software on your own. And certainly not if you want to be done before it is outdated.

Re:Is coding really a team sport? (5, Insightful)

Americano (920576) | more than 5 years ago | (#26053341)

Some people: --get really good at coding --get really good at math --get really good at video games --read large numbers of books and finally some people watch a lot of television

The problem is, you're lumping all development into some generic activity called "coding." That ignores the simple fact that being an expert in C++ does not make you expert at UI design. Being an expert at UI design doesn't make you a SQL whiz. Being a SQL whiz does not make you an expert at designing flexible & scalable application systems with many moving parts.

See the pattern? To make any practically-useful system today, you MUST work with other people who are expert in areas you're very likely not an expert in. You can create the best data model in existence for your company's payroll system, but if you don't have a clear understanding of the business rules, a good architecture, and a solid UI (and I've seen very few people in software engineering who are experts at all of the pieces that go into creating a good piece of software), the resulting product will be an unusable piece of crap that doesn't meet requirements.

Stroustrop's point of the single genius programmer is valid. The model you describe supposes that a single person can possibly learn and be expert in all of the disparate knowledge areas that are required to make a working piece of software, and in any group, the people who are capable of that level of insight & knowledge will *always* be the statistical outliers. Instead of punishing the majority of people for not being born with genius-level intellect, teach them how to be good at their chosen area of expertise, and how to relate to the people they have to work with to get things done. You don't have to engage in XP or some other "pair programming" methodology to realize value from being able to communicate clearly and work with your architect, QA / Reliability engineers, your customers, your project manager, and other developers who are working on separate subsystems.

Ha! (5, Funny)

isaac338 (705434) | more than 5 years ago | (#26052945)

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.

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.

Re:Ha! (0)

Anonymous Coward | more than 5 years ago | (#26053185)

You've described a computer user and aficionado, not necessarily a geek computer genius. From what you've described, he eats a lot while watching TV shows, playing computer games, and chatting. His computer is his entertainment box. Is he creating anything, as opposed to merely consuming?

Choice quote (1)

clickety6 (141178) | more than 5 years ago | (#26052953)

They can't produce quality products as cheaply, as reliably, and as quickly as they would like.

Well, according to this link - http://www.sun.com/customers/software/elp.xml [sun.com] - switching from C++ to Java helps here. Maybe Prof. Stroustrup might find the source of many of the problems in his own mirror... ;-)

Re:Choice quote (4, Funny)

internerdj (1319281) | more than 5 years ago | (#26053115)

First Stroustrup complains Java is a major ill of CS curiculum, and then Sun says that Java solves all the problems of people who have C++ implementations. And for my next feat I will find an article with the Democrats blaming Bush for something. :-\

One problem... (3, Funny)

Bruce Perens (3872) | more than 5 years ago | (#26052961)

he 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, where then would Slashdot get its readers?

too much Java ... (3, Interesting)

Sweetshark (696449) | more than 5 years ago | (#26052963)

Summary is wrong. There is nothing from BS about "too much Java" in TFA.

Yet while Stroustrop agrees that Java has been used to dumb down CS programs, ultimately, âoethe problem is one of attitude, more than an issue of programming language.â

He is not dumb enough to claim C++ superior to Java. After all it is an C++ is so aweful "designed" that if you are not completely sunk in C++-think, you spend more time fighting the language and its warts than actually do useful stuff (like thinking about algorithms and what the machine does like Don Knuth taught us). While Java is very high level it at least got rid of some of the ugliest and worst mistakes that C++ made. Everyone is way better off with C (for systems stuff), Java (for "enterprisy" stuff), Python (for frontends) and sh (for quick and dirty hacks) than with any C++(*).
http://yosefk.com/c++fqa/ [yosefk.com]
/End Rant
(*) And dont tell me its because of the age of C++. Objective-C and Lisp are way older and way better designed than C++ for example.

Re:too much Java ... (1)

cjfs (1253208) | more than 5 years ago | (#26053067)

Exactly - it's not too much Java, it's students not understanding the libraries they're using:

I'm not sure how much of the problem is Java itself and how much is the emphasis on using libraries, though. The trouble is that Java has in many places been used to dumb down the curriculum while at the same time increasing the apparent level of delivered goods. It is good to be able to (quickly) build new things by calling libraries, but often that's not a skilled, challenging job. If that's all you have seen, you are completely lost when faced with a job for which a pre-packaged solution does not exist.

Re:too much Java ... (0)

Anonymous Coward | more than 5 years ago | (#26053095)

never seen a decent looking python gui

Re:too much Java ... (0)

Anonymous Coward | more than 5 years ago | (#26053233)

maybe you haven't looked [nmap.org] very hard then by the way it is kind of rude to write without capitals and interpunction

Re:too much Java ... (1, Informative)

Anonymous Coward | more than 5 years ago | (#26053209)

I actually quite like C++ when using the Boost library for fancy algorithms and wxWidgets for GUI support. At least, I find myself doing the same level of algorithm contemplation and such when I'm programming in C++ as I do in Java, and seem to accomplish similar programming tasks in similar amounts of time in either language.

Also, what language is best for designing videogames these days? :)

Re:too much Java ... (2, Insightful)

0xABADC0DA (867955) | more than 5 years ago | (#26053365)

Everyone is way better off with C (for systems stuff), Java (for "enterprisy" stuff), Python (for frontends) and sh (for quick and dirty hacks) than with any C++(*).

What do these languages have in common?

* C
* Java
* JavaScript

They each have the same highly successful syntax. Except for small adaptations for the different levels of systems vs application vs scripting these languages are interchangeable and each has a certain C-style simpleness and elegance to it.

There are all sorts of different competitor languages... Objective C, Ruby, Smalltalk, D, Pascal, etc. The languages that have been widely successful even since before time began (1970) have been variations of the Algol/C/Java/Javascript style syntax. For whatever reasons, it is what programmers choose. Maybe it just fits better with how our brain actually works rather than how we think our brain should work. Who knows.

But in any event, I suggest that C, Java, Javascript are the trifecta. Python is a dead end, the Pascal of its generation.

Stinkin' sterotypes! (0)

Anonymous Coward | more than 5 years ago | (#26052977)

Just because you're a sloppy fat geek computer genius semi-buried in a pile of pizza boxes and cola cans doesn't mean you don't have social skills.

Pizza is a good way to make friends.

itmanagement.earthweb.com (0, Offtopic)

Skapare (16644) | more than 5 years ago | (#26052993)

The itmanagement.earthweb.com webmaster(s) have some learning to do, too.

  • The page layout has several glitches (text flowing outside of boxes).
  • The layout doesn't make complete use of the available window space.
  • The cute arrows labeled "IT Management" and "Features" don't match up in size.
  • The links to the next page don't work with tabs.
  • The print version wastes paper by being broken up into "pages" that don't fill out each paper page.
  • The main page for "itmanagement" has multiple menu glitches.

Seems to me to be a cheap company hiring cheap developers.

Since when (1)

FranTaylor (164577) | more than 5 years ago | (#26053003)

Did Stroustrup create a professor at Texas A&M? I thought he was a software developer, not a genetic engineer.

Everybody wants one (0)

Anonymous Coward | more than 5 years ago | (#26053021)

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

Take away the sloppy fat and he's talking about people like John Carmack. If some of these companies had a computer genius or two working for them maybe they wouldn't have to lament the fact that their products are crap.

Conflicting goals (4, Insightful)

internerdj (1319281) | more than 5 years ago | (#26053027)

They can't produce quality products as cheaply, as reliably, and as quickly as they would like...
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.


We all know that we get to choose two of the three, problem is companies want all three without any consessions.
Also, imposing rigor on software design increases time and in certain situations cost, while increasing reliability. While we are definitely heading in the right direction as a field; there is a long way to go before we ever get to any kind of discipline that is both as rigorous as other science or engineering disciplines and usable on the scale that people currently expect software to be at. Real customers by and large can't (although some cases won't) pay for rigorous development. Hell, the mentality has been creeping into consumer electronics as long as I've been alive. The current market drives us towards fast and cheap and only towards reliable if the customer is pissed.

Wait, don't leave! (3, Funny)

Gizzmonic (412910) | more than 5 years ago | (#26053057)

'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!

PHBs take note, please? (4, Insightful)

14erCleaner (745600) | more than 5 years ago | (#26053107)

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.

I almost stood up and cheered when I read this, until I realized that nobody who can change things is reading, and besides I would have disturbed the other cubicle rats.

The problem with C++ (2, Insightful)

spiffmastercow (1001386) | more than 5 years ago | (#26053149)

The real problem with C++ is that it keeps changing all the time. I learned C++ around 1995, shortly after learning C, and it was pretty simple and straightforward. Sure, there was the template annoyance, but nobody used them so it didn't really matter. Now it's some strange bastardized beast with lots of syntax that's not even remotely derived from its C roots. What was wrong with simply having an object oriented version of C? I know it can still be used that way, but it seems to be more and more difficult to only code that way using C++, because you're going to have to use libraries at some point or another.

Re:The problem with C++ (1)

Shados (741919) | more than 5 years ago | (#26053335)

C++ isn't my thing and I haven't used it in a long time, but when I was, around the same time you learned it, templates were huge and used everywhere (at least in serious companies). From looking at the stuff my girlfriend works on (since thats the language she mainly works with), I don't see anything much different from 10+ years ago. So aside a few thingnies here and there, not sure what you say changed. Its even standardized now!

My way of interpreting is null (3, Interesting)

dilvish_the_damned (167205) | more than 5 years ago | (#26053165)

The article starts off by claiming Stroustrup created C++. Fair enough, but then, in the same paragraph, the author claims that C++ is used in "google search" and the iphone. Doesn't the iphone platform stress objective-C ( like all current Apple platforms )? Objective-C != C++. It could be a minor thing since I dont do either, I am just saying something, maybe. Maybe like he does not know his subject matter, or assumes his readers do not.

The rest of the article was mostly about the Stroustrup history, not what he said in the presentation. Its almost like the author cherry picked a few damning things his subject said in a presentation totaling ~42 words and then gave it a provocative title, and a bunch of interpretation.
Like I give a shit what the author thinks.

NOTE: I would apologize for the way my brain works but I am held captive by it. Its not my fault. I think.

Looking for programmers in their natural habitat (1)

russotto (537200) | more than 5 years ago | (#26053197)

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.

Hmm. Perhaps this is why companies can't find good programmers; they're explicitly not looking for them in their natural habitat, and not recognizing them when they do find them.

What next, demand doctors drop the white coats and the god-like attitudes? Expect lawyers to give up Armani suits and martinis? Sorry guys, you've got to take the good with the bad.

Companies Complaining (1)

LaskoVortex (1153471) | more than 5 years ago | (#26053217)

The companies are complaining because they are hurting.

Then they should start their own training programs and recruit students using high wages as an incentive to joint the program. For the right salary, I'll sign up.

Stroustrup Is a Has-Been... (0)

Anonymous Coward | more than 5 years ago | (#26053267)

...from the dinosaur age of Unix, Windows, Linux, Turing Machines, multithreading, C++, etc. All that antiquated stuff is on the way out. This is the 21st century, the age of parallel programming and multicore. The baby boomer generation have had their say and they got us into the current mess. They have run out of ideas because they're too old and set in their ways. Now it's time for a new generation of thinkers to have their turn at the helm. Their job is to abandon last century's failing paradigms and change computing for a new age. The revolution is still ahead of us.

It's time for the old guard to retire and fade away.

sour grapes about Java (1)

peter303 (12292) | more than 5 years ago | (#26053381)

C++ is old and creaky. You have to work around its defects to properly abstract programming constructs. So someone invents a language you can be productive twice as quickly. That should be a huge advantage.

I also hate bad programmers (3, Interesting)

CrazyJim1 (809850) | more than 5 years ago | (#26053405)

Bad programmers are why companies don't take a chance on good programmers. Many good programmers can't get a job because the HR department thinks you actually need experience in a specific set of software in order to be good at the job. Good programmers know they can pick up most any language and get cracking within a week or so. For me its:"Yeah I've coded since I've been able to type so over 10 years of basic followed by over 10 years of C/C++. A Carnegie Mellon degree in Scientific Computing. No experience, but I have coded several large projects at home." I applied to thousands of jobs on job boards, and I never cracked into the industry.

Hypocrit (2, Interesting)

CSfreakazoid (873190) | more than 5 years ago | (#26053449)

Having taken a class from him, I cannot honestly respect any feelings he has about education. The man is hands down the worst professors I have ever had, He has no concept of teaching, he rather just rambles in class and expects the students to know everything. In a intro level CS class, he expected every student to be proficient in C++, event though in Texas, the high school CS curriculum is entirely JAVA (which isnt a good thing, but it is the way it is). While I agree with what he says, I do not support him even talking about education. If he were not the creator of C++ he would not have a job in Acedamia.
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...