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.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,b076e6315fd62dc5 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Received: by 10.68.220.230 with SMTP id pz6mr16420496pbc.3.1337621083478; Mon, 21 May 2012 10:24:43 -0700 (PDT) Path: pr3ni21525pbb.0!nntp.google.com!news1.google.com!goblin2!goblin.stu.neva.ru!aioe.org!.POSTED!not-for-mail From: NatarovVI <4KCheshireCat@gmail.com> Newsgroups: comp.lang.ada Subject: Re: fyi, very interesting Ada paper OOP vs. Readability Date: Mon, 21 May 2012 17:23:24 +0000 (UTC) Organization: Aioe.org NNTP Server Message-ID: References: <1ir29foizbqv1.v9uuhpykjl3n.dlg@40tude.net> <1qkmythqujvoa$.h4megbum9r4c$.dlg@40tude.net> NNTP-Posting-Host: TNf0rmM5b4cIzEdXORLLAg.user.speranza.aioe.org Mime-Version: 1.0 X-Complaints-To: abuse@aioe.org User-Agent: Pan/0.135 (Tomorrow I'll Wake Up and Scald Myself with Tea; GIT 30dc37b master) X-Notice: Filtered by postfilter v. 0.8.2 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit Date: 2012-05-21T17:23:24+00:00 List-Id: > ADT was. in russian - ���������� ������ > A poor abstraction also, because it fails to capture any types > relations, beyond trivial containment. do you really need other relations? type is builded from set's. > How? directly. parent, changing youself, can do any changes on child functions. child incapsulation broken, because it contains parts defined elsewhere. and it is not rigorously defined containment, it's much stronger glue. that is bad. there is no more parent and child objects. there is now one, parent-child object. big and complicated. and developed by more than one programmers independenly. > Containment breaks information hiding principle, separation of interface > and implementation, incapable to express referential semantics, enforces > tree-like structure of objects, break proper abstraction of semantically > integral types ... should I continue? nope, all remains isolated in "subcontainer". and if we change it, "subcontainer" module interface changes and clients see it. what bad in tree-like? sure you may continue)) i also may say - i know "karate", "ju-jutsu"... and many other cool words)) but all that words not changed my words. > How reading can be context free? here is difference i talked about. when you read non-polymorphic prog, you have "one static context" - language definition. you constantly use it and know it. in polymorphic prog you must also know and remember parts of program with poly-func definition. and remember, which definition (from all definitions) in action now. one part is no bad. but when such parts from libs interfered combinatorically...mmm door to wonders open)) > Type are not forms of program. types represents categories of expressions. program steps changing data's. and their types makes very simplified representation of program steps. "get int and int, return float". type is socket-standard for expression jack. > Data does not exist without types, moreover they do not exist without > the agents interested in these data. In a larger context there are only > values, sets of values, types (sets of values bound by operations defined). not exactly. data exist independently. then we attach types to it and can do operations (of type). one data can have more than one type. and operations can be varied with time. f.e. integer or natural or even. (types can contain other types) and one type can be attached to different data. > Data is a definite state of some input to some program. That state is > described in terms of values of defined types from the problem domain. > So 2 could be data for the left argument of integer +, or an ASCII > character STX, or standard output descriptor, or whatever. yep. data exist independently, and we attach types to it at any time. and make propositions and state invariants from that moment.