From Newsgroup: comp.arch.embedded
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. HTTP://Gloucester.Insomnia247.NL/ 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.)" | |-----------------------------------------------------------------------------|
HTTPS://compilers.IECC.com/comparch/article
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
HTTP://Gloucester.Insomnia247.NL/comp.compilers/Generate_URLs_for_comp.compilers_from_its_start_to_the_end_of_the_Year_2025.BASh
and
HTTP://Gloucester.Insomnia247.NL/comp.compilers/URLs_for_comp.compilers_including_inexistent_articles.txt
Wget said:
"--2026-02-01 16:22:36--
https://compilers.iecc.com/comparch/article/86-01-001
Resolving 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.
HTTP://Gloucester.Insomnia247.NL/comp.compilers/alternative_partial_archive_of_comp.compilers.HTML
"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
HTTPS://WWW.JohnLevine.com/about.phtml
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,
compil...@is-not-my.name wrote: |
| |
| |
From a little time searching the web I found a thread here: |
| http://lists.apple.com/archives/fortran-dev/2009/Mar/threads.html |
| 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." | |-----------------------------------------------------------------------|
--- Synchronet 3.21b-Linux NewsLink 1.2