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.1 required=5.0 tests=BAYES_20,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 Xref: utzoo comp.lang.ada:5711 comp.lang.c++:14200 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!elroy.jpl.nasa.gov!decwrl!netcomsv!jls From: jls@netcom.COM (Jim Showalter) Newsgroups: comp.lang.ada,comp.lang.c++ Subject: Re: c++ vs ada results Message-ID: <1991Jun18.220609.19103@netcom.COM> Date: 18 Jun 91 22:06:09 GMT References: <1991Jun12.164741.412@news.larc.nasa.gov> <1991Jun12.201740.16463@netcom.COM> <1991Jun16.041037.11606@kithrup.COM> <1991Jun18.041751.3740@netcom.COM> <1991Jun18.122812.18190@eua.ericsson.se> Organization: Netcom - Online Communication Services UNIX System {408 241-9760 guest} List-Id: >I have started to see two different kinds of programmers in C++: >1. Library designers >2. Library users >The first kind of programmers is doing some tricky nasty hacking behind the >scenes of the interface of the classes, to satisfy the second kind of users. >I have so far only done programming as a library designer, and I think that >is *VERY* difficult if you try to produce code that is: >a) fast >b) not wasting memory >c) usable >d) reusable (in terms of subclasses) >e) etc >f) etc >g) etc >If you, on the other hand, have a well designed class library to build from, >I think C++ is a beautiful and easy language to use. This is an excellent point, and mirrors my own experiences with Ada. I imagine similar things are true of Eiffel, Modula-3, and any of the other modern software engineering languages. There is nothing WRONG with this, but an organization needs to recognize that with increased language complexity comes a greatly increased ability for the average programmer to get in trouble. It is against the hacker credo of universal egalitarianism to admit this, but the simple truth is that some people are qualified to be architects and some are not--and handing power tools to people only qualified to hammer nails results both in poor construction and arterial bleeding. One of the most successful Ada projects I'm aware of organized job descriptions and responsibilities in such a way that a relatively small number of exceptionally clever people was responsible for the architecture (as captured in subsystem decomposition and subsystem interface specification), each subsystem had a talented lead in charge of its implementation (but could not alter the interfaces, which required an architectural decision), and within each subsystem there was a team consisting of designers and programmers (the designers designed package specs [class headers] and the programmers implemented the bodies). It worked great...and one of the nicest things about it was that it took the pressure OFF the folks who just wanted to go program so that they didn't have to PRETEND to be architects. Nobody felt insulted. Best of all, the staffing requirements when jobs are set up this way are such that the availability of people is inversely proportional to the expertise required--the less a person needs to know, the more of them you hire, making it pretty simple to get the team assembled (one or two hard-to-find architects, a small group of leads, a bunch of programmers [many of them entry level and just starting to learn the Ada language]). -- *** LIMITLESS SOFTWARE, Inc: Jim Showalter, jls@netcom.com, (408) 243-0630 **** *Proven solutions to software problems. Consulting and training on all aspects* *of software development. Management/process/methodology. Architecture/design/* *reuse. Quality/productivity. Risk reduction. EFFECTIVE OO usage. Ada/C++. *