Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!cs.utexas.edu!sun-barr!newstop!sun!amdcad!dgcad!gary From: gary@dgcad.SV.DG.COM (Gary Bridgewater) Newsgroups: comp.lang.c++ Subject: Re: Plus ca change ... Message-ID: <2043@proa.SV.DG.COM> Date: 23 Jul 90 07:44:14 GMT References: <29.UUL1.3#913@acw.UUCP> Reply-To: gary@proa.SV.DG.COM () Organization: Data General SDD, Sunnyvale, CA Lines: 37 In article <29.UUL1.3#913@acw.UUCP> guthery@acw.UUCP (Scott Guthery) writes: >In a recent posting to comp.lang.c++, >says: > >>I have examined the NIH String class, and the GNU libg++ String class >>and have designed my own class from the two. > >Will somebody post the story about code reuse again? I keep forgetting. > > Cheers, Scott I forget the story too but the plot points go like this: a) each new c++ programmer is compelled to invent a new, ultimate String class which is infinitely better than all existing ones. This class must be used by the programmer in all code generated - any code which is modified must also be converted to the new version as well. Only the most ignorant of co-workers will fail to grasp the probity of this course. b) there is no PD (or locally pd) class which cannot be improved - sadly, requiring it to be - henceforth - incompatible with the older version. Opportunities to make such improvements should be actively sought. c) Efficiency is more important than anything. Header files are a waste of time and space. Documentation is best done after the project is completed when we will know exactly what the code does. Given this, it is silly of management to expect programmers to be able to share within the work group - indeed, secrecy is important to each member lest credit be mis-applied. Perhaps these points will remind you. I think Roger Scott's tongue-in-cheek interpretation of NIH was a bit close to the bone. He brought it up here back when it was OOPS - then, of course, he improved it. ;-) Cheers, indeed. Gary -- Gary Bridgewater, Data General Corporation, Sunnyvale California gary@sv.dg.com or {amdahl,aeras,amdcad}!dgcad!gary C++ - it's the right thing to do.