comp.lang.ada
 help / color / mirror / Atom feed
From: Thomas Hood <thomas@ifn.com>
Subject: A little OO humor
Date: 1998/06/02
Date: 1998-06-02T00:00:00+00:00	[thread overview]
Message-ID: <35743773.41C6@ifn.com> (raw)


This has with it as much attribution as I received it with...  I hope BS
doesn't get too bent outta shape by it.

Thomas Hood
thomas@ifn.com
>
>       The truth about 'C++' revealed
>
>                         cddukes@unity.ncsu.edu
>
>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 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. 
>
>[NJW Comment: That explains everything. Most of my thesis work was in raw
>X-windows. :)] 
>
>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 inC++. 
>
>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.




             reply	other threads:[~1998-06-02  0:00 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-06-02  0:00 Thomas Hood [this message]
1998-06-02  0:00 ` A little OO humor Bjarne Stroustrup
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox