Per Bothner

Learn More
Many are interested in Java for its portable bytecodes and extensive libraries, but prefer a different language, especially for scripting. People have implemented other languages using an interpreter (which is slowed), or by translating into Java source (with poor responsiveness for eval). Kawa uses an interpreter only for " simple " expressions; all(More)
While a major factor in Java's success is its use of portable bytecodes, we believe it cannot become a mainstream programming language without mainstream implementation techniques, specifically an optimizing ahead-of-time compiler. This allows much better optimization, and much faster application start-up times than with JIT translators. Cygnus is writing a(More)
Kawa is a set of Java classes useful for implementing dynamic languages, such as those in the Lisp family. Kawa is also an implementation of near-R 5 RS Scheme using these classes, and which compiles Scheme to the byte-code instructions of the Java Virtual Machine. This paper discusses the various issues involved in implementing Scheme using an abstract(More)
Java can b ethought of as two diierent things: Java as a programming language (object-oriented, syntax similar to C/C++) Java as a machine/environment (libraries + portable byte-codes run virtual machine) Need for other languages to co-exist in the Java environment. High-level \scripting" languages especially useful. Can use extensive Java libraries, and(More)
While a major factor in Java's success is its use of portable bytecodes, we believe it cannot become a mainstream programming language without mainstream implementation techniques. Specifically, an optimizing, ahead-of-time compiler allows much better optimization along with much faster application start-up times than with JIT translators. Cygnus Solutions(More)
  • 1