There’s been a lot of hype lately over this new fangled paradigm known as Aspect Oriented Programming. You might have heard it mentioned on another blog or in some technical article on the fringe of the mediaverse. You probably scratched your head and skimmed over the article, not certain what to make of the whole thing. That’s what I did the first time I came across it. The second time, I didn’t even bother reading. But these kinds of things tend to snowball after a while. A little reference here, a comment there, and a bunch of feedback from real users eventually gets your attention. So when you’re a guy like my at a company like this, you have a duty to bone up on new trends, to make every effort to rationalize new ideas and to eventually determine if these new things get folded into the product or not.
So I did some research last week and came to some sort of opinion on the whole matter. To tell you the truth, this new Aspect-Oriented thing has a lot of goodness for the programmer. The gist of it is the ability to align fragments of your program (orient them) around different Aspects (qualities or representations). These blocks of code then become molded by their governing Aspect when the code is fully compiled, transforming them and their environs into something much greater. Your code automatically takes on powers attributed to it by its chosen Aspect.
This is really a revolutionary new way of looking at programming. I mean, before this I just assumed all code was neutral, behaving only as explicitly stated. But now everything is different. Now your code can be aligned to a higher power.
The only problem you have is in deciding which Aspect to choose from. I know there are not that many available yet, as there are only a few listed in the reference material, but some have goodies you just can’t pass up. I mean, take a look at the Aspect of Bane. That guy is pretty nasty with an aura of fear and 10 foot reach. Orcus is even better; Blindsight, Cleave and Death Blow. I definitely wouldn’t want to mess with any code owned by the Aspect of Lolth either.
The only thing that really bugs me, is that so far the trend is for all the Aspects to represent evil gods. Is this just some wacky coincidence, or is there deeper meaning here? Sure, you could suspect by inference that all software developed by the Evil Empire would retain some residual evilness, but could that be the norm throughout programmer-dom?
And certainly, there are going to be many programmers out there that just won’t desire to have their code adopt a religion (albeit fictional) that is different from their own. Sure, many programmers are gamers too, but should the two mix? You know what they say about business and pleasure.
But I digress