[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