From: Leclerc on
>> I'm also full-time C++ developer, working in the environment where
>> FORTRAN is also used.
>
> Just a nitpick - it's spelt Fortran, and has been for around 20 years
> despite what Microsoft claim,

:)

of course,

Mea culpa
From: Gary L. Scott on
On 6/28/2010 10:40 PM, rfengineer55 wrote:
> On Jun 28, 8:41 pm, Ron Shepard<ron-shep...(a)NOSPAM.comcast.net>
> wrote:
>> In article
>> <08ad53e3-f827-4d57-896b-cf6bc2450...(a)z8g2000yqz.googlegroups.com>,
>>
>> rfengineer55<rfenginee...(a)aol.com> wrote:
>>> What can Fortran do that C, C++, C# can't?
>>
>> One of the most important things a fortran compiler can do is that it
>> can compile fortran programs. There are millions of lines of legacy
>> fortran, both in programs and in library routines.
>>
>> I think all of these are complete programming languages in the sense
>> that you can do anything that can be programmed. You can write a
>> fortran compiler in the other languages, for example, and compile
>> fortran programs (like gfortran does). Or you could write a lisp
>> machine in these languages and run lisp programs. And so on.
>>
>> If you are asking what is easier, or simpler, in fortran than in other
>> languages, then you may get a few mostly personal responses. For
>> example, I personally think arrays are easier to work with in fortran
>> than in most other languages.
>>
>> $.02 -Ron Shepard
>
> Ron,
>
> I was asking in terms of what the Fortran language itself had
> provisions for that cold not be done in C, C++, or C#. I don't know if
> fortran can handle structured like an array of pointers, to pointers,
> to type Integer, for example. C can handle some complex pointer
> structures. I've never seen similoar structures done if fortran, but
> I've not seen everything that Fortran can do either :-)
>
> I would tend to believe that C, C++, and C# can do more than Fortran
> can do. Just an educated guess on my part.

Many of those complex structures are ill-advised abominations. In some
cases, the C programmer does that because of either stupidity or lack of
suitable replacement features in the C language for which Fortran may
have a better replacement feature. It is better to think in terms of
how can a problem be solved and not get hung up on the particular
method. There may be other, in many cases better methods of solving the
same problem.

>
> Jeff
>
> RF ENGINEER55

From: Gordon Sande on
On 2010-06-28 20:53:00 -0300, Lynn McGuire <lmc(a)winsim.com> said:

>> In Lynn's case, I'd claim that the code was legacy F66 code that had not
>> yet been fully ported to f77. It obviously also has a mixture of some
>> newer features, but if she is just now getting rid of the Hollerith
>> usage, I'd say that part reflects F66 legacy. Hollerith was not part of
>> the F77 standard. There is an F77 Appendix describing Hollerith, but
>> about the first thing the Appendix section of f77 says is "These
>> Appendices are not part of American National Standard Programming
>> Language Fortran..."
>
> BTW, in a case of non-strongly typed variable names, Lynn is a He.
>
> I wish that I could say that you were wrong about the F66 code but
> you are mostly correct. In fact, we only started using "implicit
> none" since 2005 at the urging of several on this group. It took
> a year just to get that ball rolling because the oldest member of
> my staff was firmly against it. But he was one of those awesome
> programmers who could write great code in any language. He has
> since retired in Dec 2008 at the age of 73. I miss him greatly as
> we worked together for over 20 years.
>
> Lynn

It sounds like a textbook example of an "indispensable" employee. It will
now take considerable time to recover from the "indispensable" employee.

I have always been told that when a manager discovers that they have an
"indispensable" employee that they should immediately plan to fire that
employee before it become irrecoverable.

From: viper-2 on

>
> Just a nitpick - it's spelt Fortran, and has been for around 20 years
> despite what Microsoft claim,

Another paneful claim? See my signature.:-)


I remember last year when I was trying to decide which language to
choose for rewriting C-Graph:

http://www.codeartnow.com/code/download/c-graph-1/c-graph-version-2-preview

I considered both C and C++. I had been coding in nothing else but
Lisp for years and had forgotten all my C.

I decided that Fortran was easier to learn (or relearn) than C. As for
C++, all the Googling I did pointed to coders migrating from C++ to
Fortran as they believed that C++ was too error prone. The decision to
use Fortran (based on what I could see from the web) was easy.

The only stumbling block came later as I investigated using the GNU
Autotools to package the program. There is far more information
pertaining to packaging C programs with the Autotools than Fortran,
and I found that rushing learning the Autotools with the peculiar
things I want to do with C-Graph, was not an option - particularly
having chosen Fortran rather than C.

Overall, I'm happy that I did choose Fortran (members of this group
persuaded me to learn 90/95/2003 instead of sticking with 77, which is
what I used to code the original program for my dissertation back in
1983). I plan to review C sometime, but somehow, I don't think I'll be
coding in C++ anytime soon for OOP - not with the progressive
developments in Fortran, and my love of Lisp.


agt

--
Freedom - no pane, all gaiGN!

Code Art Now
http://codeartnow.com
Email: a...(a)codeartnow.com
From: Ron Shepard on
In article <Vu2dnZxfzsu_c7TRnZ2dnUVZ_gOdnZ2d(a)supernews.com>,
"Gary L. Scott" <garylscott(a)sbcglobal.net> wrote:

> > I would tend to believe that C, C++, and C# can do more than Fortran
> > can do. Just an educated guess on my part.
>
> Many of those complex structures are ill-advised abominations.

A good example of this is multidimensional arrays which I indicated
earlier. Since C did not allow these (except with constant dimensions,
I think was the exception), everyone was forced to implement various
hacks to work around this shortcoming of the language. Usually this
involved arrays of pointers, or arrays of pointers to pointers, or some
such, depending on the dimension of the matrix. If this is an example
of C "doing more than Fortran", then that is surely trying to turn a
liability into an asset.

Even though fortran does support these kinds of data structures, it is
often better to avoid them. Allocatable arrays in fortran, for example,
have several advantages over the analogous pointer approach, and that is
often the preferred data type given the various options. As far as I
know, even modern C does not support multidimensional allocatable
arrays, and it gives the programmer no control over the lower bounds
within the array, so it is some 30+ years behind fortran in some ways,
and 20+ years behind fortran in others. I don't know about the latest
version of the other languages in this thread title in this respect.

$.02 -Ron Shepard