9 ms·
Languages Pre-Fortran
- jamesfinlayson 4y ago> Fortran I (1957) included comments That's neat - I guess by this time Fortran programs were getting big/long enough that comments were needed.
- rst 4y agoAccording to every history I've ever read (most notably, Backus's talk at the first History of Programming Languages) conference, Fortran was not released outside of IBM before this 1957 release, and there wasn't a compiler debugged enough to use much before that. (This blog post is the first I've ever heard of "Fortran 0".) https://dl.acm.org/doi/pdf/10.1145/800025.1198345 https://dl.acm.org/doi/pdf/10.1145/800025.1198345
- deleted 4y ago[deleted]
- anikom15 4y agoNot exactly. At this time programs were written on punch cards. The FORTRAN ‘comment’ was just a way to get the compiler to ignore the punch card. Comments existed long before, such as notes written or typed directly onto the card.
- jamesfinlayson 4y agoAh of course - when I saw comment I got tunnel vision and completely forgot that it wasn't text on screens.
- shadowofneptune 4y agoOne feature, as far as I can tell, that no languages had until Algol-60 was recursion (https://craftofcoding.wordpress.com/2020/12/01/recursion-the-algol60-years/ https://craftofcoding.wordpress.com/2020/12/01/recursion-the...). It's hard to imagine nowadays how controversial this was. Previous versions of Algol did not necessarily require any form of dynamic memory allocation. Recursion requires it in some form to avoid overwriting a procedure's variables upon the recursive call. Languages that forbid recursion (like Fortran before F90) can allocate for peak memory usage before runtime, which is especially useful on RAM-poor computers. EDIT: The site also has a great quote on the subject (https://craftofcoding.wordpress.com/2022/10/20/d%c8%b3kstra-on-the-difficulty-of-recursion/ https://craftofcoding.wordpress.com/2022/10/20/d%c8%b3kstra-...).
- namirez 4y agoOf course Lisp had recursion before Algol60.
- kazinator 4y agoLisp was in fact returning up from 19 levels of recursion, when it encountered Algol that was just starting on its way down. Lisp thumbed its nose: "I got there first, Algol; don't bother looking for the return value!"
- eesmith 4y agoIndeed, Lisp contributed to why Algol 60 has recursion. Quoting https://vanemden.wordpress.com/2014/06/18/how-recursion-got-into-programming-a-comedy-of-errors-3/ https://vanemden.wordpress.com/2014/06/18/how-recursion-got-... > McCarthy, fresh from the success of his Lisp project, was enthusiastic about recursion as an elegant way to get computers to do what they are best at: repeat execution of the same code with suitable modification each time around. In fact, the first Lisp had no iteration, so that the only way to add all elements of a linear list was to write a recursively defined function. As a member of the Algol committee he proposed making the possibility of recursion a feature of the new language. The proposal was crowded out by more pressing concerns. The result was that in the early months of 1960, when the report was to be finalized, there was no consensus on recursion.
- shadowofneptune 4y agoAh, of course I forgot lisp. Came so early, considering what it could do.
- Jtsummers 4y agoWhen you have a single fixed activation record per routine you also lose reentrance, not just recursion. Which means any tasking system has to be designed around that as well. A low priority task in the middle of a call cannot be suspended if a higher priority task needs to make use of the same subroutine, as an example. So all tasks have to run to completion or to some known safe points.
- 4y ago
- DonaldFisk 4y ago1946 – Flow Diagrams: As a graphical programming language, they've been implemented at least twice: GRAIL (GRAphical Input Language) in 1969, and DRAKON in 1996. IPL, a precursor of Lisp, was implemented in 1956.
- bawolff 4y ago> 1948 – Composition (Curry) It took me a minute to realize that it wasn't saying that the language supported currying, but was made by curry. I know intellectually that curry was a famous person but kind of wild to see it like this.
- benj111 4y agowell Curry could have developed Currying in Composition, so you could still be right.
- t-3 4y ago> 1954 – ПП-2 (Kamynin/Liubimskii) > 1955 – ПП (Ershov) What was going on here?
- monista 4y agoFor some reason they don't mention ukrainian https://en.wikipedia.org/wiki/Address_programming_language https://en.wikipedia.org/wiki/Address_programming_language which, according to some sources, was used to program soviet ballistic missiles.
- int_19h 4y agoIn Russian sources that I can find, it goes like this: 1954 - ПП-1 (prototype / proof of concept) 1955 - ПП-2 (for Strela-1) 1955 - ПП БЭСМ (for BESM) Followed by more versions for various new mainframes that appeared, named by suffixing "ПП" with the name of the hardware - e.g. there were distinct versions of ПП for Strela-3, Strela-4, and Strela-7. The abbreviation itself stands for "программирующая программа", "a program that programs". So it sounds like it was originally a name of the specific prototype, but then became a generic term for any kind of compiler for a short while (later replaced by "translator", probably under the influence of FORTRAN and ALGOL).
- benj111 4y agoAre there any usable implementations of these languages anywhere? It would be interesting to see what 'obvious' things weren't so obvious. What weird things seemed sensible at the time, etc
- deleted 4y ago[deleted]