From dougo@ccs.neu.edu Wed Sep 13 18:57:10 2000 X-UIDL: a6f7800f6d4bfb39f417050dbdf846a0 Return-Path: Received: from vega.ccs.neu.edu (dougo@vega.ccs.neu.edu [129.10.116.206]) by amber.ccs.neu.edu (8.10.0.Beta10/8.10.0.Beta10) with ESMTP id e8DMv5L21639; Wed, 13 Sep 2000 18:57:05 -0400 (EDT) Received: (from dougo@localhost) by vega.ccs.neu.edu (8.10.0.Beta10/8.10.0.Beta10) id e8DMv4c13651; Wed, 13 Sep 2000 18:57:04 -0400 (EDT) From: Doug Orleans Message-ID: <14784.1600.453520.147644@vega.ccs.neu.edu> Date: Wed, 13 Sep 2000 18:57:04 -0400 (EDT) To: Karl Lieberherr Cc: johan@ccs.neu.edu, lorenz@ccs.neu.edu Subject: Re: javac versus jikes In-Reply-To: <200009100031.e8A0VJ413648@denali.ccs.neu.edu> References: <200009100031.e8A0VJ413648@denali.ccs.neu.edu> X-Mailer: VM 6.72 under 21.1 (patch 3) "Acadia" XEmacs Lucid X-Face: (4D-osoq?}7M3\EgvbWKo Hi Doug: > > which compiler should my students use? > You use javac in *.prj > > So our recommended compiler is > > javac Yes, I think that should remain the default, because it's guaranteed to be on every platform that Java is so they need to be familiar with it. Also it's a little easier to use than jikes. > and some students may want to use jikes but > then they have to set the CLASSPATH accordingly. Or they can set JIKESPATH. > Can the class path be set in *.prj for jikes to work? I think so-- CLASSPATH = /arch/unix/packages/j2sdk1_3_0beta/jre/lib/rt.jar should work currently (on Solaris). It might change if systems changes the location of Java 2 though. It's probably better to change it in their environment rather than in a .prj file. > What are the advantages of jikes? Still much faster? I think jikes is still faster (for large programs) but I haven't compared it to the latest javac. Which, by the way, is actually the GJ (generic java) compiler, but the GJ options are hidden-- from http://developer.java.sun.com/developer/bugParade/bugs/4064105.html: Do you use javac from Sun's JDK1.3? Then you are running the generic Java compiler and might not even know it! I was able to confirm rumors that Sun is shipping the gjc as their new SDK standard javac compiler. Unfortunately, they crippled the Main class and removed all non-standard options. I was able to patch the driver class and re-activate the -gj option - it worked just fine. While it is not trivial to do the patch, you can check at least inspect lib/tools.jar and look for the files in com/sun/tools/javac/v8/resources - you will find the extended options therein. Unfortunately, Sun did not publish any official statements about their plans concerning genericity in Java - so they might have put gjc in their product only to make the compiler go faster. However, the latest official gj release is v0.6 ("v6"), so someone must have invested some time in it. --Doug