The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* Re: [TUHS] Happy birthday, John Backus!
@ 2018-12-04 14:43 Noel Chiappa
  2018-12-04 14:53 ` Clem Cole
  2018-12-04 15:18 ` Toby Thain
  0 siblings, 2 replies; 25+ messages in thread
From: Noel Chiappa @ 2018-12-04 14:43 UTC (permalink / raw)
  To: tuhs; +Cc: jnc

    > From: Toby Thain

    > He made amends by being early to recognise that problem, and propose
    > solutions, in his 1977 ACM Turing Award lecture

Actually, I'd consider a far bigger amend to be his work on Algol 60 (he was
one of the main contributors), which Hoare so memorably described as "a
language so far ahead of its time that it was not only an improvement on its
predecessors but also on nearly all its successors".

AFAICT, although Algol 60 itself is no longer used, basically _every_ modern
programming language (other than wierd, parallel ones, etc) is heavily
descended from Algol 60 (e.g. C, via CPL).


As for FORTRAN, it's worth recalling that it was originally for the IBM 704,
which was their very _first_ commercial computer with core memory! And not a
lot of it - early 704's came with a massive 4KW of main memory! So the
compiler had to be squeezed into _very_ small space - and it reportedly did an
excellent job of emitting efficient code (at a time when a lot of people
thought that couldn't be done, and so were hostile to the concept of writing
program in HLL). And the compiler had to be written entirely in assembler, to
boot...

Which brings up an interesting query - I wonder when/what the last compiler
written in assembler was? I gather these days compilers for new machines are
always bootstrapped as cross-compilers (an X compiler for the Y machine is
written in X, run through the X compiler for the [existing] Z machine, and
then run though itself, on the Z machine, to produce binary of itself for the
Y machine).

       Noel

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [TUHS] Happy birthday, John Backus!
  2018-12-04 14:43 [TUHS] Happy birthday, John Backus! Noel Chiappa
@ 2018-12-04 14:53 ` Clem Cole
  2018-12-04 16:24   ` Tim Rylance
  2018-12-04 15:18 ` Toby Thain
  1 sibling, 1 reply; 25+ messages in thread
From: Clem Cole @ 2018-12-04 14:53 UTC (permalink / raw)
  To: Noel Chiappa; +Cc: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 282 bytes --]

On Tue, Dec 4, 2018 at 9:43 AM Noel Chiappa <jnc@mercury.lcs.mit.edu> wrote:

>  Which brings up an interesting query - I wonder when/what the last
> compiler written in assembler was?
>
Excellent question -- IBM's Fortran-H maybe?   circa mid 1970's would be my
guess.
ᐧ

[-- Attachment #2: Type: text/html, Size: 1167 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [TUHS] Happy birthday, John Backus!
  2018-12-04 14:43 [TUHS] Happy birthday, John Backus! Noel Chiappa
  2018-12-04 14:53 ` Clem Cole
@ 2018-12-04 15:18 ` Toby Thain
  1 sibling, 0 replies; 25+ messages in thread
From: Toby Thain @ 2018-12-04 15:18 UTC (permalink / raw)
  To: Noel Chiappa, tuhs

On 2018-12-04 9:43 AM, Noel Chiappa wrote:
>     > From: Toby Thain
> 
>     > He made amends by being early to recognise that problem, and propose
>     > solutions, in his 1977 ACM Turing Award lecture
> 
> Actually, I'd consider a far bigger amend to be his work on Algol 60 (he was

Possibly, but it's far harder to unpack thesis and reasoning from a
codebase.

> one of the main contributors), which Hoare so memorably described as "a
> language so far ahead of its time that it was not only an improvement on its
> predecessors but also on nearly all its successors".
> ...
> 
>        Noel
> 


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [TUHS] Happy birthday, John Backus!
  2018-12-04 14:53 ` Clem Cole
@ 2018-12-04 16:24   ` Tim Rylance
  2018-12-04 16:53     ` Clem Cole
  0 siblings, 1 reply; 25+ messages in thread
From: Tim Rylance @ 2018-12-04 16:24 UTC (permalink / raw)
  To: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 1054 bytes --]


> On 4 Dec 2018, at 14:53, Clem Cole <clemc@ccc.com> wrote:
> On Tue, Dec 4, 2018 at 9:43 AM Noel Chiappa <jnc@mercury.lcs.mit.edu <mailto:jnc@mercury.lcs.mit.edu>> wrote:
>  Which brings up an interesting query - I wonder when/what the last compiler written in assembler was? 
> Excellent question -- IBM's Fortran-H maybe?   circa mid 1970's would be my guess.
> ᐧ

The Fortran H compiler was mostly written in Fortran: 27,415 lines of Fortran and 16,721 lines of assembler according to slide 12 of [1].

There were some language extensions (structures and pointers) to support this, enabled by the secret compiler option XL.  They are described in Appendix J of the Program Logic Manual for the compiler [2].

The early-1980s Fortran 77 compiler for the GEC 4090 was written in Babbage, a thin PL/360-like veneer over the raw 4090 instruction set.

[1] http://booksite.elsevier.com/9780120884780/Graduate_Lecture_Slides/Core_Lectures/02FortranH.ppt

[2] http://www.bitsavers.org/pdf/ibm/360/fortran/Y28-6642-3_FortH_PLM_Nov68.pdf


