Newsgroups: comp.lang.lisp,comp.lang.scheme
Path: cantaloupe.srv.cs.cmu.edu!rochester!udel-eecis!gatech!csulb.edu!hammer.uoregon.edu!news.mathworks.com!howland.erols.net!torn!kwon!watserv3.uwaterloo.ca!undergrad.math.uwaterloo.ca!not-for-mail
From: papresco@csclub.uwaterloo.ca (Paul Prescod)
Subject: Re: Theory #51 (superior(?) programming languages)
Sender: news@undergrad.math.uwaterloo.ca (news spool owner)
Message-ID: <E53uq7.KHn@undergrad.math.uwaterloo.ca>
Date: Wed, 5 Feb 1997 00:58:55 GMT
Distribution: inet
X-Newsposter: Pnews 4.0-test50 (13 Dec 96)
References: <3063010159007887@naggum.no> <5cighm$5mf@hnssysb.hns.com> <E4qBnG.L5K@undergrad.math.uwaterloo.ca> <32EFC938.1740B215@informatik.tu-muenchen.de>
Nntp-Posting-Host: calum.csclub.uwaterloo.ca
Organization: University of Waterloo
Lines: 43
Xref: glinda.oz.cs.cmu.edu comp.lang.lisp:25139 comp.lang.scheme:18439

In article <32EFC938.1740B215@informatik.tu-muenchen.de>,
Bernd Paysan  <paysan@informatik.tu-muenchen.de> wrote:
>Paul Prescod wrote:
>> The JVM may also offer interesting opportunities for other
>> languages, because it is a more hospitable runtime environment
>> (gc, dynamic type checking, etc.) than a traditional operating
>> system.
>
>More hostile? The JVM is _very_ restrictive and makes it very hard to
>implement non-Algol languages. E.g. a good APL, Lisp, Smalltalk, Prolog
>or Forth system generates native code on the fly for performance. The
>JVM disallows this, at least in a portable fashion ("native" means "JVM"
>to me in this contextm, the JIT would be responsible to translate this
>to real native code). 

"A ClassLoader can be used to tell the runtime system to convert an array
of bytes into an instance of class Class. This conversion information
is passed to the runtime using the defineClass() method."

>Java is just yet another slightly improvement of
>C, and for today's standard, it's a step back by 20 years for computer
>sciene. 

Java is not state-of-the-art, but neither is it a step back. We're talking
about average programmers actually accepting garbage collection, closures,
and runtime type checking. To me, that's a major step foward. Those 
features have always had a stigma of being "too high level" for 
mainstream programming. Java blows up that myth and legitimizes
those features.

>Somewhere to the start of Smalltalk's developement. Hm, IMHO
>it's much worse, because Java still isn't a interactive language, it's
>plain old batch. And anybody who got used to at least one of the five
>language classes above knows the value of interaction.

That's why I run a scheme implementation in the JVM. Because scheme *is* 
interactive and the JVM supports it. Which was my point...

Anyhow, what in the Java spec. or JVM spec. makes Java into a "batch
language", esp. when compared to SmallTalk?

 Paul Prescod

