lingo.lol is one of the many independent Mastodon servers you can use to participate in the fediverse.
A place for linguists, philologists, and other lovers of languages.

Server stats:

72
active users

#Fortran

1 post1 participant0 posts today

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

All languages have life cycles. Hell, some even go dormant and become popular — or unexpectedly critical – again.

What would qualities would a language need to have to eventually threaten Python's dominance? My fear is any innovative ideas will just get absorbed. Yes, I realize much of #Python's muscle is marketing by big industry players.

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]

Replied in thread

Thanks @th

Alan Sutcliffe, Landing the Nostromo, Creative Computing Magazine (June 1981) Volume 07 No 06, p. 48-54

"The hardware to be used was a Prime 300 connected to an FR 80 from III which can plot directly onto cine-film. Running on this system at the SRC laboratories in Oxfordshire was the software animation package, Frolic, developed by C.Emmett.

My program was written in Fortran with calls to Frolic subroutines."

The whole project was 14 pages of #Fortran code.

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.

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.