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,b87849933931bc93 X-Google-Attributes: gid109fba,public X-Google-Thread: f43e6,b87849933931bc93 X-Google-Attributes: gidf43e6,public X-Google-Thread: fac41,b87849933931bc93 X-Google-Attributes: gidfac41,public X-Google-Thread: 1108a1,b87849933931bc93 X-Google-Attributes: gid1108a1,public X-Google-Thread: 103376,b87849933931bc93 X-Google-Attributes: gid103376,public X-Google-Thread: 114809,b87849933931bc93 X-Google-Attributes: gid114809,public From: pcg@aber.ac.uk (Piercarlo Grandi) Subject: Re: What is wrong with OO ? Date: 1996/12/05 Message-ID: #1/1 X-Deja-AN: 202578482 sender: pcg@osfb.aber.ac.uk references: <32A4659D.347A@shef.ac.uk> organization: Prifysgol Cymru, Aberystwyth newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.lang.eiffel,comp.lang.ada,comp.object,comp.software-eng Date: 1996-12-05T00:00:00+00:00 List-Id: >>> "rmartin" == Robert C Martin writes: [ ... ] harry> In fact IMHO an OO team has no place for anyone who cannot do all harry> three tasks. [Analysis, Design, and Implementation] rmartin> Agreed, emphatically. As much as I agree ith these wise words, that clearly arise out of a solid amount of experience with the ``alternative'', I have to sadly add here that sociological reasons make the ``alternative'' rather common; career stratification, harry> Jim Coplien wrote an excellent pattern called 'Architect also harry> Implements' which covers very nicely the reasoning behind not harry> allowing non-implementors to design systems. rmartin> Software architects who do not implement will be ignored by the rmartin> people who actually *do* implement. An architect cannot be rmartin> effective unless he/she really understands the problems that rmartin> the implementors are facing today, now, this minute. I know both you and Harry already know this, but let me add for the sake of completeness and of the record (and Ell :->): and viceversa! Architecture, as you have so many times argued, is extremely important, and the implementor that is not guided by sound architectural principles, by close interaction with analisys and design, is not going to do a nice implementation. Which of course brings us back to the observation above: that programming, and in particular OO with its great emphasis on structured, modular, abstraction, requires the ability to understand and perform at all three levels of discourse.