This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: AspectG++ ?


On Fri, Feb 18, 2011 at 01:56:47AM -0800, David Lanzendörfer wrote:
> Hello Folks
> You certainly know about aspect orientated programming.
> http://www.aspectc.org/
> Is there any chance that this will ever be integrated into official gcc?
> Would be cool to define aspect because it would make your code much smaller
> and more readable. Additionally it comes in very handy if you wanna debug something.

The following is just my opinion and others may disagree, but I don't
think it's a good idea because I think that the costs would greatly
outweigh the benefits.

OK, let's assume that the Aspect C++ group contributes a beautifully
engineered set of extensions to g++, meeting all the coding standards,
done with great style and with a large regression test suite, properly
legally assigned to the FSF.  Great code, slap the GNU label on it and
ship it, right?

But then there's the issue that there is no rigorous specification
(at the level of a draft ISO standard) for how the Aspect C++ features
interact with all other C++ language features (templates, exceptions,
rvalue references, the standard library, etc), and the fact that the
user community is microscopic as compared to existing GCC-supported
languages.  Then there's the question of how long we would have a
skilled maintainer.  It's an academic project.  It's a decade old and
still around, but all the publications are from one research group,
which might eventually move on to some other project.  In the meantime,
g++ developers who don't know Aspect C++ will face the problem that
their checkins break a language that they don't understand.

If, on the other hand, the language really catches on, to the point
where part or all of Aspect C++ gets into future standards for ISO
C++, this of course changes everything.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]