[Gllug] OT(ish): Advice

Simon Stewart sms at lateral.net
Thu Dec 12 18:17:23 UTC 2002


On Wednesday, Dec 11, 2002, at 01:27 Europe/London, Mike Brodbelt wrote:
> I must admit that this has always confused me. I see the point of Java
> in client-side applications, where the cross-platform nature of the
> software is very useful, but Java on the server is another matter.

Okay. Ever since I used Java on the client side, I've been of a 
slightly different opinion ;)

> Is there any actual reason why I should choose to run server side
> software on my web server, where I control the platform, in an emulated
> environment guaranteed to slow everything to a crawl? Is there any sane
> reason to choose Java over, well, *anything* else that's not running in
> a JVM? I'm genuinely curious as to why so many people seem to have
> bought into servlets, and I can only currently rationalize by assuming
> that Intel are brainwashing people......

First of all, your comment about java being slow is demonstrably 
specious. Startup times might suck, and you could get bitten by GC if 
you're not careful, but with a modern 1.4 JVM it flies. Now, if you'd 
mentioned memory consumption, that would be different, but then again, 
memory's cheap :)

In a word, the "official" reason why people have bought into servlets 
is "scalability" The idea is that you start small on a little i386 
Linux box, and then you take the same application (no rewrites) and 
move to a more powerful machine. When you out-grow the performance 
offered by Intel, you can move to bigger iron, or perhaps to a 
clustered environment. All with the same app --- you don't need to 
start tweaking it. That's the theory.

I used to hate Java. Really loathe its verboseness. I was disgusted by 
its performance. But it's grown on me. I like it that I can take the 
work that I've done on my linux box at home, demonstrate it on to my OS 
X laptop and then run it on a Solaris server without making any changes 
to the code (not even a recompilation) That rocks. I like the huge 
wealth of tools that encourage me to become a better developer, from 
such simple things as junit and commons-logging, to frameworks such as 
WebWork which help simplify app development, to really capable IDEs 
such as Eclipse and IntelliJ's IDEA (which does a pretty neat job of 
refactoring code)

As a developer, then, java has the advantage shared by languages such 
as Perl in that it has a vast and sprawling collection of pre-written 
libraries and tools that do some task and do it well. It's got a 
"professional" image, which perl lacks, and which makes me more 
employable (this in no way disparaging Perl, a language that I've stuck 
up for to Java zealots before) I'm not tied to one vendor (IBM provide 
some of the best java tools, compilers and JVMs) In short, Java is a 
comfortable place to work.

Speedwise, even from reasonably low end hardware I've managed to get 
some pretty serious performance out of the language. It runs on my 
favourite OSs, and I know that when I hand some work to a client, as 
long as it's in pure java, it'll work on theirs too.

And I'll be honest, it's not MS. Others on the list will no doubt make 
this point more articulately then I, but until they have a significant 
track record of supporting more than just their bottom line with proven 
illegal arm twisting, it's going to take a lot to make me want to touch 
their stuff. So I'm a bigot. Shoot me.

OTOH, there's lots that Java can learn from c#, and I think that those 
lessons will be learnt a lot faster than might otherwise be expected. 
And if you wave "it's not native" in my face, and slap you around with 
the CLR ;)

Cheers,

Simon


-- 
Gllug mailing list  -  Gllug at linux.co.uk
http://list.ftech.net/mailman/listinfo/gllug




More information about the GLLUG mailing list