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=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: "G.B." Newsgroups: comp.lang.ada Subject: Re: Community Input for the Maintenance and Revision of the Ada Programming Language Date: Thu, 14 Sep 2017 08:57:00 +0200 Organization: A noiseless patient Spider Message-ID: References: <915874b5-52c0-4aa8-9023-82fddedb816f@googlegroups.com> Reply-To: nonlegitur@notmyhomepage.de Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Thu, 14 Sep 2017 06:57:01 -0000 (UTC) Injection-Info: reader02.eternal-september.org; posting-host="89cb66942a3d256294acf09d22eb40a9"; logging-data="2082"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19nL90vQ0En2fTYVVlYOB6zyDFC1kHHLL4=" User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 In-Reply-To: Cancel-Lock: sha1:tmVH/a0kaGVLxsc1YcA6eBlsr8Q= Xref: news.eternal-september.org comp.lang.ada:48112 Date: 2017-09-14T08:57:00+02:00 List-Id: On 13.09.17 21:34, Dmitry A. Kazakov wrote: > 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? OT: "The key to counted strings is that they need to be first class objects. The compiler must know how to handle them." Thus, the work of handling strings. Strings in particular, because apparently teachers think that they teach something valuable when they suggest using natural language strings or other semi-formal lumps of characters in a formal program's text. > 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. Sure, if CS education wishes to focus on high quality technical systems, then understanding those basics (including cost) seems like a good idea. Not so, when some funding organization's focus is on writing macros in VB, or when "scripting" a framework, or when preparing for sales of low wage GTD opportunities in international outsourcing business. (This is what differentiates software design from mathematics) Let's say that, seeing A. Perlis and A. Stepanov as professional mathematicians, there is an attitude---surely not theirs---that tries hard to make computation be classified information never to be shown to others. It is a mistake, though, to think that only the "result" of a computation is important, in that all of the computation affects "world". When and to what extent does this "extended result" affect {plan, system, supplier, customer}? Can you sell the effects? This is a challenging research topic for mathematicians specializing in programming: - to not exclude operations' effects from function specifications (yes, specifications; it is partly done already when their descriptions mention amortized cost) - to include more effects of operations when describing results. Counted strings, then, serve the attitude that tries to indeed move education under the carpet (compiler), and for strings only. (Because, then, you don't _need_ to teach all those things that make counted strings work, and you move on to the _important_ stuff...) > Furthermore your example tries to allude to what might be a long term effect of counted string equivalents on professional programming if you use them in education, which you had explained further.