[-- Attachment #2: Type: text/html, Size: 2766 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [TUHS] Happy birthday, John Backus!
  2018-12-04 16:24   ` Tim Rylance
@ 2018-12-04 16:53     ` Clem Cole
  2018-12-04 17:46       ` Paul Winalski
  0 siblings, 1 reply; 25+ messages in thread
From: Clem Cole @ 2018-12-04 16:53 UTC (permalink / raw)
  To: tuhs; +Cc: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 1033 bytes --]

On Tue, Dec 4, 2018 at 11:34 AM Tim Rylance <tuhs@tkr.bondplaza.com> wrote:

> The Fortran H compiler was mostly written in Fortran: 27,415 lines of
> Fortran and 16,721 lines of assembler according to slide 12 of [1].
>
Thanks for the pointer.      As Doug points out, Burrough's ESPOL started
the transition in the early 60s, but it took awhile for it to be something
that was done 100% of time by everyone.  The mid-70s is clearly the
transistion time - as you point out [2/3 self hosting, 1/3 assembler].    I
wonder what part was which?

Wirth wrote PL/360 to create Algol-W in the late 60s.   But York/APL (and I
believe APL/360) which were the same timeframe, were assembler [I hacked on
the former on TSS in the early/mid 70s].

The first DEC compilers for the 360 bit and 12 bit lines were written in
assembler, but they switched to BLISS (and some other languages for
different front-ends) by the 70s for the newer generations of compilers.
 Paul can give that history as he was part of it.

Clem
ᐧ

[-- Attachment #2: Type: text/html, Size: 2855 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [TUHS] Happy birthday, John Backus!
  2018-12-04 16:53     ` Clem Cole
@ 2018-12-04 17:46       ` Paul Winalski
  2018-12-04 20:59         ` Paul Winalski
  2018-12-05 17:49         ` [TUHS] Happy birthday, John Backus! Paul Winalski
  0 siblings, 2 replies; 25+ messages in thread
From: Paul Winalski @ 2018-12-04 17:46 UTC (permalink / raw)
  To: Clem Cole; +Cc: The Eunuchs Hysterical Society

On 12/4/18, Clem Cole <clemc@ccc.com> wrote:
>
> The first DEC compilers for the 360 bit and 12 bit lines were written in
> assembler, but they switched to BLISS (and some other languages for
> different front-ends) by the 70s for the newer generations of compilers.
>  Paul can give that history as he was part of it.

Unfortunately I can't give much of DEC's compiler history as I was a
member of the software development tools team at the time.  I didn't
pay too much attention to what was going on with the VAX compilers.  I
moved to the compiler world in 1985 as part of the GEM compiler back
end team, which was tasked with developing a new, common back end to
replace the various VAX code generators going forward.  The compiler
guys wanted to concentrate on optimization and code generation, so
they hired me--a software development tools guy--to design and
implement the non-compiler parts of the back end such as command line
parsing, heap memory management, file I/O, and object file generation.
Over the years GEM was targeted to MIPS, PRISM, Alpha, and Itanium
machine architectures, and VMS, Unix, Linux, and Windows NT operating
systems.  We were working on x86 when Compaq sold the Alpha
architecture and its engineering team (including GEM) to Intel.  Intel
never did anything with the GEM technology.

BLISS was DEC engineering's official implementation language.
BLISS-32 was used for the VAX.  I'm pretty sure VAX Fortran, VAX
COBOL, VAX BASIC, and VAX Pascal were all written in BLISS.  They all
had their own independently developed code generators.  VAX C and VAX
PL/I were written by Dave Cutler's compiler group in the late
70s/early 80s.  They shared a common back end called the VAX Code
Generator (VCG).  I don't know what the implementation language for
VCG was; I think it was C (Dave Cutler was not a BLISS fan).  VAX PL/I
used the Frieburghouse PL/I front end, which I think was written in C.
VAX Ada was also VCG-based; the front end was written in BLISS.
VAXeln Pascal might have been written in Pascal.

All of DEC's Alpha compilers used GEM as the back end.  There was also
a VAX MACRO GEM-based compiler that took VAX assembler as its input
language and generated native Alpha code.  GEM was originally
completely written in BLISS, but in the mid-1980s I started rewriting
the modules under my control in the common subset of C/C++ to take
advantage of strong typing (BLISS has no data typing whatsoever).  DEC
C/C++ for Alpha used the Edison Design Group C/C++ front end.  DEC
acquired COMPASS's compiler technology and DEC Fortran used the
COMPASS Fortran front end to support Fortran 90.  That code is written
in C.

-Paul W.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [TUHS] Happy birthday, John Backus!
  2018-12-04 17:46       ` Paul Winalski
@ 2018-12-04 20:59         ` Paul Winalski
  2018-12-04 22:49           ` [TUHS] Tandem NSK implementation language (was: Happy birthday, John Backus!) Greg 'groggy' Lehey
  2018-12-05 17:49         ` [TUHS] Happy birthday, John Backus! Paul Winalski
  1 sibling, 1 reply; 25+ messages in thread
From: Paul Winalski @ 2018-12-04 20:59 UTC (permalink / raw)
  To: Clem Cole; +Cc: The Eunuchs Hysterical Society

On 12/4/18, Paul Winalski <paul.winalski@gmail.com> wrote:
>
> Over the years GEM was targeted to MIPS, PRISM, Alpha, and Itanium
> machine architectures, and VMS, Unix, Linux, and Windows NT operating
> systems.  We were working on x86 when Compaq sold the Alpha
> architecture and its engineering team (including GEM) to Intel.

I forgot one:  Tandem NonStop OS on Alpha, which was under development
at Compaq at the time that Compaq decided to sell off the Alpha
technology to Intel.  The Tandem stuff was retargeted to Itanium.  We
GEM folks lost track of Tandem at that time, so I don't know what back
end HP is using for the NonStop on Itanium product.

-Paul W.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* [TUHS] Tandem NSK implementation language (was: Happy birthday, John Backus!)
  2018-12-04 20:59         ` Paul Winalski
@ 2018-12-04 22:49           ` Greg 'groggy' Lehey
  2018-12-05  0:08             ` Paul Winalski
  0 siblings, 1 reply; 25+ messages in thread
From: Greg 'groggy' Lehey @ 2018-12-04 22:49 UTC (permalink / raw)
  To: Paul Winalski; +Cc: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 1524 bytes --]

