Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!munnari.oz.au!csc!csc3.anu.oz!ccadfa!rap@csadfa.cs.adfa.oz.au From: rap@csadfa.cs.adfa.oz.au (Robert Pearson) Newsgroups: comp.lang.fortran Subject: Re: What is the FORTRAN for ? Message-ID: <1784@ccadfa.adfa.oz.au> Date: 1 Aug 90 03:23:16 GMT References: <65460@lll-winken.LLNL.GOV> Sender: news@ccadfa.adfa.oz.au Lines: 58 From article <65460@lll-winken.LLNL.GOV>, by jac@gandalf..llnl.gov (James Crotinger): > As many people have pointed out, FORTRAN is well suited for writing > numerical codes. C isn't necessarily as well suited for this. > >>As many people have expressed, Fortran usually produces the fastest >>code on many high end systems. It is also typically far better >>supported than any other language, which is a bit unfortunate. > > I'm not sure what Maurice means by "supported" here. My experience > has been that software development tools for C are for more developed > on most systems (CRAYs excluded) than those for Fortran. I'd give > my eye teeth for a Saber C type environment that would work with > Fortran as well as C and C++. just to add my opinions I have had many years programming fortran from the very early CDC through to current supers. At the moment I have about 12,000 lines of code (most C ) for a computationally intensive task which can be written to be suitable for a vector processor. BUT the main structure is a tree. ideal for pointers to complex structures. HOWEVER multidimensional arrays in C are a PAIN espescially if one wants to pass part of the array FORTRAN A(30,30,50) call b (a(1,1,nold) where in b is a(30,30) C does work b(&a[nold][0][0]); and can actually let the fortran treat 'a'as a variable dimension array BUT tfortran automatically converts most of my code to vectors C requires all sorts of nasty tricks I have had to experiment to find code that will give a vector and worse in one part of the code will give vector; splitting up not necessarily works as vector. chnging from defined to global or local may also change the vector ???? : wish I understood it all !!!! the problem is not the compilers so much as the specification that ARRAYS and POiNTERS are EQIVALENT how the people who write any compilers for vector processors that can handle this problem is past me, and I am actually amazed that they have done relatively well for those interested the code has been published in IJHSC Vol 2 85-100 My solution would be to write C for the pointers and convert to fortran for the rest. Also a PAIN Robert Pearson ISD: +61 62 68 8171 STD: (062) 68 8171 Dept. Computer Science Telex: ADFADM AA62030 University College ACSNET: rap@csadfa.oz Aust. Defence Force Academy UUCP: ...!uunet!munnari!csadfa.oz!rap Canberra. ACT. 2600. ARPA: rap%csadfa.oz@uunet.uu.net AUSTRALIA CSNET: rap@csadfa.oz Robert Pearson ISD: +61 62 68 8171 STD: (062) 68 8171 Dept. Computer Science Telex: ADFADM AA62030 University College ACSNET: rap@csadfa.oz Aust. Defence Force Academy UUCP: ...!uunet!munnari!csadfa.oz!rap