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=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE, MSGID_SHORT autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,ef0074ec236ba6e3 X-Google-Attributes: gid109fba,public X-Google-Thread: 108717,ef0074ec236ba6e3 X-Google-Attributes: gid108717,public X-Google-Thread: 103376,b19fa62fdce575f9 X-Google-Attributes: gid103376,public X-Google-Thread: 1108a1,ef0074ec236ba6e3 X-Google-Attributes: gid1108a1,public X-Google-Thread: 1014db,ef0074ec236ba6e3 X-Google-Attributes: gid1014db,public X-Google-ArrivalTime: 1994-12-02 02:31:41 PST Path: bga.com!news.sprintlink.net!pipex!uknet!hrc63!gec-mrc.co.uk!paj From: paj@gec-mrc.co.uk (Paul Johnson) Newsgroups: comp.lang.ada,comp.lang.c,comp.programming,comp.lang.c++,comp.object Subject: Re: Why don't large companies use Ada? Message-ID: <5994@gec-mrc.co.uk> Date: 2 Dec 94 08:23:57 GMT References: <3aa7jo$7j@Starbase.NeoSoft.COM> <3bd06n$kbt@felix.seas.gwu.edu> <3bj07h$qus@felix.seas.gwu.edu> Followup-To: comp.lang.ada,comp.lang.c,comp.programming,comp.lang.c++,comp.object Organization: GEC-Marconi Research Centre, Great Baddow, UK X-Newsreader: TIN [version 1.2 PL2] Xref: bga.com comp.lang.ada:8171 comp.lang.c:32960 comp.programming:5557 comp.lang.c++:39237 comp.object:9309 Date: 1994-12-02T08:23:57+00:00 List-Id: Michael Feldman (mfeldman@seas.gwu.edu) wrote: > In article , ron house wrote: >> How about "Ada - use it when you want to multiply a length by a length >> and get a length, or when you want to be prevented from dividing an area> >> by a length because they have different types. > This is NOT my favorite aspect of the Ada type system, and I seriously > wish the language directly supported dimensions. As it is, I try to > avoid using derived numeric types, preferring to stick to subtypes > (subrange types) which give me the necessary range checking but don't > get in the way otherwise. > >(PS: yes, you can fix that by defining zillions of additional *,/,- and + > >functions, but good grief...) I worked on an Ada project that tried to do exactly that. We had huge files of definitions, but the type system still kept getting in the way. We were also using a library versioning system, and of course this basic stuff was in a library. So when you changed it, everything else had to be recompiled. What with all the other book-keeping associated with making a change, it held up the project for a full day. We wound up repeatedly defining our own operators in code blocks wherever they were needed. This had several bad consequences 1: The source code become larger and less readable. 2: Type checking (the whole point of all this pain) was weakened because people were just defining operations ad-hoc. 3: We could not add the necessary ops to the library later on because they then conflicted with the ad-hoc declarations and the compiler complained about ambiguities. Paul. -- Paul Johnson | GEC-Marconi Ltd is not responsible for my opinions. | +44 245 473331 ext 3245 +-----------+-----------------------------------------+ Work: | You are lost in a twisty maze of little Home: | standards, all different.