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=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!news.stack.nl!reality.xs3.de!news.jacob-sparre.dk!loke.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Your wish list for Ada 202X Date: Fri, 11 Apr 2014 16:34:21 -0500 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: <7f1c01c5-3563-4b94-9831-152dbbf2ecdc@googlegroups.com> <8bhozh836pyt$.1qctlysud0s2q$.dlg@40tude.net> <1cdsyxjzsfgzm.1synpaujysv21$.dlg@40tude.net> <1aa804jg9qq4o$.wdiq33yo621l.dlg@40tude.net> <1w6eh0aiksmdh$.1h16p7y0b8c6h.dlg@40tude.net> <17twpp4p8u7o$.1idvzaaio4f3t$.dlg@40tude.net> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: loke.gir.dk 1397252062 1480 69.95.181.76 (11 Apr 2014 21:34:22 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Fri, 11 Apr 2014 21:34:22 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Xref: news.eternal-september.org comp.lang.ada:19250 Date: 2014-04-11T16:34:21-05:00 List-Id: "Dmitry A. Kazakov" wrote in message news:n89glydkjsjz.17f34lyu7q1j4.dlg@40tude.net... > On Thu, 10 Apr 2014 17:08:37 -0500, Randy Brukardt wrote: > >> "Dmitry A. Kazakov" wrote in message >> news:17twpp4p8u7o$.1idvzaaio4f3t$.dlg@40tude.net... >> ... >>> It is as unrealistic as throwing out all numeric types and using >>> arbitrary >>> precision arithmetic instead. It simply does not work for real-life >>> applications. >> >> Huh? It's exactly how I would define Root_Integer'Class if we had such a >> thing. > > And no any program needs both Integer_16 and Unsigned_8 anyway. Right? > >>>> Ambiguous? That's the idea -- most consumers of strings don't care >>>> anything >>>> about the properties of the string, just the sequence of code points >>>> that it >>>> represents. >>> >>> Class-wide operations are overloaded, which is why. >> >> Overloaded with what? > > With operations of other classes especially operations of subclasses. > Return a class-wide object is a nightmare. I had a lot of problems with > class-wide operations in recent projects. It is not only ambiguity, but > also a hell of type conversions and other tricks required when you have to > return a class-wide. It works only on paper. Then OOP doesn't work, because that's the only sensible use of OOP (to get "generic" operations while still preserving individual characteristics). Otherwise, you might as well build a set of unrelated types and use generics. I can believe that there are problems inhibiting the use of class-wide types in this way, but those are precisely the problems that the language needs to address. Without class-wide programming, OOP is simply a waste of effort (and runtime). Randy.