On Tuesday,  4 December 2018 at 15:59:46 -0500, Paul Winalski wrote:
> On 12/4/18, Paul Winalski <paul.winalski@gmail.com> wrote:
>>
>> Over the years GEM was targeted to MIPS, PRISM, Alpha, and Itanium
>> machine architectures, and VMS, Unix, Linux, and Windows NT operating
>> systems.  We were working on x86 when Compaq sold the Alpha
>> architecture and its engineering team (including GEM) to Intel.
>
> I forgot one:  Tandem NonStop OS on Alpha, which was under development
> at Compaq at the time that Compaq decided to sell off the Alpha
> technology to Intel.

Was this a start-from-scratch operation?  The original Tandem OS
(called Guardian at the time) was written in Tandem's TAL (Transaction
Application Language, amongst other productions), a vague evolution of
HP's SPL that looked more like Algol, starting in about 1974.  That is
also the earliest I know of an operating system being implemented
entirely in a high level language.

When Tandem started using other architectures (MIPS) in the late 1980s
we discussed translating the whole thing to C.  I was asked to write a
99% translator (maintaining comments and such), and failed.

I lost track of the system after that, but it seems surprising that
they would have started again from scratch.

Greg
--
Sent from my desktop computer.
Finger grog@lemis.com for PGP public key.
See complete headers for address and phone numbers.
This message is digitally signed.  If your Microsoft mail program
reports problems, please read http://lemis.com/broken-MUA

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 163 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [TUHS] Tandem NSK implementation language (was: Happy birthday, John Backus!)
  2018-12-04 22:49           ` [TUHS] Tandem NSK implementation language (was: Happy birthday, John Backus!) Greg 'groggy' Lehey
@ 2018-12-05  0:08             ` Paul Winalski
  0 siblings, 0 replies; 25+ messages in thread
From: Paul Winalski @ 2018-12-05  0:08 UTC (permalink / raw)
  To: Greg 'groggy' Lehey; +Cc: The Eunuchs Hysterical Society

On 12/4/18, Greg 'groggy' Lehey <grog@lemis.com> wrote:
> On Tuesday,  4 December 2018 at 15:59:46 -0500, Paul Winalski wrote:
>>
>> I forgot one:  Tandem NonStop OS on Alpha, which was under development
>> at Compaq at the time that Compaq decided to sell off the Alpha
>> technology to Intel.
>
> Was this a start-from-scratch operation?  The original Tandem OS
> (called Guardian at the time) was written in Tandem's TAL (Transaction
> Application Language, amongst other productions), a vague evolution of
> HP's SPL that looked more like Algol, starting in about 1974.  That is
> also the earliest I know of an operating system being implemented
> entirely in a high level language.

No, not start-from-scratch.  They modified the existing MIPS TAL front
end to generate GEM intermediate language.  I don't know if the TAL
front end generated GEM IL directly or if they wrote some sort of
IL-to-IL translator wedge.  IIRC we didn't need to do any object file
work in GEM to support Tandem because they were already using an
object file format we supported (ELF or COFF).

> When Tandem started using other architectures (MIPS) in the late 1980s
> we discussed translating the whole thing to C.  I was asked to write a
> 99% translator (maintaining comments and such), and failed.

IIRC some of the Tandem code was in C at this point (1999) but a TAL
for Alpha was also needed.

-Paul W.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [TUHS] Happy birthday, John Backus!
  2018-12-04 17:46       ` Paul Winalski
  2018-12-04 20:59         ` Paul Winalski
@ 2018-12-05 17:49         ` Paul Winalski
  1 sibling, 0 replies; 25+ messages in thread
From: Paul Winalski @ 2018-12-05 17:49 UTC (permalink / raw)
  To: Clem Cole; +Cc: The Eunuchs Hysterical Society

On 12/4/18, Paul Winalski <paul.winalski@gmail.com> wrote:
>
> GEM was originally
> completely written in BLISS, but in the mid-1980s I started rewriting
> the modules under my control in the common subset of C/C++ to take
> advantage of strong typing (BLISS has no data typing whatsoever).

Typo.  I meant to say "mid-1990s".

-Paul W.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [TUHS] Happy birthday, John Backus!
  2018-12-04 11:53   ` Tony Finch
@ 2018-12-04 14:23     ` Clem Cole
  0 siblings, 0 replies; 25+ messages in thread
From: Clem Cole @ 2018-12-04 14:23 UTC (permalink / raw)
  To: Tony Finch; +Cc: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 1686 bytes --]

As I said, I'm an OS type, I just sit near a number of compiler folks and
have been known to eat lunch with them - so I'm not aware of any that.
Unfortunately, about a month ago we lost the guy to ask about it (the late
Stan Whitlock), who was secretary of the Fortran standards committee for
about 30 years.   I'll try to ask Eklund and Grove (who are both retired
but I still see socially on occasion) what they remember about F and if I
learn anything I'll pass it back here.

Clem


ᐧ

On Tue, Dec 4, 2018 at 6:53 AM Tony Finch <dot@dotat.at> wrote:

> Clem Cole <clemc@ccc.com> wrote:
>
> > Fortran2018 (which was release just last week BTW) is hardly the
> language I
> > learned in the early 1970s (Fortran-IV) or my father a dozen or so years
> > previous to me.
>
> One of the more obscure books I have is about "the F programming language"
> http://www.fortran.com/F/ which is the modern subset of Fortran 95. A
> curious thing about F is that it doesn't include DO WHILE; my
> understanding is that there was a faction of the Fortran standardization
> committee which was firmly against WHILE, and that was the faction that
> defined the F subset.
>
> I can't now find any information about this argument / controversy, but my
> link archive includes https://dl.acm.org/citation.cfm?doid=800168.811545
> Brenda Baker's paper on converting Fortran IV programs to ratfor.
>
> Tony.
> --
> f.anthony.n.finch  <dot@dotat.at>  http://dotat.at/
> Irish Sea: Southwest 5, backing east, then becoming cyclonic later, 5 to 7,
> perhaps gale 8 later. Slight or moderate, occasionally rough later. Rain or
> showers. Good, occasionally poor.
>

[-- Attachment #2: Type: text/html, Size: 3057 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [TUHS] Happy birthday, John Backus!
  2018-12-03 16:25 ` Clem Cole
  2018-12-03 20:20   ` Paul Winalski
  2018-12-03 22:24   ` Paul Winalski
