Our Marmites

Marmite is a spread available in the UK and a few other countries. If you’ve come across Vegemite, it’s similar. The taste is very distinctive, to the point where anyone who’s ever tried it either loves it or hates it. There is no in between. Whereas representing a persons feelings for certain types of food may require a complicated data structure, for Marmite you’d only ever need a single bit. You get the idea.

The marketing slogan in the UK is “Marmite: Love it or Hate it?”.

I often ask different people what they think about a certain product (for example, a web framework). Usually I’ll get varying feedback, but once in a while I’ll come across something that only gets two categories of answer – “Love it” or “Hate it”. It’s usually accompanied this person getting very excited or angry, going a bit red in the face and thumping the table (in a positive or negative way). There are never any inbetweeners. If people have not actually used a product, I’ll discard their opinion.

These are the Marmites of our world.

Here are some of the Marmites I’ve come across, with typical explainations I get from lovers and haters.

Maven is the Marmite of the build tool world.

  • Lovers: Consistency across projects. Common build layout and tasks. Dependency management. Does lots.
  • Haters: Poor documentation. Need the head a size of a planet to understand it.

Mac OS X is the Marmite of the desktop OS world.

  • Lovers: Beautiful. Stable. Less clutter. Less hassle. Unixy + usability. It’s not Windows.
  • Haters: Forever staring at the spinny beachball.

Ruby on Rails is the Marmite of the web application framework world.

  • Lovers: Ruby. And web sites. And ActiveRecord. And it’s oh so agile.
  • Haters: Irritating fan club. Lack of abstractions can make it hard to evolve larger systems.

Google Web Toolkit is the Marmite of the AJAX world.

  • Lovers: Allows you to use Java instead of JavaScript for building apps.
  • Haters: Allows you to use Java instead of JavaScript for building apps.

ReiserFS is the Marmite of the file system world.

  • Lovers: Excellent performance with many files and big disks. Scales well. Fast recovery through journaling. Uses space effectivley.
  • Haters: Numerous problems with fsck operations corrupting the filesystem. Future uncertain since Mr Reiser was convicted of murdering his wife.

IBM Visual Age for Java is the Marmite of the Java IDE world.

  • Lovers: A magical image of objects that can be navigating, interacted with and modified on the fly. Like Smalltalk.
  • Haters: Uhhmm. WTF is this? Where’s my source code? How do I use this thing? Isn’t this supposed to be Java?

Behaviour Driven Development is the Marmite of the development process world.

  • Lovers: It bridges the gap from requirements understanding to a live running system, with a simple metaphor.
  • Haters: It’s what now? You’ve changed the prefix from ‘test’ to ‘should’ and introduced a few words. Get away from me.

The thing to remember is to never get into a conversation with anyone about a Marmite. Either you will agree with someone and learn very little from it, or you’ll get into a fight.

So to help others avoid these awkward moments, contribute your own list of Marmites here (comments below, or trackback). Criteria: Must be something that everyone who has experience of either hates or loves – there can be no inbetween.

  • Trackback are closed
  • Comments (8)
    • Neil Dunn
    • January 18th, 2009

    Dependency injection

    Lovers: Woo my code has good abstractions and its easy to test. And this framework I found saves me quite a lot of boiler plate coding.

    Haters: What’s wrong with “new”? You exepect me to wire up all my objects upfront? I don’t get these magic xml files and Java annotations. I miss my singleton factories.

  1. REST

    Lovers: It’s simple and scalable and works in 99.99% of the cases. -And the heart of Web 2.0 mashup computing. Just look at Google!

    Haters: It’s just a toy. You can’t do anything serious with it. There isn’t even a schema for it!


    Lovers: It’s the Facebook of SCM. Anyone can cherrypick how they want to freebase and coding becomes a wonderful orgy of love. Anarchy yeah!

    Haters: It’s an ugly MacGyver hack based on Perl, C, Bash and a hodgepodge of random Unix tools that only Linus Torvalds and a handful of hippies understand. The code becomes a total mess when anyone can fork nilly willy.

    • Miranda
    • January 20th, 2009

    Wow, I’m in between RoR and Maven. I love and hate maven equally for those exact reasons. I love and hate RoR because I love Rails(although merb is superior) and I hate Ruby.

  2. Maybe Ruby is a good Marmite? Why do people love or hate it?

    • Neil Dunn
    • January 21st, 2009


    Lovers: It’s so cool. I can see my carbon footprint, all the wonderful places I went for work and all the cool cities I went on vacation.

    Haters: What a pretentious load of old tosh. Isn’t it enough to enjoy the actual travel? Not everyone gets to travel either.

  3. APL

    Lovers: it’s so concise that you think about what to code for an hour and then type it in 10 seconds

    Haters: it’s so cryptic that you think about what to code for an hour and then type it in 10 seconds

    Might not be a Marmite though as most people of Joe’s age have never heard if it.

    • Raoul Duke
    • April 15th, 2009

    @Neil and DI

    i think that is not a good “hater” description, it sounds like it was written by a “lover” and not by somebody who was really considering what problems di might have, especially in languages other than, say, Java/C#.

  4. Real Options

    Lovers: Its about decisions which means its about everything.

    Haters: Its about decisions which means its about everything.

Comments are closed.
%d bloggers like this: