Web-Based Java Compiler Service
TheSync writes "Ronald Tschalär has set up a Web-based Java compiler service. Just type in your source file names and the JDK you'd like to compiler them with (1.1.8,1.2.2,1.3.1 or 1.4.1), and hit "compile." This makes getting started with Java easier, since you don't have to get the whole JDK."
the older jdk's are smaller, but it's still 8-10 megs for jdk1.1.8. Plus it's hard to find the link on Sun's jdk archive site. the page is useful, but you'd be better of d/l the jdk or buying a java book that comes with the jdk.
The obvious solution is to provide some kind of download manager (as Netscape and Real now do). Or organize the Java SDK into smaller independent packages. Or allow outsiders to start up mirror sites overseas. Or... But life at Sun is full of politics and bureaucracy (which is why I no longer work there), and getting even the simplest solution in place is like pulling teeth.
What's wrong with using jikes to compile your programs? It's not even 1 mb, it just needs rt.jar from the JRE.
jikes website
The JRE includes the same huge libraries that the JDK has, so there isn't much point in downloading the JRE on its own anyway
Just some random thoughts.
DJ Delorie has had a public access compiler up for years. It's based on DJGPP. You could type in a little snippet of source code and get a DOS-extended executable. But you couldn't use C++ and you couldn't set the compiler flags. Probably just as well.
This kind of service is primarily useful for very small programs. If your Java program is ten lines long, and you have the JRE, this kind of web service is much better than downloading a 40 megabyte compiler. However, I would prefer to download the source for the service and have it on an internal (or secure) webserver that I can control. Java's libraries are large enough that maybe some pretty short programs can do useful things. On the other hand, you usually have to call dozens of functions for even simple stuff.
This is also made possible by the fact that the compiler is not Turing-complete or anything. Languages like Forth and Common Lisp can be compiled to produce executables, but they make the runtime available at compile time, so you could theoretically write code to open up /etc/passwd and e-mail you a copy during the compile. Even simpler, you could just allocate huge gobs of memory at compile time and try to bring the server down. Here, Java's lack of macros and #include, which to me is usually a disadvantage, can turn into an advantage.
Sunlit World Scheme. Weird and different.
Of course, in the real world, bugs happen, and people need to use old versions of the JDK to work around them. But anybody who's working at that level is a sophisticated Java programmer, not a newbie. Such a person does need the whole JDK!