next up previous print clean
Next: Appendix A: Expert witnesses Up: Why Java? Previous: C++

Notes and comments

Gould. Interesting biological analogy: Gould catastrophic, standard smooth.

Gossling wrote a preliminary discussion about an extension of Java for numerical applications .

Complex number array. To avoid the overhead incurred by a complex number objects, I implemented a complex number array class with a rich set of methods. Internally, the class efficiently represents a complex number by two float arrays. The trick is to replace operations on individual complex elements by array operations.

Only after a call to SGI's compiler experts, Martin Karrenbach  managed to link Fortran90 with C++ framework on our SGI Power Challenge.

Infix. I do not advocate to add array sections (that v[3:9:2] stands for v[3], v[5], v[7], v[9]) or infix operators (that if x and y are arrays that x*y computes the vector product). I feel that these operations are difficult enough to warrant the more explicit syntax. See http://www.vni.com/products/wpd/jnl/JNL/docs/intro.html for an supportive view of array sections and infix operators.

In Java static class methods are similar to traditional subroutines.

C++ compilers accept C programs and consequently offer an incremental learning of C++ for C programmers. Java does not.

Strongly typed. Java is strongly typed. Unfortunately, Jest's abstract base class concept requires a considerable amount of explicit type casts which inevitably clutter the Jest code. The casts change the apparent type of an object. For example, it may be necessary to downcast an object to a specific derived object so that the programmer can take advantage of any additional methods or members that the specific class carries.


next up previous print clean
Next: Appendix A: Expert witnesses Up: Why Java? Previous: C++
Stanford Exploration Project
3/8/1999