Indexing from zero - who ever heard of zero of a thing. Damn quiche eaters.

I've heard it explained this way: Index zero requires zero offset from the start of the array's memory address, so the index presents how many offsets the item is away from the start of the array.

Makes more sense when you think of it that way. But again, it makes more sense in lower languages like C than it does in "higher" languages like Fortran and Python where memory addressing details aren't exposed to the programmer.

Prentice

On 10/20/20 4:00 AM, John Hearns wrote:
> Most compilers had extensions from the IV/66 (or 77) – quoted strings, for instance, instead of Hollerith constants, and free form input.  Some allowed array index origins other than 1

I can now date exactly when the rot set in.
Hollerith constants are good enough for anyone. It's a gosh darned computer, not your nearest and dearest whispering in your ear. It still thinks it is talking to a thundering line printer and getting its input from a real Teletype.

Indexing from zero - who ever heard of zero of a thing. Damn quiche eaters.



On Mon, 19 Oct 2020 at 22:27, Lux, Jim (US 7140) via Beowulf <beowulf@beowulf.org <mailto:beowulf@beowulf.org>> wrote:

    Yes, the evil-ution of languages proceeded at a much more stately
    pace in “arpanet” days.

    Typically, you’d have a bunch of vendor specific versions, and
    since PCs per-se didn’t exist, you bought the compiler for the
    machine you had. And then, maybe you paid attention to the notes
    in the back of the manual about deviations from the Fortran IV,
    66, or 77.  Most compilers had extensions from the IV/66 (or 77) –
    quoted strings, for instance, instead of Hollerith constants, and
    free form input.  Some allowed array index origins other than 1
    (handy for FFTs where you wanted to go from -N/2 to N/2).  Most
    also had some provision for direct access to files, as opposed to
    sequential, but it was very, very OS dependent.

    Probably by the 80s and early 90s, with widespread use of personal
    computers, and the POSIX standard, you started to see more
    “machine independent, standards compliant” Fortran. And, you saw
    the idea of buying your compiler from someone different than the
    computer maker, i.e. companies like Absoft and Portland Group (now
    part of nvidia), partly because the microcomputer manufacturers
    had no interest in developing compilers for cheap processors, and
    sometimes to accommodate a specialized need.  Hence products like
    Fortran for 8080 under CP/M from Digital Research.  ( I ran
    Cromemco Fortran IV in 48k of RAM on my mighty Cromemco Z80 at
    4MHz, which I believe was a variant of Fortran-80 from DR)

    But even then, it was a pretty slow evolution – the Fortran
    compilers I was running in the 80s on microcomputers under MS-DOS
    wasn’t materially different from the Fortran I was running in 1978
    on a Z80, which wasn’t significantly different from the Fortran I
    ran on mainframes (IBM 360, CDC 6xxx, etc.) and minis (IBM 1130,
    PDP-11 in the 60s and 70s. What would change is things like the
    libraries available to do “non-standard” stuff (like random disk
    access).

    *From: *Beowulf <beowulf-boun...@beowulf.org
    <mailto:beowulf-boun...@beowulf.org>> on behalf of
    "beowulf@beowulf.org <mailto:beowulf@beowulf.org>"
    <beowulf@beowulf.org <mailto:beowulf@beowulf.org>>
    *Reply-To: *Prentice Bisbal <pbis...@pppl.gov
    <mailto:pbis...@pppl.gov>>
    *Date: *Monday, October 19, 2020 at 12:21 PM
    *To: *"Renfro, Michael" <ren...@tntech.edu
    <mailto:ren...@tntech.edu>>, "beowulf@beowulf.org
    <mailto:beowulf@beowulf.org>" <beowulf@beowulf.org
    <mailto:beowulf@beowulf.org>>
    *Subject: *Re: [Beowulf] ***UNCHECKED*** Re: Re: [EXTERNAL] Re:
    Re: Spark, Julia, OpenMPI etc. - all in one place

    That's exactly what I suspected. I guess 13 years is like an
    eternity in the modern "Speed of the Internet" world we live in,
    but may not have been such a slow evolution time of the
    pre-Internet days.

    Prentice

    On 10/19/20 2:53 PM, Renfro, Michael wrote:

        Minor point of pedagogy from my place in the "learned FORTRAN
        77 in 1990" crowd: your instructor's options would have been:

          * standard FORTRAN 77
          * vendor-specific dialect of FORTRAN (VAX or otherwise)
          * maybe a pre-release of FORTRAN 90? Wasn't released and
            standardized until 1991-92.

        Never mind the availability of texts for same.

        *From: *Beowulf <beowulf-boun...@beowulf.org>
        <mailto:beowulf-boun...@beowulf.org>
        *Date: *Monday, October 19, 2020 at 12:06 PM
        *To: *beowulf@beowulf.org <mailto:beowulf@beowulf.org>
        <beowulf@beowulf.org> <mailto:beowulf@beowulf.org>
        *Subject: *Re: [Beowulf] ***UNCHECKED*** Re: Re: [EXTERNAL]
        Re: Re: Spark, Julia, OpenMPI etc. - all in one place


        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

        _______________________________________________
        Beowulf mailing list, Beowulf@beowulf.org
        <mailto:Beowulf@beowulf.org> sponsored by Penguin Computing
        To change your subscription (digest mode or unsubscribe) visit
        
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbeowulf.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fbeowulf&amp;data=04%7C01%7CRenfro%40tntech.edu%7C8486662b21394e7039e408d8745157c5%7C66fecaf83dc04d2cb8b8eff0ddea46f0%7C1%7C0%7C637387240011631429%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=lpfkkIZiPQ734YkMGHzI3M27w5RmZhkJ8dDbAD765dQ%3D&amp;reserved=0
        
<https://urldefense.us/v3/__https:/nam11.safelinks.protection.outlook.com/?url=https*3A*2F*2Fbeowulf.org*2Fcgi-bin*2Fmailman*2Flistinfo*2Fbeowulf&amp;data=04*7C01*7CRenfro*40tntech.edu*7C8486662b21394e7039e408d8745157c5*7C66fecaf83dc04d2cb8b8eff0ddea46f0*7C1*7C0*7C637387240011631429*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C1000&amp;sdata=lpfkkIZiPQ734YkMGHzI3M27w5RmZhkJ8dDbAD765dQ*3D&amp;reserved=0__;JSUlJSUlJSUlJSUlJSUlJSUlJSU!!PvBDto6Hs4WbVuu7!dbjGYkPB4I_e3Mpwg3ymxEHvrBoG1cZSjqXNtiKg304pOV-Gy0YzVZwDH06Ry2bLTDuCUDU$>

--
    Prentice Bisbal

    Lead Software Engineer

    Research Computing

    Princeton Plasma Physics Laboratory

    http://www.pppl.gov  
<https://urldefense.us/v3/__http:/www.pppl.gov__;!!PvBDto6Hs4WbVuu7!dbjGYkPB4I_e3Mpwg3ymxEHvrBoG1cZSjqXNtiKg304pOV-Gy0YzVZwDH06Ry2bL3ZCPgrk$>

    _______________________________________________
    Beowulf mailing list, Beowulf@beowulf.org
    <mailto:Beowulf@beowulf.org> sponsored by Penguin Computing
    To change your subscription (digest mode or unsubscribe) visit
    https://beowulf.org/cgi-bin/mailman/listinfo/beowulf

--
Prentice Bisbal
Lead Software Engineer
Research Computing
Princeton Plasma Physics Laboratory
http://www.pppl.gov

_______________________________________________
Beowulf mailing list, Beowulf@beowulf.org sponsored by Penguin Computing
To change your subscription (digest mode or unsubscribe) visit 
https://beowulf.org/cgi-bin/mailman/listinfo/beowulf

Reply via email to