Am I correct in saying that Java does not allow for globally visible
objects? Somebody told me that once... If so, that would be problematic for
big arrays, it looks like.
Alvaro
-----Original Message-----
From: Fortran 90 List [mailto:[log in to unmask]] On Behalf Of
David LaFrance-Linden
Sent: Monday, March 01, 2004 10:29 AM
To: [log in to unmask]
Subject: Re: Stir it up again? (was: Retire FORTRAN?!)
Date: Fri, 27 Feb 2004 09:08:39 +0100
From: Drew McCormack <[log in to unmask]>
Actually, looking at this list, java goes quite a long way, but not all
the way. For example, it doesn't have built in multi-dimensional
arrays, or fortran 90 array ops. These are essential in a scientific
language.
You also have to decide about safety. Java always run-time
bounds-checks and there is no way to turn it off. C/C++ are
completely unsafe in this regard. Many Fortran compilers have options
to do run-time bounds checking; people who want performance and are
confident their code is correct make sure it is off.
Note that violating safety makes garbage collection considerably
harder.
And to get real performance, you'd want to adhere to certain cliches
(static and final come to mind) that might guarentee inline-ability,
and use an ahead-of-time compiler.
Date: Fri, 27 Feb 2004 11:43:29 -0800
From: [log in to unmask]
Ummm, Fortran 2003 covers the first and third of these, and has OO
features wished for in the second. Whether the processor does or does
not do garbage collection is orthogonal to the language design -- unless
you botch the design.
Not completely true. Without memory safety, you have to use a
generic/heuristic garbage collector that may not collect some actual
garbage because it looks like something else in memory might be a
pointer to it. (This is worse on little-endian machines than
big-endian, BTW.) But Java's pure object model and memory safety
allows a large host of assumptions to be made, facilitating a much
easier and complete garbage collector.
|