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=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,29d8139471e3f53e X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!feeder.news-service.com!xlned.com!feeder1.xlned.com!news-out2.kabelfoon.nl!newsfeed.kabelfoon.nl!bandi.nntp.kabelfoon.nl!npeer.de.kpn-eurorings.net!npeer-ng0.de.kpn-eurorings.net!newsfeed.arcor.de!newsspool4.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Fri, 17 Sep 2010 10:45:48 +0200 From: Georg Bauhaus User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.9) Gecko/20100915 Thunderbird/3.1.4 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Securing type extensions References: <87iq2bfenl.fsf@mid.deneb.enyo.de> <66a3704c-54f9-4f04-8860-aa12f516134b@t3g2000vbb.googlegroups.com> <87d3sib44t.fsf@mid.deneb.enyo.de> <134q4k2ly2pf4$.17nlv1q6q5ivo.dlg@40tude.net> <4c8dec8e$0$6990$9b4e6d93@newsspool4.arcor-online.net> <4c8e3f44$0$6769$9b4e6d93@newsspool3.arcor-online.net> <4c8e87f8$0$6877$9b4e6d93@newsspool2.arcor-online.net> <4c8f4833$0$6763$9b4e6d93@newsspool3.arcor-online.net> <2ka8sfdvyvil.1k714obgzgj3a.dlg@40tude.net> <4c8fe6ad$0$6759$9b4e6d93@newsspool3.arcor-online.net> <1dd5fjdnyl5ek.1ju0bvot51loy.dlg@40tude.net> <4c9130f6$0$7656$9b4e6d93@newsspool1.arcor-online.net> <1rzqpilsu35mh.dzxeefhdmt1s.dlg@40tude.net> <4c920504$0$6767$9b4e6d93@newsspool3.arcor-online.net> <9d43s5gucfe8.1llq6tdbd4e0h.dlg@40tude.net> <4c9283cc$0$6977$9b4e6d93@newsspool4.arcor-online.net> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <4c932abd$0$6987$9b4e6d93@newsspool4.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 17 Sep 2010 10:45:49 CEST NNTP-Posting-Host: 3517c2c0.newsspool4.arcor-online.net X-Trace: DXC=_=ggfkQ5ciB[kmHKHnaEnM4IUKejVHLDZi^Zf2^PB1`2nM2^Q@ On 9/16/10 11:37 PM, Dmitry A. Kazakov wrote: > On Thu, 16 Sep 2010 22:53:32 +0200, Georg Bauhaus wrote: > >> On 9/16/10 2:45 PM, Dmitry A. Kazakov wrote: >> >>>> Party X made a library, L, of O-O types, abstract or not. >>>> Party Y extends a type in L, say T >>>> >>>> I'm talking about how X and Y can trust each other before >>>> X licenses the library and before Y writes an extension. >>> >>> They need not. >> >> OK, each party to a legal contract may chose to not care >> about the consequences of joining untrusted partners in software. > > You missed the point, I wonder if we are moving in the same plane at all. ;-) > there is no such relation between specification > (class of L) and implementation (member of the class). There is one between > a client and the provider of an implementation. -- Toulouse: package X.L.A is type T1 is tagged private; -- description, ops ... end X.L.A; -- Hamburg: package X.L.B is type T2 is abstract tagged private; -- description, ops ... end X.L.B; Company representatives from Toulouse and Munich sign a legal contract about terms and conditions for use of X.L. -- Munich: with X.L.A; package Y is type T is new X.L.A.T1 with private; -- overridings ... end Y; I am trying to understand what you are referring to using "class" and "spcification" and "implementation". (When I said something about company representatives signing a legal contract about software and why they feel they can trust each other to a certain extent ...). Is "class of L" referring to {T1'Class, T2'Class}? What are the clients and implementations in X.L.* and Y, respectively? Is there a relation of (some) trust (state of a human being) between Munich's Y.T programmers/managers and Toulouse's X.L.A.T1 programmers/managers? >> The purpose of signatures put under a software contract >> is to express something related to trust and mistrust. >> Typically, there is a sentence like "we cannot be held >> responsible for ... the usual stuff you have in software. >> But otherwise, ...". > > I see, when you sign up to a no-warranty software licensing agreement that > generates a huge amount of trust! Not to me, I know they swindled me again. I see no reason to sign a contract absent any kind of obligation. Here's an example of trust, showing that trust is not a binary thing (as "trust more than" indicates): A thief engineer (E1) plans to rely on a few other thief engineers (E2, E3). They plan a technically challenging robbery. On site, E2 performs almost as expected, the robbery succeeds, but E2 runs away with half of the haul when he was supposed to carry one third. Partial success. If and only if E1 and E3 can live with the result, trusting E2 was justified, whatever the concerns may have been, or will be. > Do *you* trust Microsoft? The one thing that does not matter in discussing general rules should be one's own specific attitude. Visual Studio is *of* *course* changed in incompatible ways! You known that when you buy, you can trust they will have made a few changes of this kind. This is two-party business, not one-group cooperation! Interests will differ. When dealing with MS products, many swear and curse, hate them, the hatred being extended to Microsoft, but they nevertheless buy because they trust programming with MS VS will still provide for a living. A good opportunity to remember the huge value of standardized languages, and competing implementations, BTW. > Engineering is applying science to solving technical problems. Which does not define engineering at all: there is no one way to "apply" (whatever "apply" might mean) the one and only "science". Science, a term, I think, that is defined only when engineers feel they need to make a gesture of competence. What we do when programming is between science and the ideal of engineering. Between science and engineering lies _craft_. There is a preferred scientific method, there are scientific results, some of them brittle, some preliminary, some rather vague, many temporary. Craftspeople deal with this. If you remember the varied qualities of craftsmanship... Which brings us back to software libraries and type extensions. Georg