(j3.2006) Question about DIM
Tue Jan 12 23:17:17 EST 2016
This are all great stories.
My first programming was in 1979 on Atari?s Basic Programming cartridge. I then learned Fortran in the summer of 1980 at the Pinellas County Science Center in St. Petersburg, Florida. I think it was Fortran 77. Were there Fortran 77 compilers in 1980?
I recall learning on a screen that only had about four lines on it, but searching the web now, I can?t figure out what kind of terminal that would have been so maybe there were more lines.
I started high school in 1980. My high school had a computer programming class for juniors but nothing for freshman so I taught myself from there forward. The school computer had a BASIC interpreter but no Fortran compiler so I bought a book on BASIC. In 1982, my mom bought an Apple II+ to write her newspaper column and I got to program at home for the first time. I started writing computer games, but 3D graphics in BASIC was painfully slow. Someone told me the games would run faster in assembly language, but I couldn?t figure out how to explain to my mom what an assembler was and I wasn?t working so I couldn?t buy an assembler myself, but I was able to get a book on Motorola 6502 machine language so I programmed in hex. (This is starting to sound like descending down Dante?s various levels of hell but it seemed fun at the time.) Fortunately the Apple II+ came with a disassembler so I could at least see the assembly code that resulted from the hex input.
My only college programming class was in Fortran 77 around 1985. My only grad school computer science class was Software Engineering in C. The code I inherited for my research was in a little-known language, Vectoral, developed at NASA Ames. Through all this, I gravitated to Fortran for my post-processing needs. It just seemed the most efficient and robust of all the alternatives. Along the way, I learned C++ and found the experience of writing a 2D Navier-Stokes solver in C++ in the mid ?90s to be a major pain because C++ compilers weren?t very robust at the time, but I was glad it taught me object-oriented programming.
Sometime soon after I became a professor in 1999 and started thinking about developing a research code, I happened upon the papers of Viktor Decyk, Charles Norton, and Boleslaw Szymanski describing how to emulate object-oriented programming in Fortran. The papers promised that the upcoming Fortran 200X standard would fully support object-oriented programming. Inspired by their ideas and the promise of object-oriented Fortran, I left any thoughts of C++ behind and have not regretted it once!
> On Jan 12, 2016, at 5:25 PM, Van Snyder <Van.Snyder at jpl.nasa.gov> wrote:
> On Tue, 2016-01-12 at 16:58 -0700, Keith Bierman wrote:
>> Only Van is likely to appreciate my discovery of the "Athena" Fortran compiler, which offered a lot of features beyond the standard. I don't recall (but have the manual somewhere) precisely what the benefits where (better control structures, a multi-line statement function facility).
> Athena Fortran also had
> a powerful macro system, which Dirk Feild used to implement Fortran 77 control structures without changing the compiler,
> internal subprograms (not a multi-line statement function facility),
> as with the Univac Fortran system, statement functions were macros instead of functions, so references to them could appear as the LHS in an assignment statement if their RHS would be allowed -- one of the few examples of updaters (which are very powerful, but I've not seen them in other than Univac Fortran and POP-2),
> a method to specify how procedure invocations were done, so you didn't need to write a wrapper to call the system directly (long before C interop),
> character concatenation syntax of variables could appear on the LHS, providing a powerful scatter, ...
> and many other facilities that Fortran 2015 won't have -- but no recursion or derived types. I faked limited forms of derived types using statement functions; their updater semantics were indispensible. The mutability of programs written using this uniform syntax is what inspired me to urge this on X3J3 at the Albuquerque meeting in 1986. Brian Smith, John Reid, and Rex Page had figured out what I wanted, how useful it would be, and why I wanted it. The other 30+ members said "Huh?" One of the members (Kurt?) said "Fortran programmers want to see what their program is doing." I mentioned that David Parnas, Geschke and Mitchell, Donald Ross, Yourdon and Constantine, Jensen and Tonies, and other authors had described quite clearly a decade earlier that this is exactly what you do NOT want if you want to reduce maintenance cost, but it didn't carry much weight.
>> Years later when working at the Lab I recall running into an ugly issue with the TFOR namelist handling and had to look up the author (who had retired from the Lab to be a freelance astrologer to the stars (and Nancy Regan)). I'd stumbled across an internal error in namelist handling .... which started my long road to ruining compilation systems by finding flaws ;>
> Jack Perrine is still alive, although very frail (or at least none of our mutual friends has told me he died), living in Pasadena with his pet gray wolf Djinn. A few years ago I talked him into giving the Athena Fortran listings to the Computer History Museum. Paul McJones (paul at mcjones.org <mailto:paul at mcjones.org>) would know exactly where they are.
> At JPL, Fred Krogh developed an exceedingly good code to integrate the initial-value problem for ordinary differential equations, called DIVA. It can handle second-order systems directly, instead of requiring them to be converted to first-order systems. This is important for celestial mechanics. It's available as part of our Math77 library, which Caltech finally (after 25 years) gave us permission to publish, from netlib. For some weird reason, Jack converted DIVA to FORTH. BTW, Phil Sharp, who visited J3 for one meeting, is working very closely with Fred on a newer ODE code.
> Many people worked with Jack at Digitek in the 1950's, including Tom Lahey, and maybe Don Ryan (of Ryan-MacFarland). Paul McJones worked for Jack at Athena Computing. Jack doesn't remember any of them.
> Jack was once nattering on about astrology and I told him "I don't put much stock in that, but I'm told that's typical of a Pisces." I knew my remark had just zoomed right over his head when he said "Oh, yes, that's very true! Pisces are very skeptical!"
> The reason Jack come to work at JPL, instead of continuing Athena Computing, was that his horoscope had told him to buy silver when Nelson and Bunker Hunt were trying to corner the market. When the bubble burst, Jack lost his shirt (and his pants, and his toothbrush, and his shoelaces, and ...).
> J3 mailing list
> J3 at mailman.j3-fortran.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the J3