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!mx02.eternal-september.org!.POSTED!not-for-mail From: "G.B." Newsgroups: comp.lang.ada Subject: Re: Things that OO programming lacks Date: Mon, 17 Nov 2014 16:17:59 +0100 Organization: A noiseless patient Spider Message-ID: References: <87389olqie.fsf@ixod.org> <10d9w.55626$8w1.22302@fx12.iad> <150er0b62wsh3$.1xabmp81w5kdw.dlg@40tude.net> <1azsoc77wjhmi$.1grmnnlq033tz.dlg@40tude.net> <5yzci4a8snfg.1dfsqjyvneeym$.dlg@40tude.net> Reply-To: nonlegitur@futureapps.de Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Mon, 17 Nov 2014 15:17:44 +0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="b96887e80893c84a90c3007226ca0d1c"; logging-data="6608"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19TFwzYoqlynIjGmLvlkm6psPSLgOH8xtE=" User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 In-Reply-To: Cancel-Lock: sha1:cjQ8IvSAmux2OH2ajD1Km6WMPQQ= Xref: news.eternal-september.org comp.lang.ada:23471 Date: 2014-11-17T16:17:59+01:00 List-Id: On 16.11.14 11:18, Dmitry A. Kazakov wrote: >> I mean our objects, not OO objects. This is about expressing notions. > > There is no "our objects" in non-object-oriented paradigms. [...](*) To establish a paradigm of something that does not exist yet seems premature. What does exist, though, is a problem of expressive incompleteness. Here is the situation: there always are questions about what the heck happened as a consequence of the execution of a program, e.g. failure. The questions are formulated in a language used by companies, by heads of departments, by customers, by lawyers etc. These need to be answered, and the answer will, at some stage, involve the programmer. A good PL will provide for answers with the help of dedicated source text. That's the idea. If you find that a truism, I wonder why nothing changes, but in any case, it won't stop scrutinizing the facts. (The idea is thus not to start with some paradigm at the level of finished formalism.) For example, an FSM situation (cf. Niklas' post) that could be bridled by narrowing the error space with the help of new language seems clearly better than trying to find the cause by divide and conquer. >> If Obj_1 and Obj_2 are objects, then I would like the language >> to have syntax, say "(*)", for >> >> Obj_1 (*) Obj_2 >> >> which would *not* be a function call. > > Then these are not objects. The only thing you can do with objects is to > use the operations of. This is called typing. Let's say you can't think of any interpretation of Obj_1 (*) Obj_2 other than in terms of operations of the types of Obj_N. Is this reason enough to say that other interpretations are impossible? In particular, they could reflect the intention of introducing (*). (ow would any paradigm have been created if its creators would have had to start from the paradigm? __ (*) Objects are inevitably part of thinking when programming, even before all OO-related notional strictures applied to the word. Engineers would never arrive at anything new if they just re-iterated learned procedures.