From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-0.9 required=3.0 tests=BAYES_00,XPRIO autolearn=no autolearn_force=no version=3.4.6 Path: eternal-september.org!reader02.eternal-september.org!gandalf.srv.welterde.de!news.jacob-sparre.dk!franka.jacob-sparre.dk!pnx.dk!.POSTED.rrsoftware.com!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Adacore joins with Ferrous Systems to support Rust Date: Thu, 3 Feb 2022 21:20:08 -0600 Organization: JSA Research & Innovation Message-ID: References: <87o83pzlvm.fsf@nightsong.com> <87bkzpyqx3.fsf@nightsong.com> <8735l0zo6j.fsf@nightsong.com> Injection-Date: Fri, 4 Feb 2022 03:20:09 -0000 (UTC) Injection-Info: franka.jacob-sparre.dk; posting-host="rrsoftware.com:24.196.82.226"; logging-data="25652"; mail-complaints-to="news@jacob-sparre.dk" X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Response X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.7246 Xref: reader02.eternal-september.org comp.lang.ada:63469 List-Id: "Luke A. Guest" wrote in message news:stgj3j$12g8$1@gioia.aioe.org... > On 03/02/2022 11:30, Simon Wright wrote: >> "Luke A. Guest" writes: >> >>> At uni, we didn't even touch on tagged types, but used controlled >>> types >> >> Of course controlled types are implemented as tagged types. ISTR Dmitry > > We had a book with a reading guide. We weren't shown the specs showing the > type of controlled/limited_controlled. So, when you don't have that > information and only know that you can derive from it and then implement 2 > or 3 subprograms, you don't need to know about OOP in Ada. > > Just like we didn't touch generic packages until much later in the year, > generic subprograms, yeah, because u_d was required early on. > >> objecting to this, I think he was right (philosophically; I've no idea >> about the practicality of alternate approaches). > > How else would you do controlled types? Ada 9x originally had a bunch of magic attributes (similar to streaming). It was very complex and got dumped in the dustbin during "scope reduction". Later on, some of us were bemoaning that a critical feature (finalization) had gotten lost in Ada 9x, and Tucker came up with the idea to build it on top of tagged types as a massive simplification (at the loss of a bit of power). People often complain that Ada finalization is complex, and it is, except all of the alternatives are a lot more complex. :-) Randy.