[Beowulf] ***UNCHECKED*** Re: Re: [EXTERNAL] Re: Re: Spark, Julia, OpenMPI etc. - all in one place

Prentice Bisbal pbisbal at pppl.gov
Mon Oct 19 10:06:15 PDT 2020


On 10/19/20 10:28 AM, Douglas Eadline wrote:
> --snip--
>
>> Unfortunately the presumption seems to be that the old is deficient
>> because it is old, and "my generation” didn't invent it (which is
>> clearly perverse; I see no rush to replace English, French, … which are
>> all older than any of our programming languages, and which adapt, as do
>> our programming languages).
>>
> I think this has a lot to do with the Fortran situation. In these "modern"
> times, software seems to have gone from "releases" to a "sliding
> constant release" cycle and anything not released in the past few
> months is "old."
>
> How many people here will wait a 2-6 months before installing
> a "new version" of some package in production to make sure there
> are no major issues. And of course keep older version options
> with software modules. Perhaps because I've been at this a while,
> I have a let it "mellow a bit" approach to shinny new software.
>
> I find it odd that Fortran gets placed in the "old software box"
> because it works while new languages with their constant feature
> churn and versions break dependency trees all over the place,
> and somehow that is good thing. Now get off my lawn.
>
> --
> Doug
>
Now we're starting to veer of course a little here, but what the hell...

I think that one of the problems with Fortran is a complete 
misunderstanding of it's purpose. People are always shocked when I tell 
them the scientists I support are "still" using Fortran. Many people 
think that C and C++ replaced Fortran, but that is not true. C was 
designed to do low-level programming for tasks like writing operating 
systems, and C++ is just an extension of the C language to support 
Object-Oriented Programming. Both C and C++ are lower-level and more 
general purpose than Fortran.

Fortran is a domain-specific language, meaning it was meant for a  
special purpose, which in this case is doing mathematical operations, 
and it's very good for those sorts of things. It's trivial to create 
multidimensional arrays in Fortran, which is useful for many math 
operations, but C doesn't even support anything beyond 1D  arrays. Sure 
you can mimic multidimensional arrays by keeping track of stride length, 
etc., but that's a lot of work, and I'm betting that's work a lot of 
scientists would rather not do. That's just one example of Fortran being 
friendlier for science. I'm sure there are other examples, but I'm not a 
programmer, and definitely NOT a Fortran programmer.

I think the main reason most people look at Fortran as an old and 
outdated language is because it stuck to the "punch card" formatting 
long after punch cards and punch card readers disappeared, but I'm not 
sure who to blame for that. Do I blame my freshman "Programming for 
Engineers" instructor who taught me Fortran 77 in 1991, or do I blame 
whoever maintains the Fortran standard for not updating it before then? 
(I honestly don't know what the latest version of Fortran was in the 
fall of 1991).

Prentice



More information about the Beowulf mailing list