comp.lang.ada
 help / color / mirror / Atom feed
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


  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