shakedown.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
A community for live music fans with roots in the jam scene. Shakedown Social is run by a team of volunteers (led by @clifff and @sethadam1) and funded by donations.

Administered by:

Server stats:

246
active users

#fortran

0 posts0 participants0 posts today

📘 FORTRAN IV Manual (1982), adapted by Rafko Adrinek and published by Iskra Delta! 💖 #FORTRAN was the first widely adopted “standard” programming language, especially popular during the 1960s and 70s — the punch card era. 💾 Back then, it powered massive mainframes, and its legacy still lives on today in modern supercomputer programming! 🚀

I would be a greybeard #UNIX guy if I could grow a non-scraggley beard, and it's unfair to the #DOGE teens to claim that the IRS and Social Security rely on ancient #COBOL code that only a few people alive actually understand. They also rely on ancient #FORTRAN code and even I never studied that at Computer Camp.

Pondering if I dare to put #Fortran into my CV. :blobcatthinking:

I can do some Fortran, partly because it keeps coming up in all sorts of #retrocomputing contexts, but, even with Ratfor enhancements, I don't consider it a well-designed or pleasant language, and I'm not sure I can see myself working at a place that deals in new Fortran code now that nice, human-friendly languages such as NumPy and APL have been invented. Besides, 21st century Fortran is a really weird language that doesn't even know what it wants to be when it grows up.

The original #LISP had 7 primitives: \(\texttt{cons}\), \(\texttt{car,}\) \(\texttt{cdr}\), \(\texttt{atom}\), \(\texttt{quote}\), \(\texttt{eq}\), and \(\texttt{cond}\). And the original #Smalltalk syntax could fit on a 5×7 card. That meant a novice could learn the syntax in a matter of minutes, and direct all his efforts to learning how properly to wield the power of that Turing-complete language. This was why, in the 1970s and the 1980s, many college freshmen were taught FP in Scheme (a more modern LISP) and many middle school children were taught OO in Smalltalk. These were surely the best "first" #programming languages.

#FORTRAN and #BASIC were simple, too. FORTRAN, the first high-level language, has been in continuous use since the late 1950s by engineers, who are not keyboard warriors. BASIC was invented in the early 1960s for teaching programming to non-STEM students at Dartmouth. It sired a whole generation of self-taught children in the 1980s.

Compare those to C++, Erlang, Python, Haskell, Java, JavaScript, Scala, Rust, Kotlin, and pretty much every language in popular use today. Most consider Python and JavaScript to be the simplest of modern languages. Yet, they are massive, complex languages. No 10-year-old could teach himself those, nor should he.

The original versions of those classic languages cannot be used to solve modern problems. But they should still be taught to youngsters as their first language. Throwing in the kids' faces a modern enterprise language confuses them and discourages them. Consequently, many novices never attain that state of flow, when the joy of programming gushes forth.

#Simplicity is a virtue.

For some reason, the memory of my box of fortran punch cards suspended in mid-air as I attempted, unsuccessfully, to move it from the bookshelf to my desk back in 1975 before they disintermediated themselves all over the floor, desk, file cabinet, and a few even found their way into the garbage can. What a mess.
* I was able to re-assemble them, Assembler doesn't work for this purpose fwiw, and complete the project with a passing grade! It was only pass/fail. No need to drop the class!
#Fortran

Continued thread

For a periods in the late 80s, early 90s, late 90s, and early 2000s, I was a professional #Astronomer (yet another workstation jockey) with a particular interest in #BioAstronomy -- planets, star forming, potential habitats -- that sort of thing.

Used data-reduction software. And I wrote some in #FORTRAN

Along the way, also learned BASIC, C, C++, Pascal, and then #Python

Helped develop the #NICMOS camera for Hubble. Then got to reduce some data from it to study protostars.

[2/3]

So my question is, what's an intuitive way to use dropping-in- #fortran from the #lisp #repl ?
Reading a .f file ~ into a let* form which I'm currently doing seems kind of bland. #f( this(1) = is(2) + a / fortran * line) seems kind of uninspiring (who would want to express themselves like this). Maybe Enter "fortran mode" and read lines of fortran from *standard-input* with normal interactive evaluation hacked in?

The fortran becomes #series expressions in lisp.

Just for the people *not* mutual on #izzzzi with me, in my #lisp #series quest I wrote a converter for published #fortran like web.archive.org/web/2008122014 into #lisp s-expressions.

> (f2lisps "wfta3.f.txt")
(((C31 -0.8660254) (C32 -1.5)))
((R2 (* (A (+ (2) (- A)) (3)) C31)) (R1 (+ A2 A3)) (A1 (+ A1 R1))
(R1 (+ A1 (* R1 C32))) (S2 (* (B (+ (2) (- B)) (3)) C31)) (S1 (+ B2 B3))
(B1 (+ B1 S1)) (S1 (+ B1 (* S1 C32))) (A2 (+ R1 (- S2))) (A3 (+ R1 S2))
(B2 (+ S1 R2)) (B3 (+ S1 (- R2))))

inb4 wrong

web.archive.orgN=3
Replied in thread

@mdhughes @amoroso This is the heart of the whole Lisp1/Lisp2 argument.

I am of the Orthodox persuasion: in #Lisp, a function is a first class object, so there should be no difference between a function and a value, so if a value is in a function position it should be treated as a function (i.e. applied with the CDR of the expression as its arg list).

The Catholics, of course, differ; but they're little more than heathens and doctrinally closer to #Fortran.

Fun observation: the quote "I don’t know what the programming language of the year 2000 will look like, but I know it will be called FORTRAN.” was said closer to the year 2000 than the last 2 revisions to the #Fortran Spec (F18 in 2019, F23 in 2024).

Quote from 1982 by Charles Anthony Richard Hoarce