@ 2018-12-04 11:53   ` Tony Finch
  2018-12-04 14:23     ` Clem Cole
  2 siblings, 1 reply; 25+ messages in thread
From: Tony Finch @ 2018-12-04 11:53 UTC (permalink / raw)
  To: Clem Cole; +Cc: The Eunuchs Hysterical Society

Clem Cole <clemc@ccc.com> wrote:

> Fortran2018 (which was release just last week BTW) is hardly the language I
> learned in the early 1970s (Fortran-IV) or my father a dozen or so years
> previous to me.

One of the more obscure books I have is about "the F programming language"
http://www.fortran.com/F/ which is the modern subset of Fortran 95. A
curious thing about F is that it doesn't include DO WHILE; my
understanding is that there was a faction of the Fortran standardization
committee which was firmly against WHILE, and that was the faction that
defined the F subset.

I can't now find any information about this argument / controversy, but my
link archive includes https://dl.acm.org/citation.cfm?doid=800168.811545
Brenda Baker's paper on converting Fortran IV programs to ratfor.

Tony.
-- 
f.anthony.n.finch  <dot@dotat.at>  http://dotat.at/
Irish Sea: Southwest 5, backing east, then becoming cyclonic later, 5 to 7,
perhaps gale 8 later. Slight or moderate, occasionally rough later. Rain or
showers. Good, occasionally poor.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [TUHS] Happy birthday, John Backus!
  2018-12-03 22:24   ` Paul Winalski
@ 2018-12-03 23:00     ` Lawrence Stewart
  0 siblings, 0 replies; 25+ messages in thread
From: Lawrence Stewart @ 2018-12-03 23:00 UTC (permalink / raw)
  To: Paul Winalski; +Cc: The Eunuchs Hysterical Society

I’ve told this story before, but not here, I think.

Brian Reid talked me into teaching a programming language survey course at Stanford around 1983.  There were programming assignments in Pascal, LISP, APL, and Snobol.

Being young and too clever, I rewrote the Snobol assignment to be matching lists of crossword puzzle solution words for across and down into a grid representing the board (X’s and O’s).

I seriously underestimated how hard this would be for new programmers, so my own solution turned out to be the second fastest.

The fastest Snobol solution was a thing that if you held it out at arms length, you would swear it was FORTRAN.

-L

> On 2018, Dec 3, at 5:24 PM, Paul Winalski <paul.winalski@gmail.com> wrote:
> 
> On 12/3/18, Clem Cole <clemc@ccc.com> wrote:
>> 
>> Hrrumft.    You can write bad code is *any* language.   See the annual
>> obscure C prize.
> 
> Someone once said that a good Fortran programmer can write Fortran in
> any programming language.
> 
> -Paul W.


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [TUHS] Happy birthday, John Backus!
  2018-12-03 13:10         ` John P. Linderman
@ 2018-12-03 22:44           ` ron
  0 siblings, 0 replies; 25+ messages in thread
From: ron @ 2018-12-03 22:44 UTC (permalink / raw)
  To: 'The Eunuchs Hysterical Society'

