Did any
computer built after 1960 NOT have a FORTRAN
implementation?
Yes, my ICT1301 (155+ built from 1962 to 1965) had no Fortran
compiler.
I've not seen a Fortran compiler for any of the following :
HP9830 (I claim this is a computer, it ran BASIC from ROM)
Philips P850 (maximum 2K words of core, I believe larger P800 series
machines did have a Fortran compiler available)
HP9825, 9831, 9845, 9835 series
HP80 series.
Just about all the pocekt computers (Sharp, Casio, HP, etc)
What abotu the IBM 5100? And for that matter the Commodore PET (I
know
the SuperPET had such a compiler), the C64, etc. And the Sinclair/
Amstrad
machines (ZX*0, ZX81, Spectrums). And the Oric
How many of the above would run *any* type of compile-to-machine-
language HLL compiler? Most of the BASICs were tokenized and
interpreted.
A few of those that you've cited simply didn't have the resources for
it.
But maybe not--even the lowly IBM 1620 with 20K digits (not bytes--a
character took 2 digits) of core and no disk drive would compile
FORTRAN. That's pretty remarkable when you consider that a 1620
instruction is 12 digits long--and the bottom half-K or so was
dedicated to storing arithmetic lookup tables (the 1620 Cadet
couldn't even add two numbers without the tables first being loaded).
The card reader-punch was used as intermediate storage--you read in
pass 1 of the compiler, then your program, which caused a new card to
be punched for every statement. You then read in the deck for pass
2, followed by your program and an executable object deck was punched
(and a listing was made on the printer). AFAIK, the Cadet equipped
with paper tape instead of cards could do the same thing.
This was probably not aimed at me, but for the record the ICT 1301
had a COBOL compiler (if you count that as a HLL) but most programs
were written in machine code with relativisers. The largest 1301 had
2000 words by 12 digits, but I think COBOL could run on a 1200 word
machine, so 1200 x 12 =14400 digits, a bit less than a 1620. What it
did (and still does) have is a 12000 word drum as backing store. Many
1301s also had mag tape too, but I am not sure COBOL needed to use
them. Mind you 1301 instructions are mainly six digits long, Its just
the block move and drum/tape I/O orders which are 12 digits.
The card/paper tape intermediates reminds me of the older Elliott 920
Coral 66 compiler written by CAP (computer analysts and programmers).
It was four passes and each pass punched out a tape to read into the
next pass. The first pass expanded macros and was optional if you did
not use any macros. The second and third passes converted from infix
to polish, then polish to reverse polish (or maybe the other way
round), and the final pass did code generation. Then you collected
together all the tapes from all your program segments and libraries
and fed them to a linking loader. If you managed to do that without
tearing a tape you were rewarded by your program running. My boss
wrote a mini operating system which loaded the programs and passed
the intermediates via a huge disk (about a meter diameter with the
axis horizontal, it was a head per track disc of a fairly small
capacity, IIRC 2 million bits or maybe 2 million 18 bit words), which
made life bearable.
Later on we moved the compiler onto a GEC 4080 to cross compile for
the 920. The 920 program grew and I had to modify the compiler so it
could produce the binary output in chunks as it exceeded a 1000 foot
roll of tape, and anyway I was the only person in the office capable
of rolling up a full 1000 foot roll without damaging it.
Roger.