Dr. John R Levine, Ph.D wrote in 2004: |-------------------------------------------------------------------| |"[. . .] I think it's now the | |oldest active newsgroup with the original moderator, which shows if| |nothing else an impressive lack of imagination on your moderator's | |part. [. . .] " | |-------------------------------------------------------------------|
Hmm :)
I fail to find even arguable evidence for what I believed about an imagined comp.comiplers post which I imagined to be by John R Levine about arrogant FORTRAN users who incited an imagined change in a new FORTRAN standard because they refuse to check what is in an old FORTRAN standard.
If it is my imagnation, then it could be about a default or initial value of an index in a loop or for an array.
On Sun, 1 Feb 2026, OrangeFish wrote: |-----------------------------------------------------------------------------| |"On 2026-01-31 21:43, John Levine wrote (in part): | |> > What happened to the comp.compilers mbox archives? Happy New Year! | |> > (S.
formatting link
fuer Kontaktdaten!) | |> | |> They're still on my server but since nobody had looked at them for years, | |> I turned off FTP. | | | |I downloaded them eons ago. (I still have the paper copy that you sold quite| |ago.)" | |-----------------------------------------------------------------------------|
formatting link
has many non-existent articles for a month - e.g. December 2004 and March
2018 - are all these non-existent articles before a month's last existent article really monthly FAQ articles?
Mboxes are convenient for threads.
Downloading compressed mboxes of comp.compilers via FTP would take upto a few minutes. Instead, downloading HTML versions via HTTPS took more than 1 day.
I used wget
--input-file=URLs_for_comp.compilers_including_inexistent_articles.txt
--output-file=Wget_logfile_for_comp.compilers_from_its_start_to_the_end_of_the_Year_2025.txt & and
formatting link
and
formatting link
Wget said: "--2026-02-01 16:22:36--
formatting link
compilers.iecc.com (compilers.iecc.com)... 192.55.226.148,
2001:470:1f07:1126:7065:7373:696d:616c Connecting to compilers.iecc.com (compilers.iecc.com)|192.55.226.148|:443... connected. HTTP request sent, awaiting response... 200 OK Length: unspecified [text/html] Saving to: ‘86-01-001’
0K .. 83.3M=0s
2026-02-01 16:22:37 (83.3 MB/s) - ‘86-01-001’ saved [2968] [. . .]
2026-02-03 07:21:58 (6.42 MB/s) - ‘25-12-999’ saved [439]
FINISHED --2026-02-03 07:21:58-- Total wall clock time: 1d 14h 59m 22s Downloaded: 479520 files, 374M in 54s (6.92 MB/s)" but used six times as much space on the XFS filesystem to which I downlaoded these files as du --human-readable said: "2.2G ." for "du --block-size=1
2307362816 .".
(wc --bytes said 382891882 i.e. 365.2M.)
du -h said
489M on this XFS filesystem immediately after I ran delete_most_non-existent_articles_before_the_Year_2026.BASh
Cf.
formatting link
"Since 1986 he has been the moderator of the comp.compilers usenet group, a technical interest group on compilers (programs that translate among different computer languages), with an estimated readership of over
100,000." says
formatting link
How do you estimate a news group's readership?
When failing to find evidence like an imagined comp.compilers article, I found e.g. these following real articles . . .
|-------------------------------------------------------------------------------| |"Our esteemed moderator commented: | |> [Fortran has backward compatibility issues going back to the 1950s. | | | | | |Sure enough. | | | | | |> You've always been able to pass any array element as an argument by | |> address, and it's up to your code to get the array shapes | |> right. The only descriptors are the lengths of character variables introduced| |> in F77. -John] | | | | | |Hmmm....for the current version of Fortran, that isn't true. Assumed shape | |array - introduced some fifteen years ago in F90 - need to transport shape | |information that is equivalent to a "descriptor". So do allocatable arrays and | |array pointers. | | | | | |Jan | |[Oh, right. It's been a while. -John]" | |-------------------------------------------------------------------------------|
|-----------------------------------------------------------------------| |"[Well, there was the Fortran FREQUENCY statement which they dropped | |when they realized that programmers have no idea what the probabilities| |are. -John]" | |-----------------------------------------------------------------------|
|-------------------------------------------------------------------------------| |"And then our moderator wrote: | | | | | |> [You wouldn't like Fortran, in which the compiler is allowed to put the | |> test at the bottom of a DO loop and always run the loop at least once. -John]| | | | | |Well, they did change that in 1977. | | | | | |As far as I know, the original rules were related to the 704 index | |registers, kept in later machines. Also, the S/360 BXLE (branch on | |index less than or equal) is very convenient for a test at the end DO | |loop. | | | | | |Even more, the Fortran rules through Fortran 66 didn't allow negative | |or zero values for the start, end, or increment value, and, at least, | |the IBM OS/360 compilers enforced that in the case of constants. | | | | | |Then they might have overdone it in Fortran 77. I sort of like the | |option to have UPTO and DOWNTO, specifying the loop direction. | |Fortran 77 allows for either either positive or negative variable | |increment, requiring more complicated logic at run time. Fortran 77 | |also pretty much requires the loop increment and limit to be evaluated | |at loop entry and used for the duration of the loop. | | | | | |Also, Fortran 77 allows for REAL (floating point) DO loops, | |a feature removed in Fortran 90 and later. | | | | | |-- glen" | |-------------------------------------------------------------------------------|
|----------------------------------------------------------------------| |"[Back around 1960 I believe there were a lot of Fortran variants with| |the keywords in local languages, but they all disappeared for the | |obvious reason that it wrecked portability. -John]" | |----------------------------------------------------------------------|
|-------------------------------------------------------------------------| |"On Dec 30, 7:46 am, snipped-for-privacy@is-not-my.name wrote: | | | | | |> From a little time searching the web I found a thread here: | |> | |>
formatting link
| |> | |> reading through it suggests a modern compliant compiler should compile | |> compliant code from the old days. One of the great things about old | |> languages, especially old languages IBM supported, is almost everything| |> that used to work 50 years ago still does today. | | | | | |This is almost true. Fortran 95 has short list of deleted features | |(e.g., REAL do-loop index). Most (all?) modern compilers still | |implement the deleted feature. More importantly there are two | |F66 features that most (all?) modern compilers do not implement. | |I cannot remember one and would need to pull out my copy | |of F66 to find it. The other feature is the extended do loop. | |From F66: | | | | | | 7.1.2.8.2 A DO is said to have an EXTENDED RANGE if both | | of the following conditions apply: | | | | | | (1) There exists a GO TO statement or arithmetic IF | | statement within the range of the innermost DO of a | | completely nested nest that can cause control to pass | | out that nest. | | | | | | (2) There exists a GO TO statement of arithmetic IF | | statement not within the nest that, in the collection | | of all possible sequences of execution in the particular | | program unit, could be executed after a statement of the | | type described in (1), and the execution of which could | | cause control to return into the range of the innermost | | DO of the completely nested nest. | | | | | |This looks like an early attempt at exception handling." | |-------------------------------------------------------------------------|
|-----------------------------------------------------------------------| |"It seems te me that many languages could have been designed better | |in the first place, except that the rules for good design | |weren't yet known. But even more, trying to extend an existing | |language, and maintain compatibility with the previous one, | |tends to be ugly. | | | | | |As I understand it, one of the original goals of PL/I was to | |be Fortran-like, but not back compatible. (In addition to | |bringing in features from ALGOL and COBOL.) | | | | | |From "History of Programming Languages," edited by R. Wexelblat: | | | | | | "FORTRAN VI is not intended to be compatible with any known | | FORTRAN IV. It includes the functional capabilities of | | FORTRAN IV as well as those capabilities normally associated | | with "commmercial" and "algorithmic" languages. In order to | | embrace these capabilities in a usable and practical language, | | it has been found virtually impossible, and certainly | | undesirable, to retain FORTRAN IV as a compatible subset." | | | | | |and further: | | | | | | "Compatibility with FORTRAN IV would preclude having a simple | | elegant streamlined language because FORTRAN IV itself is heavily| | burdened with curious restrictions and complexities that have | | accumulated during its long history of additions that maintained | | approximate compatibility with early versions." | | | | | |(Note that the long history of additions was only about 10 years, | |as that was in 1963.) In the following 45 years (through Fortran 2008) | |many PL/I features have been added to Fortran, many restrictions | |removed, but many of the "curious restrictions" are still there." | |-----------------------------------------------------------------------|