2.4 Servlet Spec Reviewed
Greg Wilkins writes "Core Developers Network have reviewed the good, the bad and the ugly of the 2.4 servlet specification being produced by JSR154
.
As well as introducing the new features, those that are missing in action are discussed. Also existing and newly added problems in the specification are presented."
I hope this is the caliber of work I can expect from CD in the future. These are the folks that left the JBoss Group after the incident concerning Apache's launch of the Geronimo J2EE server project (do a google search on "elba jboss geronimo" if you're interested in learning more about the incident). This is an excellent article on a very timely subject. I wish all new technical specifications had such a thorough analysis of their impact upon their release. Thanks, Greg Wilkins!
--Be human.
I cannot believe I'm going to argue for Java....
Java's main strength was supposed to be platform independence. However, due to missteps by Sun and backstabbing by Microsoft, Java has been relegated to the back-end of a web page, running under Unix. In this client-server architecture, speed is crucial, and Javas bytecode doesn't cut it.
Although I would argue that Java's OO implementation is also it's main strength, but platform independence is also a big deal.
Microsoft's antics only really prevent Java Applets from becoming a much bigger thing than they are today. In any other client-side Java deployment you can be sure the JRE ships with the app, is installed on the client machine by the sys-admin (corporate environment) or the installer handles JRE installation for you.
If you truly believe that Java isn't platform independent, go look at any of the numerous Java Apps that have been written. Notice how they run on Windows, Mac, Linux and Solaris? That's not a typo. Here is one if you're too lazy to look yourself.
Native binaries are the only way to get the speed necessary in the post-.com days
This is also wrong. One need only look at the rapid proliferation of languages such as Perl, PHP, Python and (duh) Java as evidence. Asm/C/C++ have their uses - but to use them for everything should get you fired.
Fortunately, Linux is FREE (as in herpes and porn)and makes commodity hardware perform as well as enterprise offerings from Dell, Compaq, IBM, etc.
Linux is an operating system - Java is a programming language. What are you trying to compare? Funny thing is, the Linux and Windows JREs are usually ahead of the solaris JRE - because more java users use... well, Linux and Windows.
Furthermore, all major unices (AIX, SCO, *BSD, HPUX, Solaris, etc) include linux binary support, so linux binaries are more platform independent than Java is.
Wonderful - so your app will run on all these different flavors of UNIX... just slower. Where as the JRE was built for the OS and does not need the same kind of translation. On top of that, it can take advantage of OS features a Linux binary may not be able to.
Oh yeah - and Java runs on all those platforms plus Windows. So by sheer numbers Java is more platform independent.
Java - saves the developer's time at the cost of the user's time. No thanks, I take pride in the end result of my work.
Did nobody else realise that the actual language/technology this story is talking about is missing?
Is this some attempt to make people actually read the article, by providing a vacuous, content-free prescis?
"Elmo knows where you live!" - The Simpsons
You say Java runs on Linux, but what you really mean is that it runs on x86-linux. It's not open source software, and hasn't been ported far and wide like gcc, tcl, python etc... Maybe gcj will change that, despite the fact that most Java people seem to not be very concerned about running on a non-free platform.
http://www.welton.it/davidw/
What major flavor of Unix does Java not run on? AIX? Check. Solaris? Of course. Irix? Check. MacOSX? Check. PPC Linux? Check. BSD? Check.
As for the non-free bit, Java runs on MacOS X, Irix, AIX, and Windows. I'm sure there are more ports, but that covers all of the major OSes that run server-side software. J2ME even runs on tons of telephones and PDAs.
I'm not sure what your point is. But it seems like your information may be a bit out of date.
--Be human.
Debian runs on the following architectures:
68k, sparc, alpha, arm, mips, hppa, ia64 and s390 in addition to 'sh' and opteron.
I do not believe that there are non-free (i.e official) java versions available for many of these.
Also, looking around, it appears that PPC Linux doesn't have the latest Java.
BSD - FreeBSD does have Java, IIRC, but how about Net or OpenBSD? On something other than Intel?
My point is that Java the implementation (as opposed to just the language which of course is quite portable) is not yet nearly as portable as a lot of other common software.
http://www.welton.it/davidw/
An HttpServletRequest should really handle multipart/form-data requests right out of the box. I shouldn't have to merge in some third-party software if I want BRL to support file uploads. Why has it not yet been standardized?
Not true, the source is openly available. It may be non-Free by the FSF definition, but it is certainly not closed.
When we talk about Open Source, we don't just mean that the source code is available, we mean something along these lines:
http://www.opensource.org/docs/definition.php
which is pretty similar to what the FSF defines as 'free'.
http://www.welton.it/davidw/
My servers and my workstation support Java. Works 100% in my environment. That's all I need to know.
Just becuase Java doesn't run on my C=64 or my microwave oven doesn't mean I'm going to stop writing my servlets in Java.
And you know what? Those obscure platforms that it doesn't run on are small markets anyway.
Please consider making an automatic monthly recurring donation to the EFF
I do not believe that there are non-free (i.e official) java versions available for many of these.
There are free versions.
You sould use the term "OSD-Compliant" or something that can be legally protected. Promoting an non-trademarked term like "open source" only plays into the hands of your enemies.
than Java servlets 90% of time, and much simpler to write and maintain.
The fact is that "Hello World!" is the only platform-independent Java application. Everything else MUST BE carefully tested and most likely patched to adapt on next platform.
Less is more !
And when I asked about non-Java servlets I mean it: servlets written without any usage of Java. So Jython won't be an answer for my question.
Less is more !
What worries me most about Java is its future. I'm concerned that the flurry of third-party code generators along with the addition of meta-tags is going to kill Java's code-portability and become a rich source of third-party vendor lockin. I'm afraid that code written by one person may be indecipherable to another person due to reckless inclusion of obscure meta-tags.
Does anyone else see this as a problem? When you follow the "code as the primary development document"-doctrine as I prefer to do, I want to be able to read every line of the actual source code. Then I want to be able to compile the primary document-- the source code. When using meta-tags the code itself is instantly readable by the person who wrote it, but the compilation process becomes fragmented into layers of pre-compilation. The code itself is no longer portable this way.
Sorry, this is incoherent, but its my daily slashdot-with-first-cup-of-coffee wake-up time.