From: "Dan'l Miller" <optikos@verizon.net>
Subject: Re: Trouble translating a C++ data-structure.
Date: Mon, 12 Mar 2018 19:11:54 -0700 (PDT)
Date: 2018-03-12T19:11:54-07:00 [thread overview]
Message-ID: <7b60b237-e3c1-4d8d-abc5-8b3f9d20e1e8@googlegroups.com> (raw)
In-Reply-To: <b5fe1004-b167-44ae-ab8b-15fa7ef1d3e2@googlegroups.com>
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 not approach the cross-cutting problem-space that way. Alphard approached the topic far less like AOP and far more like multi-stage programming, which itself is an extrapolation of compiler technology beyond the typical 4: source-code begets in-memory intermediate representation (e.g., AST) begets virtual processor's register-set & instructions begets mapping virtual processor to a particular physical processor's register-set & instructions. Multi-stage programming (and Alphard) inject at least one more ‘begets’ generated source code and/or at least one more ‘begets’ transformations in intermediate representation. Perhaps the former there and certainly the latter can perform what AOP does with aspect weaving but without emphasizing the SQL-database-esque joins.
> Mehdi Saada wrote:
> > I suspect also that between the cathedral and bazaar models of
> > software development, you prefer the bazaar. Right ?
As a software architect much of my professional career, I am cathedral in the extreme.
Paul Rubin wrote:
> From what I can tell, AOP is cathedral in the extreme.
AOP is database-cathedral applied to imperative programming languages. Imagine something like 3rd-normal form for source code. Hence, AOP contorts the 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 perspective (which the INRIA OCaml community also pursue differently decades later): little languages. Alphard envisioned the big monolithic PL/I, Ada (then Green), C++ (not yet extant then), and so forth as a community of little languages. When viewing it all that way, getting the community of little languages to conform to the specification of a big monolithic language strongly resembles the problem-space that AOP is (botching) aspect weavers to do, especially regarding cross-cutting concerns.
https://en.wikipedia.org/wiki/Aspect_weaver
next prev parent reply other threads:[~2018-03-13 2:11 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-08 0:37 Trouble translating a C++ data-structure Shark8
2018-03-08 0:49 ` Paul Rubin
2018-03-08 2:33 ` gautier_niouzes
2018-03-09 16:24 ` Dan'l Miller
2018-03-09 22:44 ` Shark8
2018-03-10 3:02 ` Bojan Bozovic
2018-03-10 12:45 ` Bojan Bozovic
2018-03-10 18:10 ` Shark8
2018-03-12 16:07 ` Dan'l Miller
2018-03-12 23:46 ` Randy Brukardt
2018-03-12 19:49 ` Mehdi Saada
2018-03-12 22:26 ` Shark8
2018-03-13 1:22 ` Paul Rubin
2018-03-13 2:11 ` Dan'l Miller [this message]
2018-03-13 19:51 ` Paul Rubin
2018-03-13 23:35 ` Dan'l Miller
2018-03-14 4:28 ` Dan'l Miller
2018-03-14 3:14 ` Shark8
2018-03-14 4:44 ` Bojan Bozovic
2018-03-14 5:10 ` Paul Rubin
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox