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!news.glorb.com!newscon02.news.prodigy.com!prodigy.net!newsmst01b.news.prodigy.com!prodigy.com!postmaster.news.prodigy.com!newssvr14.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> <75KTe.5$1r.0@dfw-service2.ext.ray.com> 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: 64.164.116.225 X-Complaints-To: abuse@prodigy.net X-Trace: newssvr14.news.prodigy.com 1126161174 ST000 64.164.116.225 (Thu, 08 Sep 2005 02:32:54 EDT) NNTP-Posting-Date: Thu, 08 Sep 2005 02:32:54 EDT Organization: SBC http://yahoo.sbc.com X-UserInfo1: Q[R_PJSCOHV[RVT[AROR__TDFZ\@@FXLM@TDOCQDJ@_@FNHB_NVUAH_[BL[\IRKIANGGJBFNJF_DOLSCENSY^U@FRFUEXR@KFXYDBPWBCDQJA@X_DCBHXR[C@\EOKCJLED_SZ@RMWYXYWE_P@\\GOIW^@SYFFSWHFIXMADO@^[ADPRPETLBJ]RDGENSKQQZN Date: Thu, 08 Sep 2005 06:32:54 GMT Xref: g2news1.google.com comp.lang.ada:4516 Date: 2005-09-08T06:32:54+00:00 List-Id: "Jeffrey Carter" wrote in message news:75KTe.5$1r.0@dfw-service2.ext.ray.com... > adaworks@sbcglobal.net wrote: > > > > I have heard it expressed at some software-oriented conferences that > > enumerated types represent an old-fashioned way of thinking about > > software design. Some in the OO community believe that, because > > enumerated types are not extensible, they actually thwart good OO > > design. > > How can an implementation technique thwart good design? > Enumerated types, as presently designed, are not extensible. They do no encapsulate their operations, and new operations, though they can be added, do not bind in a way that conforms to conventional OO design principles. It is difficult, though not impossible, to create designs where the enumerated type is not exposed in the public part of a package specification. For many OOP practitioners, enumerated types are at the wrong level of abstraction for appropriate support of object-oriented programming. Too often, these non-extensible types are designed to be globally visible, thus creating a dependency nightmare. When they are publicly visible, any change will ripple through the entire design, and the compilation of every dependent library unit will be involved. This is not to say that enumerated types are evil. I don't expect anyone to write a letter to Ada Letters titled, "Enumerated Types Considered Harmful." However, they are easy to use incorrectly, and in the hands of Ada novices, they often create as many problems as they solve. It would be very nice if the Ada language had a capability to include abstract data types or extensible objects as members of the ordered set. This would be even more powerful if the enumerated type were, itself, abstract and extensible. I say nice, but realizing that such a feature would make it nearly impossible to design this so the underlying design goals of Ada would be satisfied. I myself would find the implementation of this design to be extraodinarily difficult. Richard Riehle