Article View: comp.lang.java
Article #293Re: Will Java kill C++?
From: William D. Gooch
Date: Wed, 17 Apr 1996 09:46
Date: Wed, 17 Apr 1996 09:46
65 lines
3585 bytes
3585 bytes
In article <dbell-1504961320040001@wholder2.cts.com> dbell@shvn.com (Doug Bell) writes: >In article <goochb.339.00099333@rwi.com>, goochb@rwi.com (William D. >Gooch) wrote: >> In article <3170B180.51A8@concentric.net> "Alan L. Lovejoy" ><alovejoy@concentric.net> writes: >> >> >Another point to consider: Smalltalk (and LISP) would probably benefit from >> >a Java processor as much as would Java itself. At the "bytecode" level, >> >syntax differences and static typing are no longer relevant.>> >> Excellent point. Anyone know how many bits are in a Java >> machine word? >Er...A byte is usually 8-bits. That's what a bytecode is in this case at least. My reference to "Java machine" was about hardware, not the virtual machine. Bytecoding has little to do with this - issues such as handling 32-bit and 64-bit numeric values efficiently are more relevant. Having thought about what Alan said a bit more, I now think that Java hardware probably won't do a whole lot for Lisp or Smalltalk, because Java is statically typed. The same reasoning indicates, I believe, that the speed improvements to be gained from special- purpose Java hardware are not likely to be as significant as those that have been seen for Lisp machines. This will most likely make it harder for Java hardware to compete with conventional hardware than it has been for Lisp machines. Lisp machines, for example, have 36 or more bits/word, to accomodate data type and other tag bits along with a full 32-bit numeric value. Conventional hardware with 32-bit words obviously can't handle tags and still have 32 bits left over for numeric data. This means that Lisp on conventional hardware frequently uses two words where a statically typed language only needs one word. Java hardware would not need data type tags because of static typing. Thus, Java machine words would not be long enough to work very well for Lisp (probably the same is true for Smalltalk). Lisp machines have also made use of parallel type-checking hard- ware, which again is not needed for a statically typed language. There are other tag bits on Lisp machine words which contain non- numeric data. Pointers use additional tags for "cdr-coding," which is specifically to support compactness and speed in the handling of list structures, which are fundamental in Lisp. This further limits the address space, because it uses up some of the remaining 32 bits, and this has led to the most recent Lisp hardware architectures using a word size greater than 36 bits. One area where Java hardware may incorporate some enhancements that have proved valuable with Lisp machines is garbage collection. ~~~~~~~~~~~~~~~~~~~~~~ William D. Gooch RothWell International goochb@rwi.com Texas liaison for the International Programmers Guild For information on IPG, see http://www.ipgnet.com/ipghome.htm ~~~~~~~~~~~~~~~~~~~~~~
Technical Details
Message-ID:
<goochb.346.0009C850@rwi.com>Path:
arc1-ca.pugleaf.net!node238.fc.net!goochbReferences:
<31682FFE.2781E494@bbn.com> <DpJyGG.FKK@hkuxb.hku.hk> <denatale-1004960822260001@grail1506.nando.net> <dbell-1104960125190001@wholder2.cts.com> <goochb.327.000893D1@rwi.com> <dbell-1104961159050001@wholder2.cts.com> <316D8523.74D7@concentric.nShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!node238.fc.net!goochb From: goochb@rwi.com (William D. Gooch) Newsgroups: comp.lang.java,comp.lang.c++,comp.lang.smalltalk Subject: Re: Will Java kill C++? Date: Wed, 17 Apr 1996 09:46:53 Organization: RothWell International Message-ID: <goochb.346.0009C850@rwi.com> References: <31682FFE.2781E494@bbn.com> <DpJyGG.FKK@hkuxb.hku.hk> <denatale-1004960822260001@grail1506.nando.net> <dbell-1104960125190001@wholder2.cts.com> <goochb.327.000893D1@rwi.com> <dbell-1104961159050001@wholder2.cts.com> <316D8523.74D7@concentric.n NNTP-Posting-Host: node238.fc.net X-Newsreader: Trumpet for Windows [Version 1.0 Rev A]