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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,db88d0444fafe8eb X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news4.google.com!border1.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!newscon06.news.prodigy.com!prodigy.net!newsmst01b.news.prodigy.com!prodigy.com!postmaster.news.prodigy.com!newssvr21.news.prodigy.com.POSTED!4988f22a!not-for-mail From: Newsgroups: comp.lang.ada References: <1125544603.561847.32140@g47g2000cwa.googlegroups.com> <14muavojz308w.1ouv7xin79rqu$.dlg@40tude.net> <87fyspgqrm.fsf@mid.deneb.enyo.de> Subject: Re: Surprise in array concatenation X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1437 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441 Message-ID: NNTP-Posting-Host: 69.229.253.119 X-Complaints-To: abuse@prodigy.net X-Trace: newssvr21.news.prodigy.com 1127667912 ST000 69.229.253.119 (Sun, 25 Sep 2005 13:05:12 EDT) NNTP-Posting-Date: Sun, 25 Sep 2005 13:05:12 EDT Organization: SBC http://yahoo.sbc.com X-UserInfo1: O@Y[R^[GZRRER_H]]RKB_UDAZZ\DPCPDLXUNNHPIMASJETAANVW[AKWZE\]^XQWIGNE_[EBL@^_\^JOCQ^RSNVLGTFTKHTXHHP[NB\_C@\SD@EP_[KCXX__AGDDEKGFNB\ZOKLRNCY_CGG[RHT_UN@C_BSY\G__IJIX_PLSA[CCFAULEY\FL\VLGANTQQ]FN Date: Sun, 25 Sep 2005 17:05:12 GMT Xref: g2news1.google.com comp.lang.ada:5149 Date: 2005-09-25T17:05:12+00:00 List-Id: "Randy Brukardt" wrote in message news:zcKdnQ0Er8bYF6neRVn-qQ@megapath.net... > wrote in message > news:zSFTe.4078$wk6.1150@newssvr11.news.prodigy.com... > > I recall a project where an Ada newbie, having learned about enumerated > > types, created one enumerated type that was three pages long. That is, > > the number of values in the type was so great that it took three pages > > of 11 X 14 standard printer paper to contain it. > > Hey, I resemble that remark! > > The intermediate code definition for Janus/Ada includes an enumeration of > 300 or so operations. The definition covers several pages (it has comments). > That's used as the discriminant on a giant variant record that covers more > than 6 pages. No newbies here. :-) > I did not mean to cast any aspersions on the knowledge and skill of those who use enumerated types intelligently. Rather, I meant to indicate that enumerated types can be easily misused by those who are not thinking about their life-cycle consequences. In the project I was referencing, we had a large number of packages that depended on the extra long enumeration type. The enumeration type was a list of weapon systems that could be engaged as necessary. Every time a new weapon was added, the entire system had to be recompiled. I suggested, and the project members agreed, that a table of weapons that could be updated outside the software would give us greater flexibility. One of the key problems in all of software practice is designing for extensibility and maintainability. We want our software solutions to evolve gracefully, over time, into more fully-featured systems, but we would like this to occur without having to do the equivalent of "open-heart" surgery every time a new feature is required. Enumerated types can have the effect of painting one's self in to a corner. Richard Riehle