SCOUG-Programming Mailing List Archives
Return to [ 24 |
September |
1998 ]
Content Type: text/plain
I'm fairly certain this really belongs in the "humor/urban-legend"
category, but it is a fun read AND programming related, so I thought I'd
share...
> Eye opening (almost) interview re OO with Bjourne Stroustrup!
>
>
> "I Did It For You All..."
> ______________________________________________________________
>
> On the 1st of January, 1998, Bjarne Stroustrup gave an interview
> to the IEEE's 'Computer' magazine.
>
> Naturally, the editors thought he would be giving a retrospective
> view of seven years of object-oriented design, using the language
> he created.
>
> By the end of the interview, the interviewer got more than he had
> bargained for and, subsequently, the editor decided to suppress its
> contents, 'for the good of the industry' but, as with many of these
> things, there was a leak.
>
> Here is a complete transcript of what was said, unedited, and
> unrehearsed, so it isn't as neat as planned interviews.
>
> You will find it interesting...
>
> __________________________________________________________________
>
> Interviewer: Well, it's been a few years since you changed the
> world of software design, how does it feel, looking back?
>
> Stroustrup: Actually, I was thinking about those days, just before
> you arrived. Do you remember? Everyone was writing 'C'
> and, the trouble was, they were pretty damn good at it.
> Universities got pretty good at teaching it, too. They were
> turning out competent - I stress the word 'competent' -
> graduates at a phenomenal rate. That's what caused the
> problem.
>
> Interviewer: Problem?
>
> Stroustrup: Yes, problem. Remember when everyone wrote Cobol?
>
> Interviewer: Of course, I did too
>
> Stroustrup: Well, in the beginning, these guys were like demi-gods.
> Their salaries were high, and they were treated like royalty.
>
> Interviewer: Those were the days, eh?
>
> Stroustrup: Right. So what happened? IBM got sick of it, and
> invested millions in training programmers, till they were a
> dime a dozen.
>
> Interviewer: That's why I got out. Salaries dropped within a year,
> to the point where being a journalist actually paid better.
>
> Stroustrup: Exactly. Well, the same happened with 'C' programmers.
>
> Interviewer: I see, but what's the point?
>
> Stroustrup: Well, one day, when I was sitting in my office, I
> thought of this little scheme, which would redress the
> balance a little. I thought 'I wonder what would happen, if
> there were a language so complicated, so difficult to learn,
> that nobody would ever be able to swamp the market with
> programmers? Actually, I got some of the ideas from X10,
> you know, X windows. That was such a bitch of a graphics
> system, that it only just ran on those Sun 3/60 things.
> They had all the ingredients for what I wanted. A really
> ridiculously complex syntax, obscure functions, and
> pseudo-OO structure. Even now, nobody writes raw X-windows
> code. Motif is the only way to go if you want to retain
> your sanity.
>
> Interviewer: You're kidding...?
>
> Stroustrup: Not a bit of it. In fact, there was another problem.
> Unix was written in 'C', which meant that any 'C' programmer
> could very easily become a systems programmer. Remember
> what a mainframe systems programmer used to earn?
>
> Interviewer: You bet I do, that's what I used to do.
>
> Stroustrup: OK, so this new language had to divorce itself from
> Unix, by hiding all the system calls that bound the two
> together so nicely. This would enable guys who only knew
> about DOS to earn a decent living too.
>
> Interviewer: I don't believe you said that...
>
> Stroustrup: Well, it's been long enough, now, and I believe most
> people have figured out for themselves that C++ is a waste
> of time but, I must say, it's taken them a lot longer than I
> thought it would.
>
> Interviewer: So how exactly did you do it?
>
> Stroustrup: It was only supposed to be a joke, I never thought
> people would take the book seriously. Anyone with half a
> brain can see that object-oriented programming is
> counter-intuitive, illogical and inefficient.
>
> Interviewer: What?
>
> Stroustrup: And as for 're-useable code' - when did you ever hear
> of a company re-using its code?
>
> Interviewer: Well, never, actually, but...
>
> Stroustrup: There you are then. Mind you, a few tried, in the
> early days. There was this Oregon company - Mentor
> Graphics, I think they were called - really caught a cold
> trying to rewrite everything in C++ in about '90 or '91. I
> felt sorry for them really, but I thought people would learn
> from their mistakes.
>
> Interviewer: Obviously, they didn't?
>
> Stroustrup: Not in the slightest. Trouble is, most companies
> hush-up all their major blunders, and explaining a $30
> million loss to the shareholders would have been difficult.
> Give them their due, though, they made it work in the end.
>
> Interviewer: They did? Well, there you are then, it proves O-O works.
>
> Stroustrup: Well, almost. The executable was so huge, it took
> five minutes to load, on an HP workstation, with 128MB of
> RAM. Then it ran like treacle. Actually, I thought this
> would be a major stumbling-block, and I'd get found out
> within a week, but nobody cared. Sun and HP were only too
> glad to sell enormously powerful boxes, with huge resources
> just to run trivial programs. You know, when we had our
> first C++ compiler, at AT&T, I compiled 'Hello World', and
couldn't believe the size of the executable. 2.1MB
>
> Interviewer: What? Well, compilers have come a long way, since then.
>
> Stroustrup: They have? Try it on the latest version of g++ - you
> won't get much change out of half a megabyte. Also, there
> are several quite recent examples for you, from all over the
> world. British Telecom had a major disaster on their hands
> but, luckily, managed to scrap the whole thing and start
> again. They were luckier than Australian Telecom. Now I
> hear that Siemens is building a dinosaur, and getting more
> and more worried as the size of the hardware gets bigger, to
> accommodate the executables. Isn't multiple inheritance a joy?
>
> Interviewer: Yes, but C++ is basically a sound language.
>
> Stroustrup: You really believe that, don't you? Have you ever sat
> down and worked on a C++ project? Here's what happens:
> First, I've put in enough pitfalls to make sure that only
> the most trivial projects will work first time. Take
> operator overloading. At the end of the project, almost
> every module has it, usually, because guys feel they really
> should do it, as it was in their training course. The same
> operator then means something totally different in every
> module. Try pulling that lot together, when you have a
> hundred or so modules. And as for data hiding. God, I
> sometimes can't help laughing when I hear about the problems
> companies have making their modules talk to each other. I
> think the word 'synergistic' was specially invented to twist
> the knife in a project manager's ribs.
>
> Interviewer: I have to say, I'm beginning to be quite appalled at
> all this. You say you did it to raise programmers'
> salaries? That's obscene.
>
> Stroustrup: Not really. Everyone has a choice. I didn't expect
> the thing to get so much out of hand. Anyway, I basically
> succeeded. C++ is dying off now, but programmers still get
> high salaries - especially those poor devils who have to
> maintain all this crap. You do realise, it's impossible to
> maintain a large C++ software module if you didn't actually
> write it?
>
> Interviewer: How come?
>
> Stroustrup: You are out of touch, aren't you? Remember the typedef?
>
> Interviewer: Yes, of course.
>
> Stroustrup: Remember how long it took to grope through the header
> files only to find that 'RoofRaised' was a double precision
> number? Well, imagine how long it takes to find all the
> implicit typedefs in all the Classes in a major project.
>
> Interviewer: So how do you reckon you've succeeded?
>
> Stroustrup: Remember the length of the average-sized 'C' project?
> About 6 months. Not nearly long enough for a guy with a
> wife and kids to earn enough to have a decent standard of
> living. Take the same project, design it in C++ and what do
> you get? I'll tell you. One to two years. Isn't that
> great? All that job security, just through one mistake of
> judgement. And another thing. The universities haven't
> been teaching 'C' for such a long time, there's now a
> shortage of decent 'C' programmers. Especially those who
> know anything about Unix systems programming. How many guys
> would know what to do with 'malloc', when they've used 'new'
> all these years - and never bothered to check the return
> code. In fact, most C++ programmers throw away their return
> codes. Whatever happened to good ol' '-1'? At least you
> knew you had an error, without bogging the thing down in all
> that 'throw' 'catch' 'try' stuff.
>
> Interviewer: But, surely, inheritance does save a lot of time?
>
> Stroustrup: Does it? Have you ever noticed the difference between
> a 'C' project plan, and a C++ project plan? The planning
> stage for a C++ project is three times as long. Precisely
> to make sure that everything which should be inherited is,
> and what shouldn't isn't. Then, they still get it wrong.
> Whoever heard of memory leaks in a 'C' program? Now finding
> them is a major industry. Most companies give up, and send
> the product out, knowing it leaks like a sieve, simply to
> avoid the expense of tracking them all down.
>
> Interviewer: There are tools...
>
> Stroustrup: Most of which were written in C++.
>
> Interviewer: If we publish this, you'll probably get lynched, you
> do realise that?
>
> Stroustrup: I doubt it. As I said, C++ is way past its peak now,
> and no company in its right mind would start a C++ project
> without a pilot trial. That should convince them that it's
> the road to disaster. If not, they deserve all they get. You
> know, I tried to convince Dennis Ritchie to rewrite Unix in C++.
>
> Interviewer: Oh my God. What did he say?
>
> Stroustrup: Well, luckily, he has a good sense of humor. I think
> both he and Brian figured out what I was doing, in the early
> days, but never let on. He said he'd help me write a C++
> version of DOS, if I was interested.
>
> Interviewer: Were you?
>
> Stroustrup: Actually, I did write DOS in C++, I'll give you a demo
> when we're through. I have it running on a Sparc 20 in the
> computer room. Goes like a rocket on 4 CPU's, and only
> takes up 70 megs of disk.
>
> Interviewer: What's it like on a PC?
>
> Stroustrup: Now you're kidding. Haven't you ever seen Windows '95?
> I think of that as my biggest success. Nearly blew the game
> before I was ready, though.
>
> Interviewer: You know, that idea of a Unix++ has really got me
> thinking. Somewhere out there, there's a guy going to try it.
>
> Stroustrup: Not after they read this interview.
>
> Interviewer: I'm sorry, but I don't see us being able to publish
> any of this.
>
> Stroustrup: But it's the story of the century. I only want to be
> remembered by my fellow programmers, for what I've done for
> them. You know how much a C++ guy can get these days?
>
> Interviewer: Last I heard, a really top guy is worth $70 - $80 an
> hour.
>
> Stroustrup: See? And I bet he earns it. Keeping track of all the
> gotchas I put into C++ is no easy job. And, as I said
> before, every C++ programmer feels bound by some mystic
> promise to use every damn element of the language on every
> project. Actually, that really annoys me sometimes, even
> though it serves my original purpose. I almost like the
> language after all this time.
>
> Interviewer: You mean you didn't before?
>
> Stroustrup: Hated it. It even looks clumsy, don't you agree? But
> when the book royalties started to come in... well, you get
> the picture.
>
> Interviewer: Just a minute. What about references? You must
> admit, you improved on 'C' pointers.
>
> Stroustrup: Hmm. I've always wondered about that. Originally, I
> thought I had. Then, one day I was discussing this with a
> guy who'd written C++ from the beginning. He said he could
> never remember whether his variables were referenced or
> dereferenced, so he always used pointers. He said the
> little asterisk always reminded him.
>
> Interviewer: Well, at this point, I usually say 'thank you very
> much' but it hardly seems adequate.
>
> Stroustrup: Promise me you'll publish this. My conscience is
> getting the better of me these days.
>
> Interviewer: I'll let you know, but I think I know what my editor
> will say.
>
> Stroustrup: Who'd believe it anyway? Although, can you send me a
> copy of that tape?
>
> Interviewer: I can do that.
>
=====================================================
To unsubscribe from this list, send an email message
to "steward@scoug.com". In the body of the message,
put the command "unsubscribe scoug-programming".
For problems, contact the list owner at
"rollin@scoug.com".
=====================================================
Return to [ 24 |
September |
1998 ]
The Southern California OS/2 User Group
P.O. Box 26904
Santa Ana, CA 92799-6904, USA
Copyright 2001 the Southern California OS/2 User Group. ALL RIGHTS
RESERVED.
SCOUG, Warp Expo West, and Warpfest are trademarks of the Southern California OS/2 User Group.
OS/2, Workplace Shell, and IBM are registered trademarks of International
Business Machines Corporation.
All other trademarks remain the property of their respective owners.
|