More a Cola war than a Holy war
The other day, someone posted a vague question to a mailing list I read, asking for recommendations between J2EE and .Net. My natural instinct was to point them to justfuckinggoogleit.com.
After a couple of days bubbling inside my head, this was my reply:
I’ve been thinking about this more since Tuesday; not least because I spent this morning listening to a Microsoft presentation about their Enterprise Library, which is pretty much to .NET what the Jakarta Commons is to Java.
Those of you who know me, know that I hate the use of piss-poor analogies in tech arguments. If I hear a sentence beginning “If you think of your website as a car…”, I stop listening and reach for the clue-stick.
That said, in 2005, the difference between J2EE and .Net is approximately the same as the difference between Coke and Pepsi. People have their preferences—some strong, some not caring too much—but at the end of the day, they’re the same damn thing.
Coca Cola is not a manufacturing or distribution company—First and foremost, it’s a marketing company. They sell us all on the image that Coke is a youthful, sexy product enjoyed by American Idol judges.
Apparently, Britney Spears, Beyonce and Pink fight Gladiator-style over Pepsi.
But—let’s face it—they’re both brown, carbonated sugar-water that caffinate you, rot your teeth and make you belch.
If you choose .Net, you’re buying into the marketing myth that because everything’s coming from Microsoft, it’ll all integrate together nicely.1
If you choose J2EE, you’re kidding yourself that you’re a rebel, breaking away from the “Evil Empire”.2
But they’re both just near-identical platforms with their mish-mash of syntactically-similar languages, databases, application servers and IDEs. And when it comes to scalability, either one lets you shoot yourself in the foot and write SQL calls in the middle of your HTML page.
It’s Horses for courses, except both horses have six legs and no heads.3
The platform decision and the end result really comes down to people. What prior experience do your developers have? What OSes do your sysadmins feel comfortable with? Is your CTO a raging “Anything but Microsoft” bigot?
The simple fact is: If your architect doesn’t have the experience, or your development team is a bunch of muppets, then you’re screwed regardless of the platform.
Me? I code in Python4, because I kid myself that that somehow makes me more agile, when really it just means that I don’t find typos until runtime.
Rod.
1 Speaking as someone who had to integrate Windows 2003, Commerce Server 2002, BizTalk 2004 and SQL Server 2000, I can tell you how painfully untrue that statement is. Thank god MS seemingly took 2001 off. They were probably too busy re-naming all their products ”.net”
2 Never mind that Sun, IBM, Oracle, BEA et al would gladly suckle from the dry, salty teat of Satan Himself if they thought it would help them beat earning estimates this quarter.
3 See what I mean about piss-poor analogies?
4 And I like Diet Pepsi. It’s the choice of a new generation, dontchaknow.