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