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: 103376,39e272d357c68416 X-Google-Attributes: gid103376,public From: "Samuel T. Harris" Subject: Re: Is Apex dead as an environment for Ada & Java? Date: 1999/11/29 Message-ID: <3842C457.CBC87C2@hso.link.com>#1/1 X-Deja-AN: 554507628 Content-Transfer-Encoding: 7bit References: <11f733ec.57d88b68@usw-ex0107-042.remarq.com> <384127A5.61431A14@dowie-cs.demon.co.uk> <0a0133f8.3baf10c0@usw-ex0101-001.remarq.com> <81s370$7am$1@nnrp1.deja.com> <0a0133f8.7900d89e@usw-ex0102-015.remarq.com> X-Accept-Language: en Content-Type: text/plain; charset=us-ascii Organization: Raytheon Scientific & Technical Services Mime-Version: 1.0 Newsgroups: comp.lang.ada Date: 1999-11-29T00:00:00+00:00 List-Id: jim_snead wrote: > > In article <81s370$7am$1@nnrp1.deja.com>, mike_zebrowski@my-deja.com > wrote: > > Apex subsystems help prevent circular references. > > Ada95 naming coventions do not. > > Mike Zebrowski > > Sent via Deja.com http://www.deja.com/ > > Before you buy. > > Here is an approach to prevent circular dependencies > which is enforcable by using an Ada 95 compiler. > > I've used Apex since its inception and its R1000 predecessors for years before that. I have found from experience that subsystem design is more about the flow of work than about the organization of code. While the tips given by Jim Snead are valuable, the concerns they address are not my primary concerns when I'm allocation subsystems to support a project. The organization the teams is primary. How many developers are involved? How are the developers partitioned into teams? What manager layers are involved in inter-team coordination? What are the logistics involved in the scheduling of each team's releases? As many have alluded to, Apex is overkill for a small project. Apex shines for huge projects. And once in place in an organization to support a single huge project, then it is already available for the small ones as well. I'd also like to add some technical attributes I've come to appreciate over the years. 1. The configuration management information resides in the subsystem. Each view uses it to generate its content. Since the subsystem and views can have different physical storage locations, I can spread by stuff around and limit my exposure to a disk crash. 2. Each subsystem is a self-contained configuration management area. I don't not have to be dependent on one single monolithic CM engine. This also limits my exposure to CM related problems. 3. The clear separation between subsystems provides important configuration management controls and enforces a minimal level of discipline upon developers. I also like the use of histories instead of free-for-all branching supported by other tools. I can branch in Apex with histories, it just takes more work, and therefore more thought on just what exactly I need to do. As a parting thought, I do really miss that Ada command-line environment on the old R1000's. -- Samuel T. Harris, Principal Engineer Raytheon, Scientific and Technical Systems "If you can make it, We can fake it!"