From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,1042f393323e22da X-Google-Attributes: gid109fba,public X-Google-Thread: 1014db,1042f393323e22da X-Google-Attributes: gid1014db,public X-Google-Thread: 103376,1042f393323e22da X-Google-Attributes: gid103376,public From: Scott Stanchfield Subject: Re: Software Engineering is not a hoax... Date: 1997/05/27 Message-ID: <338B7D5C.41C67EA6@metaware.com>#1/1 X-Deja-AN: 244367890 References: <5mc1a2$icf$1@dbs1.sma.ch> <338B2118.41C67EA6@metaware.com> <338B30F5.745B@hydro.on.ca> Organization: MetaWare Incorporated Newsgroups: comp.lang.c++,comp.lang.c,comp.lang.ada Date: 1997-05-27T00:00:00+00:00 List-Id: Dan Evens wrote: > > Scott Stanchfield wrote: > > I've never written more than one program to do exactly the same task > > (unless I'm rewriting it to improve it.) Each time I sit down to code > > something the goal is different. > > Hrm. Have you never solved the same *kind* of problem twice? > Automobiles don't all go *exactly* the same place twice. Never > set up a searchable index twice? Never set up a database twice? > Never made a linked list twice? And so on. Sure -- those are the small algorithms and containers to which I refer. These are the pieces that can be reused, but they're small compared to the overall program. When I say I don't code the same thing twice, I overall product. I don't write several C++ compilers, or several database manglement engines... > > > Sure, we can use common algorithms and objects such as containers and > > math packages. But the overall product is not something that has been > > done before, and therefore, there is no proven, repeatable method to > > "engineer" that work. > > There are certainly subtasks which appear repeatedly in recognizably > identical fashion. This is why books like _Design Patterns_ by > Gamma et al. are useful and instructive books to read. The "one off" > mind set is clearly counter productive most of the time. Ahh, but "Design Patterns" are stylistic issues, not solutions to problems. They are very effective (I use them frequently, nice book!) but they don't tell me what code to write to create a word processor. They give me good tools to arm myself to the task. (Think of them as better paint brushes...) Don't get me wrong -- I think we learn good techniques from books and past experience, but I don't think this makes our programs "engineered." Just like an artist who learns new techniques, our works become more and more attractive. -- Scott -- Scott Stanchfield (The opinions expressed herein are not necessarily those of MetaWare)