Tuesday, March 28, 2006

Technobabble

Today I am going to talk about my job. Not work i.e. the place I go to everyday but my actual career.

I'm a computer programmer. My 'specialty' (in sofar I have one) is database and database integration. So basically storing information and getting it out correctly.

Today I went to a Sun Java Developers' Conference. Now I don't have a lot of experience with Java, but it is featuring pretty big in the future at work, which is why I went.

Now I don't have enough experience in either Java or C# so I can't make a side-by-side comparison. But what I can comment on are the huge cultural differences.

It strikes my very hard that Java is built by developers for developers. It's pretty much open-source (along with the plethora of tools available for it) which means that it gets alot of review by people who will actually use it. From what I know and see, it's not a silver bullet by any means, it has had it's past face-plants (anyone remember the "Java Appliances" of the mid-90s?) and still has a bad rep of being slow and clunky to deploy.

Microsoft on the other hand is very, very closed on how it actually implements its development languages and tools. Whenever I've met with a Microsoft rep, the sales pitch is "It's Easy!", which never really turns out to be the case. Granted, .NET has made leaps and strides with it's new IDE, but the impression from my fellow geeks (and me) is that it's finally doing what was promised 10 years ago.

Add to that, MS has its "stars": Bill Gates, Steve Balmer etc. The Java community, not so much. It's a "we're all in this together!" mentality. Add to that, Java "culture" has it's jokes (granted, very geeky) and sense of humour. Microsoft on the other hand is very straight-faced (at least publicly). And the approach seems to be "Don't worry, we know what's best for you, we're Microsoft!".

Now add to that the second delay to Vista. Rumour has it that they need to re-write up to 60% of their code: the part they wrote in .NET. And there's alot of anonymous criticism from (supposed) MS developers and testers, rumours of major management purges etc. Kind of reminds me of IBM 15 years ago or so.

But as a programmer, the biggest difference is the way they approach technology. Java is still pretty much Java. Sure, it's changed a bit but the basics are the same. All the tools work off the core Java with no problems (okay some problems as I found out today). MS on the other hand has the notion that everyone on the planet should replace all of their software every five years; the operating system, the user applications (Office, etc) and their programming languages. If you don't, you don't get the benefits. And the backlash is starting I think.

I will never be a fanboy (okay, never a ravening, crusading fanatic). The right tool for the right job. But I think MS's strategy is backfiring in the name of trying to keep a monopoly.

What did Princess Leia say? "The more you tighten your grip, Tarkin, the more star systems will slip through your fingers ..."

Rocket Surgeon

So a couple of things hit me today.

1) I should go back to learning to write games in Java. Apparently the market is huge.
2) I should not base it on Rocketmen!. I do have an idea or two for a space-battle game that have been knocking around notebooks for years and with the stuff I saw today, would be very easy to write.

No comments: