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 X-Received: by 10.36.81.149 with SMTP id s143mr5351376ita.7.1520907115176; Mon, 12 Mar 2018 19:11:55 -0700 (PDT) X-Received: by 10.157.22.195 with SMTP id s3mr581292ots.13.1520907115035; Mon, 12 Mar 2018 19:11:55 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!border1.nntp.ams1.giganews.com!nntp.giganews.com!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.am4!peer.am4.highwinds-media.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!e10-v6no1467577itf.0!news-out.google.com!a25ni4151itj.0!nntp.google.com!e10-v6no1467576itf.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Mon, 12 Mar 2018 19:11:54 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=47.185.233.194; posting-account=zwxLlwoAAAChLBU7oraRzNDnqQYkYbpo NNTP-Posting-Host: 47.185.233.194 References: <1aac45bf-2baf-4ca5-9cb5-07e1748ff6b4@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <7b60b237-e3c1-4d8d-abc5-8b3f9d20e1e8@googlegroups.com> Subject: Re: Trouble translating a C++ data-structure. From: "Dan'l Miller" Injection-Date: Tue, 13 Mar 2018 02:11:55 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Received-Bytes: 3679 X-Received-Body-CRC: 501862229 Xref: reader02.eternal-september.org comp.lang.ada:50951 Date: 2018-03-12T19:11:54-07:00 List-Id: This Wikipedia article on aspect weavers is more lucid than the AOP article= . AOP's aspect weavers excessively emphasize a SQL database-esque join, as= if that is the only game in town. Alphard at CMU preceding the SEI did no= t approach the cross-cutting problem-space that way. Alphard approached th= e topic far less like AOP and far more like multi-stage programming, which = itself is an extrapolation of compiler technology beyond the typical 4: so= urce-code begets in-memory intermediate representation (e.g., AST) begets v= irtual processor's register-set & instructions begets mapping virtual proce= ssor to a particular physical processor's register-set & instructions. Mul= ti-stage programming (and Alphard) inject at least one more =E2=80=98begets= =E2=80=99 generated source code and/or at least one more =E2=80=98begets=E2= =80=99 transformations in intermediate representation. Perhaps the former = there and certainly the latter can perform what AOP does with aspect weavin= g but without emphasizing the SQL-database-esque joins. > Mehdi Saada wrote: > > I suspect also that between the cathedral and bazaar models of=20 > > software development, you prefer the bazaar. Right ?=20 As a software architect much of my professional career, I am cathedral in t= he extreme. Paul Rubin wrote: > From what I can tell, AOP is cathedral in the extreme.=20 AOP is database-cathedral applied to imperative programming languages. Ima= gine something like 3rd-normal form for source code. Hence, AOP contorts t= he topic excessively, and perhaps too limiting. Read all of Mary Shaw's work on Alphard from the 1970s. It approaches the = problem-space that AOP tries to solve from an entirely different perspectiv= e (which the INRIA OCaml community also pursue differently decades later): = little languages. Alphard envisioned the big monolithic PL/I, Ada (then G= reen), C++ (not yet extant then), and so forth as a community of little lan= guages. When viewing it all that way, getting the community of little lang= uages to conform to the specification of a big monolithic language strongly= resembles the problem-space that AOP is (botching) aspect weavers to do, e= specially regarding cross-cutting concerns. https://en.wikipedia.org/wiki/Aspect_weaver