[-- Attachment #1: Type: text/plain, Size: 259 bytes --]

You also had a unique insight into LISP (what CAR and CDR really mean).

 

 

If you understood the architecture and instruction set of the IBM 709/7090/7094 series (I cut my programming teeth on the 7094), you understood the "quirks" of Fortan




[-- Attachment #2: Type: text/html, Size: 2703 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [TUHS] Happy birthday, John Backus!
  2018-12-03 16:25 ` Clem Cole
  2018-12-03 20:20   ` Paul Winalski
@ 2018-12-03 22:24   ` Paul Winalski
  2018-12-03 23:00     ` Lawrence Stewart
  2018-12-04 11:53   ` Tony Finch
  2 siblings, 1 reply; 25+ messages in thread
From: Paul Winalski @ 2018-12-03 22:24 UTC (permalink / raw)
  To: Clem Cole; +Cc: The Eunuchs Hysterical Society

On 12/3/18, Clem Cole <clemc@ccc.com> wrote:
>
> Hrrumft.    You can write bad code is *any* language.   See the annual
> obscure C prize.

Someone once said that a good Fortran programmer can write Fortran in
any programming language.

-Paul W.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [TUHS] Happy birthday, John Backus!
  2018-12-03 20:20   ` Paul Winalski
  2018-12-03 20:37     ` Clem Cole
@ 2018-12-03 20:46     ` Hellwig Geisse
  1 sibling, 0 replies; 25+ messages in thread
From: Hellwig Geisse @ 2018-12-03 20:46 UTC (permalink / raw)
  To: tuhs

On Mo, 2018-12-03 at 15:20 -0500, Paul Winalski wrote:
> Of course one can write a grammar for Fortran using a formal system
> such as BNF.  It's just not going to be a well-behaved context-free
> grammar such as one can do for C or Pascal, and you won't be able to
> feed the grammar to lex and yacc, press a button, and have a compiler
> pop out. 

This in fact also isn't possible for C because of the "typedef problem".
See for example here:

http://eli.thegreenplace.net/2007/11/24/the-context-sensitivity-of-cs-grammar

Hellwig

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [TUHS] Happy birthday, John Backus!
  2018-12-03 20:20   ` Paul Winalski
@ 2018-12-03 20:37     ` Clem Cole
  2018-12-03 20:46     ` Hellwig Geisse
  1 sibling, 0 replies; 25+ messages in thread
From: Clem Cole @ 2018-12-03 20:37 UTC (permalink / raw)
  To: Paul Winalski; +Cc: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 1685 bytes --]

On Mon, Dec 3, 2018 at 3:21 PM Paul Winalski <paul.winalski@gmail.com>
wrote:

> Fortran was being devised at the same time that Chomsky, et.
> al. were doing the research on formal languages.  Essentially, Fortran
> syntax was devised before computer scientists knew better.  I suspect
> COBOL has similar issues.
>
I agree.  I think you nailed about "not knowing any better.'   And it
really is amazing how well it has endured.  Like a lot of things, the first
guys do make errors because they really have not yet eccounter the longer
term issues - they are just trying to solve the problem they had in front
of them.  On another fron, just think the issues in networking that were
made in the 70s.  Same thing.   But IP/TCP works and works really well and
has endured.

You folks in the compiler team and in particular the Fortran crew, did a
great job over the years.   I used to kid your boss asking of there were
Fortran developers than customers in our DEC days; but all kidding aside. And
he knew I knew.  I have always respected those folks.   As I said, they
paid my salary for so many years.

I think it's sad we don't teach Fortran to 'modern' programmers in a
comparitive languages class.   The students should know what is good, why
it has lasted and marvel at what a wonder system people devised in the late
1950s and how well Computer Scientists have over the next 60 years kept it
strong and relevant.  Then you can teach them, Rust, Go or whatever the
cool kids think are hot and important.    Ask them all, why do we think
this languages will or will not last (and the end, it will be economics but
that's another thread).

Clem
ᐧ

[-- Attachment #2: Type: text/html, Size: 3568 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [TUHS] Happy birthday, John Backus!
  2018-12-03 16:25 ` Clem Cole
@ 2018-12-03 20:20   ` Paul Winalski
  2018-12-03 20:37     ` Clem Cole
  2018-12-03 20:46     ` Hellwig Geisse
  2018-12-03 22:24   ` Paul Winalski
  2018-12-04 11:53   ` Tony Finch
  2 siblings, 2 replies; 25+ messages in thread
From: Paul Winalski @ 2018-12-03 20:20 UTC (permalink / raw)
  To: Clem Cole; +Cc: The Eunuchs Hysterical Society

I replied in detail to the child thread on it being impossible to
devise a formal grammar for Fortran before I saw this one (its
parent).

Of course one can write a grammar for Fortran using a formal system
such as BNF.  It's just not going to be a well-behaved context-free
grammar such as one can do for C or Pascal, and you won't be able to
feed the grammar to lex and yacc, press a button, and have a compiler
pop out.  Fortran was being devised at the same time that Chomsky, et.
al. were doing the research on formal languages.  Essentially, Fortran
syntax was devised before computer scientists knew better.  I suspect
COBOL has similar issues.

-Paul W.

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [TUHS] Happy birthday, John Backus!
  2018-12-02 22:17 Dave Horsfall
  2018-12-02 22:34 ` Toby Thain
@ 2018-12-03 16:25 ` Clem Cole
  2018-12-03 20:20   ` Paul Winalski
                     ` (2 more replies)
  1 sibling, 3 replies; 25+ messages in thread
From: Clem Cole @ 2018-12-03 16:25 UTC (permalink / raw)
  To: Dave Horsfall; +Cc: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 5923 bytes --]

On Sun, Dec 2, 2018 at 5:18 PM Dave Horsfall <dave@horsfall.org> wrote:

> Yeah, it was a nice language at the time; the engineers loved it,

Dave at this risk of piling-on, I feel like to I need to comment because
while I personally to not use it, my customers do.  It's still an excellent
tool, and the reality is that Fortran has pretty much paid my salary for
almost every computer firm I have worked since I left grad school.   That's
5 start-ups and too many large firms to count.
Fortran2018 (which was release just last week BTW) is hardly the language I
learned in the early 1970s (Fortran-IV) or my father a dozen or so years
previous to me.  Knocking modern Fortran is sort of like saying, "Any
vehicle that is made by Ford sucks because the Model T was not as good as
what we can do today."  I fear your are making statements about Fortran-2 -
maybe 77 or even 90.   But the language is niether dead nor useless.
 Check out an answer I did for quora last summer:  Clem Cole's answer to Is
the future of Fortran Programming Dead
<https://www.quora.com/Is-the-future-of-Fortran-programming-dead/answer/Clem-Cole>

I also point out, if you watch the nightly news on TV, you are using
Fortran.  Pretty much, all the weather data internationally is crunched on
Fortran codes.  The same is true for most 'large science.'   As for why we
will still use it is that *the work (the math) has not changed (If it ain’t
broke, don’t fix it). And most importantly, history has shown that it has
never been economically interesting to bother (or at least so far).*   Please
read my Quora answers to see a much more detailed analysis of that
statement.


> but tthe computer scientists hated it

I get it.   But ... at least we were taught it.  I'm saddened to say my
fairly recent CS major daughter was never shown it in her days in college.
In a funny twist of fate, her grandfather (my Dad) was taught Fortran in
1958 at a course at her college (Carleton) via an NSF grant.

As I have said elsewhere, in the 70's the CMU CS Dept, was arguing with the
Engineering school.   In those days, the CS Dept said, "Fortran was dead."
 But like the Phoenix, it is seems to get be getting more beautiful and
stronger with each reincarnation.



> (have you ever tried to debug a FORTRAN program that somebody else wrote?).

Hrrumft.    You can write bad code is *any* language.   See the annual
obscure C prize.   FWIW:  This little gem is legal Fortran-IV.   The last
time I compiled it on my Mac, a Fortran2013 draft comforming compiler, Intel
Fortran's  ifort, will accept thios deck also with no special switches
BTW.  That said, the last time I checked it on my Mac, ifort generated
incorrect code (it was reported as a bug, I'm not sure of the status of the
fix and I have not updated the compiler since last summer):

C    This FORTRAN program may be compiled and run on a Norsk Data
C    computer running SINTRAN and the FTN compiler.  It uses only
C    FORTRAN reserved words, and contains just one numerical
C    constant, in a character string (a format specifier).  When
C    you run it, it prints a well known mathematical construct...
C
C    Even FORTRAN is a block structured programming language:
C
      PROGRAM
     ;PROGRAM;INTEGERIF,INTEGER,GOTO,IMPLICIT;REALREAL,DIMENSION,EXTERNA
     AL,FORMAT,END;INTEGERLOGICAL;REALCOMPLEX,DATA,CALL,ASSIGN,CHARACTER
     R;DOFORIF=INTEGER,INTEGER;ENDDO;INTEGER=IF+IF;GOTO=INTEGER*INTEGER*
     *INTEGER*INTEGER-INTEGER-IF;CALLFUNCTION(IMPLICIT,REAL,DIMENSION,EX
     XTERNAL,FORMAT,END,LOGICAL,COMPLEX,DATA,CALL,ASSIGN,CHARACTER);CALL
     LSUBROUTINE(IMPLICIT,LOGICAL,GOTO,IF,INTEGER);END;SUBROUTINEFUNCTIO
     ON(IMPLICIT,REAL,DIMENSION,EXTERNAL,FORMAT,END,LOGICAL,COMPLEX,DATA
     A,CALL,ASSIGN,CHARACTER);RETURN;END;SUBROUTINESUBROUTINE(IMPLICIT,L
     LOGICAL,GOTO,IF,INTEGER);INTEGERGOTO,IMPLICIT(GOTO),LOGICAL(GOTO),I
     IF,INTEGER,EXTERNAL,RETURN;DOFOREXTERNAL=IF,GOTO;DOFORRETURN=INTEGE
     ER,EXTERNAL-IF;IMPLICIT(RETURN)=LOGICAL(RETURN)+LOGICAL(RETURN-IF);
     ;ENDDO;IMPLICIT(IF)=IF;IMPLICIT(EXTERNAL)=IF;DOFORRETURN=IF,GOTO-EX
     XTERNAL;WRITE(IF,'(''$  '')');ENDDO;DOFORRETURN=IF,EXTERNAL;WRITE(I
     IF,'(''$''I4)')IMPLICIT(RETURN);ENDDO;WRITE(IF,'( /)');DOFORRETURN=
     =IF,GOTO;LOGICAL(RETURN)=IMPLICIT(RETURN);ENDDO;ENDDO;END



The output should be something like this:
                           1
                         1   1
                       1   2   1
                     1   3   3   1
                   1   4   6   4   1
                 1   5  10  10   5   1
               1   6  15  20  15   6   1
             1   7  21  35  35  21   7   1
           1   8  28  56  70  56  28   8   1
         1   9  36  84 126 126  84  36   9   1
       1  10  45 120 210 252 210 120  45  10   1
     1  11  55 165 330 462 462 330 165  55  11   1
   1  12  66 220 495 792 924 792 495 220  66  12   1




I admit, I'm glad I'm not a compiler writer.   But they do have an amazing
product that is very useful to a lot of people and still quite popular.
BTW:  Here is the same program, in a bit more readable form:

      PROGRAM BLOCK
      INTEGER I1,I2,I3,I4,I5
      DIMENSION I1(13),I2(13)
      I4=1
      I5=2
      I3=13
      CALL PASCAL(I1,I2,I3,I4,I5)
      END

      SUBROUTINE PASCAL(IP1,IP2,IP3,IP4,IP5)
      INTEGER IP3,IP1(IP3),IP2(IP3),IP4,IP5
      INTEGER IP6,IP7
      DO IP6=IP4,IP3
         DO IP7=IP5,IP6-IP4
            IP1(IP7)=IP2(IP7)+IP2(IP7-IP4)
         ENDDO
         IP1(IP4)=IP4
         IP1(IP6)=IP4
         DO IP7=IP4,IP3-IP6
            WRITE(*,'("  "$)')
         ENDDO
         DO IP7=IP4,IP6
            WRITE(*,'(I4$)') IP1(IP7)
         ENDDO
         WRITE(*,*)
         DO IP7=IP4,IP3
            IP2(IP7)=IP1(IP7)
         ENDDO
      ENDDO
      END



ᐧ

[-- Attachment #2: Type: text/html, Size: 16442 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [TUHS] Happy birthday, John Backus!
  2018-12-03  4:27       ` Rob Pike
@ 2018-12-03 13:10         ` John P. Linderman
  2018-12-03 22:44           ` ron
  0 siblings, 1 reply; 25+ messages in thread
From: John P. Linderman @ 2018-12-03 13:10 UTC (permalink / raw)
  To: Rob Pike; +Cc: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 2089 bytes --]

If you understood the architecture and instruction set of the IBM
709/7090/7094 series (I cut my programming teeth on the 7094), you
understood the "quirks" of Fortan: three way branches, indexing arrays in
reverse order, always executing a loop at least once, etc. Fortran
"tricked" the writer into producing code that worked well on those
machines, but was much easier to understand and modify than assembler. Not
all that different from C and DEC boxes, but the IBM machines were less
coherent.

On Sun, Dec 2, 2018 at 11:29 PM Rob Pike <robpike@gmail.com> wrote:

> To the author of the first message, the one who called Fortran an
> "obscenity".
>
> -rob
>
>
> On Mon, Dec 3, 2018 at 3:11 PM Toby Thain <toby@telegraphics.com.au>
> wrote:
>
>> On 2018-12-02 8:32 PM, Rob Pike wrote:
>> > Fortran was a marvel. Don't judge it by today's ideas about language
>> design.
>>
>> The 1977 lecture was by John Backus, not me, so I'm confused who that's
>> directed at.
>>
>> >
>> > -rob
>> >
>> >
>> > On Mon, Dec 3, 2018 at 9:34 AM Toby Thain <toby@telegraphics.com.au
>> > <mailto:toby@telegraphics.com.au>> wrote:
>> >
>> >     On 2018-12-02 5:17 PM, Dave Horsfall wrote:
>> >     > As every computer programmer should know, John Backus was emitted
>> in
>> >     > 1924; he gave us the BNF syntax (he is the "B"), but he also gave
>> us
>> >     > that FORTRAN obscenity...  Yeah, it was a nice language at the
>> >     time; the
>> >     > engineers loved it, but tthe computer scientists hated it (have
>> >     you ever
>> >     > tried to debug a FORTRAN program that somebody else wrote?).
>> >
>> >     He made amends by being early to recognise that problem, and propose
>> >     solutions, in his 1977 ACM Turing Award lecture (still perfectly
>> >     relevant today):
>> >
>> >
>> https://www.thocp.net/biographies/papers/backus_turingaward_lecture.pdf
>> >
>> >     --Toby
>> >
>> >
>> >
>> >     >
>> >     > Trivia: there is no way that FORTRAN can be described in any
>> >     syntax; it
>> >     > is completely ad-hoc.
>> >     >
>> >     > -- Dave
>> >     >
>> >
>>
>>

[-- Attachment #2: Type: text/html, Size: 3266 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [TUHS] Happy birthday, John Backus!
  2018-12-03  4:11     ` Toby Thain
@ 2018-12-03  4:27       ` Rob Pike
  2018-12-03 13:10         ` John P. Linderman
  0 siblings, 1 reply; 25+ messages in thread
From: Rob Pike @ 2018-12-03  4:27 UTC (permalink / raw)
  To: toby; +Cc: tuhs

[-- Attachment #1: Type: text/plain, Size: 1461 bytes --]

To the author of the first message, the one who called Fortran an
"obscenity".

-rob


On Mon, Dec 3, 2018 at 3:11 PM Toby Thain <toby@telegraphics.com.au> wrote:

> On 2018-12-02 8:32 PM, Rob Pike wrote:
> > Fortran was a marvel. Don't judge it by today's ideas about language
> design.
>
> The 1977 lecture was by John Backus, not me, so I'm confused who that's
> directed at.
>
> >
> > -rob
> >
> >
> > On Mon, Dec 3, 2018 at 9:34 AM Toby Thain <toby@telegraphics.com.au
> > <mailto:toby@telegraphics.com.au>> wrote:
> >
> >     On 2018-12-02 5:17 PM, Dave Horsfall wrote:
> >     > As every computer programmer should know, John Backus was emitted
> in
> >     > 1924; he gave us the BNF syntax (he is the "B"), but he also gave
> us
> >     > that FORTRAN obscenity...  Yeah, it was a nice language at the
> >     time; the
> >     > engineers loved it, but tthe computer scientists hated it (have
> >     you ever
> >     > tried to debug a FORTRAN program that somebody else wrote?).
> >
> >     He made amends by being early to recognise that problem, and propose
> >     solutions, in his 1977 ACM Turing Award lecture (still perfectly
> >     relevant today):
> >
> >
> https://www.thocp.net/biographies/papers/backus_turingaward_lecture.pdf
> >
> >     --Toby
> >
> >
> >
> >     >
> >     > Trivia: there is no way that FORTRAN can be described in any
> >     syntax; it
> >     > is completely ad-hoc.
> >     >
> >     > -- Dave
> >     >
> >
>
>

[-- Attachment #2: Type: text/html, Size: 2366 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [TUHS] Happy birthday, John Backus!
  2018-12-03  1:32   ` Rob Pike
@ 2018-12-03  4:11     ` Toby Thain
  2018-12-03  4:27       ` Rob Pike
  0 siblings, 1 reply; 25+ messages in thread
From: Toby Thain @ 2018-12-03  4:11 UTC (permalink / raw)
  To: Rob Pike; +Cc: tuhs

On 2018-12-02 8:32 PM, Rob Pike wrote:
> Fortran was a marvel. Don't judge it by today's ideas about language design.

The 1977 lecture was by John Backus, not me, so I'm confused who that's
directed at.

> 
> -rob
> 
> 
> On Mon, Dec 3, 2018 at 9:34 AM Toby Thain <toby@telegraphics.com.au
> <mailto:toby@telegraphics.com.au>> wrote:
> 
>     On 2018-12-02 5:17 PM, Dave Horsfall wrote:
>     > As every computer programmer should know, John Backus was emitted in
>     > 1924; he gave us the BNF syntax (he is the "B"), but he also gave us
>     > that FORTRAN obscenity...  Yeah, it was a nice language at the
>     time; the
>     > engineers loved it, but tthe computer scientists hated it (have
>     you ever
>     > tried to debug a FORTRAN program that somebody else wrote?).
> 
>     He made amends by being early to recognise that problem, and propose
>     solutions, in his 1977 ACM Turing Award lecture (still perfectly
>     relevant today):
> 
>     https://www.thocp.net/biographies/papers/backus_turingaward_lecture.pdf
> 
>     --Toby
> 
> 
> 
>     >
>     > Trivia: there is no way that FORTRAN can be described in any
>     syntax; it
>     > is completely ad-hoc.
>     >
>     > -- Dave
>     >
> 


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [TUHS] Happy birthday, John Backus!
  2018-12-02 22:34 ` Toby Thain
@ 2018-12-03  1:32   ` Rob Pike
  2018-12-03  4:11     ` Toby Thain
  0 siblings, 1 reply; 25+ messages in thread
From: Rob Pike @ 2018-12-03  1:32 UTC (permalink / raw)
  To: toby; +Cc: tuhs

[-- Attachment #1: Type: text/plain, Size: 955 bytes --]

Fortran was a marvel. Don't judge it by today's ideas about language design.

-rob


On Mon, Dec 3, 2018 at 9:34 AM Toby Thain <toby@telegraphics.com.au> wrote:

> On 2018-12-02 5:17 PM, Dave Horsfall wrote:
> > As every computer programmer should know, John Backus was emitted in
> > 1924; he gave us the BNF syntax (he is the "B"), but he also gave us
> > that FORTRAN obscenity...  Yeah, it was a nice language at the time; the
> > engineers loved it, but tthe computer scientists hated it (have you ever
> > tried to debug a FORTRAN program that somebody else wrote?).
>
> He made amends by being early to recognise that problem, and propose
> solutions, in his 1977 ACM Turing Award lecture (still perfectly
> relevant today):
>
> https://www.thocp.net/biographies/papers/backus_turingaward_lecture.pdf
>
> --Toby
>
>
>
> >
> > Trivia: there is no way that FORTRAN can be described in any syntax; it
> > is completely ad-hoc.
> >
> > -- Dave
> >
>
>

[-- Attachment #2: Type: text/html, Size: 1490 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: [TUHS] Happy birthday, John Backus!
  2018-12-02 22:17 Dave Horsfall
@ 2018-12-02 22:34 ` Toby Thain
  2018-12-03  1:32   ` Rob Pike
  2018-12-03 16:25 ` Clem Cole
  1 sibling, 1 reply; 25+ messages in thread
From: Toby Thain @ 2018-12-02 22:34 UTC (permalink / raw)
  To: Dave Horsfall, The Eunuchs Hysterical Society

On 2018-12-02 5:17 PM, Dave Horsfall wrote:
> As every computer programmer should know, John Backus was emitted in
> 1924; he gave us the BNF syntax (he is the "B"), but he also gave us
> that FORTRAN obscenity...  Yeah, it was a nice language at the time; the
> engineers loved it, but tthe computer scientists hated it (have you ever
> tried to debug a FORTRAN program that somebody else wrote?).

He made amends by being early to recognise that problem, and propose
solutions, in his 1977 ACM Turing Award lecture (still perfectly
relevant today):

https://www.thocp.net/biographies/papers/backus_turingaward_lecture.pdf

--Toby



> 
> Trivia: there is no way that FORTRAN can be described in any syntax; it
> is completely ad-hoc.
> 
> -- Dave
> 


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [TUHS] Happy birthday, John Backus!
@ 2018-12-02 22:17 Dave Horsfall
  2018-12-02 22:34 ` Toby Thain
  2018-12-03 16:25 ` Clem Cole
  0 siblings, 2 replies; 25+ messages in thread
From: Dave Horsfall @ 2018-12-02 22:17 UTC (permalink / raw)
  To: The Eunuchs Hysterical Society

As every computer programmer should know, John Backus was emitted in 1924; 
he gave us the BNF syntax (he is the "B"), but he also gave us that 
FORTRAN obscenity...  Yeah, it was a nice language at the time; the 
engineers loved it, but tthe computer scientists hated it (have you ever 
tried to debug a FORTRAN program that somebody else wrote?).

Trivia: there is no way that FORTRAN can be described in any syntax; it is 
completely ad-hoc.

-- Dave

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2018-12-05 17:49 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-04 14:43 [TUHS] Happy birthday, John Backus! Noel Chiappa
2018-12-04 14:53 ` Clem Cole
2018-12-04 16:24   ` Tim Rylance
2018-12-04 16:53     ` Clem Cole
2018-12-04 17:46       ` Paul Winalski
2018-12-04 20:59         ` Paul Winalski
2018-12-04 22:49           ` [TUHS] Tandem NSK implementation language (was: Happy birthday, John Backus!) Greg 'groggy' Lehey
2018-12-05  0:08             ` Paul Winalski
2018-12-05 17:49         ` [TUHS] Happy birthday, John Backus! Paul Winalski
2018-12-04 15:18 ` Toby Thain
  -- strict thread matches above, loose matches on Subject: below --
2018-12-02 22:17 Dave Horsfall
2018-12-02 22:34 ` Toby Thain
2018-12-03  1:32   ` Rob Pike
2018-12-03  4:11     ` Toby Thain
2018-12-03  4:27       ` Rob Pike
2018-12-03 13:10         ` John P. Linderman
2018-12-03 22:44           ` ron
2018-12-03 16:25 ` Clem Cole
2018-12-03 20:20   ` Paul Winalski
2018-12-03 20:37     ` Clem Cole
2018-12-03 20:46     ` Hellwig Geisse
2018-12-03 22:24   ` Paul Winalski
2018-12-03 23:00     ` Lawrence Stewart
2018-12-04 11:53   ` Tony Finch
2018-12-04 14:23     ` Clem Cole

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).