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!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Community Input for the Maintenance and Revision of the Ada Programming Language Date: Wed, 13 Sep 2017 21:34:25 +0200 Organization: Aioe.org NNTP Server Message-ID: References: <915874b5-52c0-4aa8-9023-82fddedb816f@googlegroups.com> NNTP-Posting-Host: MajGvm9MbNtGBKE7r8NgYA.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 Content-Language: en-US X-Notice: Filtered by postfilter v. 0.8.2 Xref: news.eternal-september.org comp.lang.ada:48108 Date: 2017-09-13T21:34:25+02:00 List-Id: On 2017-09-13 19:39, G.B. wrote: > On 13.09.17 09:30, Dmitry A. Kazakov wrote: >> On 12/09/2017 23:04, G.B. wrote: >> >>>     X := new Message' ("Help me"); >>>     Y := new Messagio'("Aiuta me"); >>> >>>     --  entering Little Italy: >>> >>>     X := Y; >> >> Shudder. >> >>> So, if you want to perpetuate the hazards of strings, ask the ARG >>> for a ready made storage pool for strings. >> >> What is so specific about string storage pool? > > The fact that the pool will be there, doing its work without > being noticed, to please those customers who don't like thinking > about string handling and associated storage management. Which work? Do you mean garbage collection here? That is not specific to strings and not much interesting for Ada. > Also, IF a teacher feels inclined to teach programming using > strings, she won't have to first teach all the things that > are necessary to develop a deeper understanding of what > a string actually is. I think it is more important for students to understand the basic ideas of object representation along with the concept of ADT. One does not work without another and algorithmic costs of the choices must be understood from the beginning. (This is what differentiates software design from mathematics) Furthermore your example exempts assignment as something special. Assignment is a normal type operation. Then your example sweeps object life time problematic under the carpet which is a key topic. It is important to prevent students thinking in terms of global objects. In fact, from the example it is hardly possible to identify objects as it deploys a layer of references upon original objects with ADTs of both mingled together in order to appear same. How are you going to explain all that? -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de