Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!ames!hc!lanl!jlg
From: jlg@lanl.gov (Jim Giles)
Newsgroups: comp.lang.fortran
Subject: Re: Fortran versus C for numerical anal
Message-ID: <4151@lanl.gov>
Date: 24 Sep 88 20:11:20 GMT
References: <1584@ficc.uu.net>
Organization: Los Alamos National Laboratory
Lines: 29

From article <1584@ficc.uu.net>, by peter@ficc.uu.net (Peter da Silva):
> The pointer gives you all sorts of convenient features, and doesn't cost
> anything. Why not make it explicit?

It may not cost YOU anything, but I can think of at least 2 things it
_can_ cost me (I could probably think of more, but it's Saturday and
who wants to do too much of this stuff on a Saturday?):

1) It rasies the spectre of aliasing in contexts where it doesn't exist
   if the pointer isn't user accessible.  For this reason, things that
   would otherwise vectorize or unroll for pipelining must be done by
   the compiler as if the possible aliasing has actually occurred.

2) It clutters up it's scope with the name of something I don't need
   explicit access to.  This increases the possibility of another
   variable, whose name is misspelled, going undetected.  This is always
   possible, but the more names there are in the local scope, the more
   likely it becomes.  Why introduce a name you have no need for?

If I don't need any of those 'convenient features' you mentioned, why
should I make the pointer explicit?  My position has always been that
n explicit pointer should only be introduced if there's no other way
for your language to provide some needed 'convenient feature'.  For
future design of Fortran (and even C) I would recommend that explicit
ways of providing these 'convenient features' be included which _don't_
use pointers.

J. Giles
Los Alamos