Path: csiph.com!xmission!news.snarked.org!border2.nntp.dca1.giganews.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: rst@panix.com (Robert Thau) Newsgroups: comp.compilers Subject: Re: Languages from the 1950s Date: Sun, 10 May 2020 00:46:22 +0000 (UTC) Organization: Public Access Networks Corp. Lines: 50 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <20-05-003@comp.compilers> References: <20-03-030@comp.compilers> Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="69402"; mail-complaints-to="abuse@iecc.com" Keywords: history, comment Posted-Date: 10 May 2020 17:41:42 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:2516 In article <20-03-030@comp.compilers>, Derek M. Jones wrote: >All, > >I looking for manuals for languages from the 1950s, >the earlier the better. > >There were lots of languages around (we just don't know much >about them today): >http://shape-of-code.coding-guidelines.com/2017/05/21/evidence-for-28-possible-compilers-in-1957/ It's worth noting that the whole nomenclature of "assembler", "compiler" and "interpreter" was not really established at the time -- the Laning-Zierler algebraic language for the Whirlwind (which is at least one of the Whirlwind entries, and possibly all three) was a compiler according to modern definitions of the word -- it generated machine code from an input language that was mostly algebraic expressions -- but its own documentation, here: http://bitsavers.trailing-edge.com/pdf/mit/whirlwind/E-series/E-364_A_Program_For_Translation_of_Mathematical_Equations_For_Whirlwind_I_Jan54.pdf calls it "interpretive". There are other systems on the list which were implemented as what we'd call interpreters nowadays. Mauchly's Short Code for the Univac may be the first; it was running by 1950. I believe Backus's Speedcoding for the 701 is also in this category. With that in mind, I can identify quite a few entries in that list as being what we'd call assemblers nowadays, including at least SOAP I and II for the IBM 650, the X-1 assembler for the Univac (I and II), SAP for the 704 (also available for the 709; see below), and at least a few of the several "AUTOCODER"s. There are a few other things on the list that are at least arguably double-counting -- the IBM 709 was a mostly upward-compatible extension of the 704 with better I/O hardware, and the FORTRAN compilers for the two machines shared just about all of their code outside of the I/O library. (As a sidelight, the sheer number of FORTRAN compilers is interesting, particularly as this happened without any formal standardization effort. This also suggests there may be a little back-dating going on in some of these cases. The first of these to be released was 704 FORTRAN, and it wasn't released until early 1957 itself; all the others must have come later, and a compiler in those days was not a small project.) Robert Thau rst@ai.mit.edu [SOAP II was definitely an assembler. I have the manual. It was an "optimizing" assembler in that it tried to place instructions in locations on the 650's drum to minimize the rotational delay. -John]