When Copywriters Try To Program

Axe Geeky AdNot that I'm against a bit of cross-pollination, and I certainly enjoy the occasional ad that speaks to my inner (and outer) geek, but if you're going to do it, do it right. Case in point, the Axe ad to the left. On first look to most people it probably seems funny, if perhaps a bit cutesy. Upon closer inspection, though, I suspect most people will recognize the code's flaws, but semantic and logical.

For starters, the call to "understand.this" makes no sense. At best, this would likely return a reference to "understand", which makes it redundant. At worst, it's a compiler error. (Both these comments are, of course, somewhat language dependent.) Next, we all know that using the equals operator (==) can be problematic. Further, it seems odd to compare "you" to "understand.this", which are likely different data types and therefore defy comparison. A more logical and semantically valid statement would be:

  1. if( you.understand( this ) ) {

As well, the call to "get.a.girlfriend" is problematic. For starters, the object/property/call chain makes little sense. While it might be work well as a URL, it is clearly an action and therefore (again) should be a method call, not a property/field call. Notice as well that the call operator (()) is missing, which, while valid in a few languages, is generally not acceptable. Again, the perhaps correct way of writing this would be:

  1. you.get( girlfriend );

Or, perhaps:

  1. you.getGirlfriend();

Or we could go all the way, abstract it out a bit more, and go with:

  1. you.getFriend( Gender.Female, Interest.Romantic );

Rolling that up into a complete block, you wind up with:

  1. if( you.understand( this ) )
  2. {
  3.      you.getFriend( Gender.Female, Interest.Romantic );
  4. }

'Nuff said...

(Thanks to Kelly for the original link to the ad - http://cerium50.niloo.fr/18-10-2008/creatives-ads-volume-3/)

Share me: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • Reddit
  • StumbleUpon
  • Technorati

Comments (9) left to “When Copywriters Try To Program”

  1. Kelly wrote:

    Simply awesome, Jason :P

  2. paul wrote:

    Excellent!

    Thanks for the very concise write-up. Hopefully future geek ads will get it right.

  3. Ian wrote:

    Perhaps they could have gone with getAGirlFriend (); as the copy writers could come back with equal grammatical arguments.

  4. Dave DuPlantis wrote:

    I think it might be better to write

    var girlfriends = 0;
    if( you.understand( this ) ) {
    while( girlfriends == 0 ) {
    you.approach( woman );
    if( you.getNumber( woman ) ) {
    try {
    repeat {
    you.date( woman );
    if( woman.isInterested( you ) {
    girlfriends++;
    }
    } until( girlfriends == 1 or woman.phoneNumber() == null );
    } catch ( ) {
    // hopefully nothing
    }
    }
    }
    }

    Of course there are probably errors in the logic. I haven’t run this code recently.

  5. Binary Code » win = Jason.p0wn( Axe.ad ) wrote:

    […] In which Jason tears apart and then rebuilds Axe’s rather clichéd ad, and in the process makes it funny instead of just dumb: When Copywriters Try To Program. […]

  6. Nek wrote:

    The copywriting on this one sucks in a funny way =)
    You’ve made great work on fixing the errors!

  7. If you can read this get a girlfriend wrote:

    […] formal für nicht korrekt erklärt, analysiert und unter der Überschrift “WHEN COPYWRITERS TRY TO PROGRAM” auch gleich einen saubereren bzw. besseren Code […]

  8. Reba wrote:

    Lol, that’s really amusing. With the errors fixed, the only thing remaining is testing whether the algo actually works.

    Side note: thanks for the creative ads link.

  9. Photography West Palm Beach wrote:

    Photography West Palm Beach

    So I actually did this last minute entry, but I think it came out really well. I just submitted it now, and we’ ll see how that goes! If anything, this is something I can add to my resume for design. (With slideshowpro, the file compressed, so qualit…

Post a Comment

*Required
*Required (Never published)