Slashdot Mirror


Aspect-Oriented Programming Considered Harmful

kupci writes "The 'x considered harmful' cry is a little overused, but there is a Forrester report that discusses some of the pro's and con's of Aspect-oriented Programming, and includes some interesting links. It is mainly based on papers from the University of Passau. It's worth it just for Clark's 'COME FROM' article." From the article: "Aspect-oriented programming (AOP) is intended to address common problems that object-oriented programming (OOP) doesn't address well, plus some problems that OOP itself created. However, AOP is a risky solution: It is a very generic mechanism for solving some very specific concerns and has been likened to a kind of "GOTO" statement for OOP. Like GOTO, it can cause more harm than good."

14 of 470 comments (clear)

  1. Of course by ravenspear · · Score: 4, Funny

    The only thing worse would be GOTO + OOP, which of course = C++

  2. Considered... Harmful? by Mancat · · Score: 3, Funny

    Really, I did read the article, but the headline is kind of discomforting. I mean, how is it harmful? If I were reading this headline while writing aspect-oriented code, should I stop immediately? I wouldn't want to die, you know. If I'm going to die, Slashdot, you need to let me know!

    --
    hello dear sirs my name is jamesh i are india (bihar) can u guide me install red had linux 9?
  3. NEWS FLASH by ZorbaTHut · · Score: 3, Funny

    Useful technique, chemical, or product can be dangerous when misused! With this groundbreaking announcement, aspect-oriented programming joins up with jet planes, oxygen, razor blades, and almonds. Scientists urge all Americans to avoid anything that could, in any way, be harmful to anyone, and the government will begin production of mandatory Full Isolation Spheres (tm) within the week.

    --
    Breaking Into the Industry - A development log about starting a game studio.
  4. Re:Good primer on aspect-oriented programming? by Alien+Being · · Score: 5, Funny
  5. Angry Flower by maxjenius22 · · Score: 3, Funny
    1. Re:Angry Flower by wootest · · Score: 2, Funny

      Or "Angry Flowers Considered Harmful".

  6. It's not considered in the context of OOP by ravenspear · · Score: 3, Funny

    Because OOP purists would mysteriously erupt in convulsive fits mixed with violent outbursts of anger resembling a sex crazed bigfoot/unicorn hybrid if you actually used a GOTO statement while writing OOP code.

  7. Re:Reminds me of my teen years by Fjornir · · Score: 3, Funny

    C:\>copy con autoexec.bat
    @echo off
    echo ^G^GSYSTEM ERROR
    autoexec.bat
    ^Z
    1 file(s) copied.
    C:\>copy con t.bat
    echo Fuck you.
    t.bat
    ^Z
    1 file(s) copied.
    C:\>t.bat

    --
    I want a new world. I think this one is broken.
  8. Re:$250 to read the article by Anonymous Coward · · Score: 1, Funny

    But can this be considered proof that the editors did not read the article either?

  9. That's ok. by Some+Random+Username · · Score: 1, Funny

    Some people pay hookers to take cheese graters to their johnsons, so you are in good company.

  10. DSL? by tepples · · Score: 2, Funny

    What haskell infact lets you do with its IO monad is construct instructions for a separate IO interpreter (that is not pure) within the Haskell runtime. It is a kind of DSL (domain-specific language), a concept that is used a lot in Haskell programs.

    Then what are the impure languages? Dial-up?

  11. Re:$249 by bryan986 · · Score: 2, Funny

    Our Money-Back Gurantee If you are not completely satsified with your research document for any reason, you can return it for a full refund within three weeks of your online purchase.

    --
    There is no sig
  12. classic newbie blunder by Anonymous Coward · · Score: 5, Funny

    You've attempted to assign C++ to a complex left-hand-side expression (GOTO+OOP). This is a classic blunder. What you probably meant was: "GOTO"+"OOP" == "C++".

    In addition, you're overloading the use of strings to have orthogonal meanings, which is frowned upon. After all, using the standard string operator overloading, your left-hand-side "GOTO"+"OOP" is simply "GOTOOOP", which is clearly not equal to "C++" -- a good comment compiler would notify you that this expression always evaluates to false. A further refinement would be to introduce your own class and write the expression as:
    LanguageFeature("GOTO")+LanguageFeature("OOP") == LanguageFeature("C++").

    In the future, I hope slashdot will provide a better comment compiler that can automatically detect such simple mistakes.

  13. Re:I like GOTO! by Anonymous Coward · · Score: 1, Funny

    Here are some clear reasons why Go To is harmful:

    The first quote is from Shakespeare, "go to, go to; you have known what you should not do". You know you shouldn't be doing it but it you do it anyway.

    The second quote is from Genesis: "go to, let us go down, and there confound (confuse) their language, that they may not understand one another's speech.". Clearly this foreshadows spaghetti code.

    The third quote is from Mikado: "Young man, despair,: Likewise go to,; Yum-Yum the fair: You must not woo. It will not do:: I'm sorry for you," This shows how truly deceptive the "go to" is because that's precisely what he ends up doing in the next line.

    Since testimonals from well known sources are better than facts, it's obvious that you should not use "go to".