Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!yale!cmcl2!lanl!lambda!jlg From: jlg@lambda.UUCP (Jim Giles) Newsgroups: comp.lang.misc Subject: Re: Re: NOT Educating FORTRAN programmers to use C Message-ID: <14212@lambda.UUCP> Date: 24 Jan 90 22:24:07 GMT References: <8960006@hpfcso.HP.COM> Lines: 33 From article <8960006@hpfcso.HP.COM>, by mjs@hpfcso.HP.COM (Marc Sabatella): ->If suspect that you would really be happier with Fortran 90. It has ->dynamic memory (but NOT implemented using explicit pointers - so no ->aliasing slow-down). > > Now wait a minute. Last I heard, Fortran 90 has something very akin to > a pointer, only worse - [...] True! And it is _REALLY_WORSE_! Fortunately, they have also retained the ALLOCATABLE attribute from the previous draft of the standard. So, you _can_ allocate memory without pointers (and, in fact, I can't find anything I'd use pointers for except recursive data structures). _ > [...] you can have a pointer to arbitrary and even sparse > array slices. [...] Unfortunately, the most important type of array slices aren't available for use with pointers. For example, I can't select out the diagonal of an array as a vector. All the other uses of pointers to array sections are more efficiently implemented by just using explicit subscript triples. The fact is, they took out RANGE and IDENTIFY to simplify the language and then added these pointers - which are _more_ complicated than RANGE and IDENTIFY were, less optimizable, and less powerful. The present pointer facility was the main reason I strongly opposed the present draft of the standard. > [...] but > dereferencing these types of pointers has got to be a logistic mightmare worse > than aliasing. Agreed! J. Giles