5 ms·
So the first FORTRAN program was run 3 years before the first FORTRAN compiler was delivered. Was the program manually translated to assembly/machine code?
by _kst_ 13y ago
So the first FORTRAN program was run 3 years before the first FORTRAN compiler was delivered. Was the program manually translated to assembly/machine code?
- Scaevolus 13y agoIt was probably compiled by a prototype which needed many years of bug fixes and improvements to be generally useful.
- kps 13y agoThe 1957 paper, The FORTRAN Automatic Coding System¹, begins: The FORTRAN project was begun in the summer of 1954. The paper is worth reading in full. The compiler was probably the first in the modern sense (and the term was not used for such — the paper refers to it as a ‘translator’) yet was remarkably sophisticated, including things like common subexpression elimination, strength reduction, flow analysis, and register allocation for the 704's three precious index registers. On the other hand the section on expression parsing shows its age; it's trivial today, but recursive grammars were not then yet understood. ¹http://archive.computerhistory.org/resources/text/Fortran/102663113.05.01.acc.pdf http://archive.computerhistory.org/resources/text/Fortran/10...
- dalke 13y ago"it's trivial today, but recursive grammars were not then yet understood" I like the parenthetical line from http://rules-of-the-game.com/com002-memoir1.htm http://rules-of-the-game.com/com002-memoir1.htm , which describes some people who are trying to understand the FORTRAN compiler based on analysis of its assembly code. I quote more than that line to give context: > As we read the code, we flow-charted. As the flow charts grew, we Scotch-taped page to page, since we didn't know enough yet to be able to identify distinct modules or procedures that could safely be relegated to separate pages. The code didn't lend itself very readily to such treatment, in any case; this was, remember, a vast, undifferentiated torrent of assembly-language code, whose main organizing principle was not "while" or "until," but rather "Oh, and another thing!" (If you take this as a dig at the FORTRAN designers and implementers, you are badly mistaken; that would be like criticizing Lewis & Clark for not taking Interstate 80 when traveling west.)
- dalke 13y agoI'm having a tough time trying to find the answer to that question. Most sites just repeat this date as a factoid, with no context. I looked at the videos mentioned at http://www.softwarepreservation.org/projects/FORTRAN/index.html#Films/video http://www.softwarepreservation.org/projects/FORTRAN/index.h... as well as some of the documents linked to elsewhere from that page. One of the more interesting was the specification, dated November 10, 1954, at http://archive.computerhistory.org/resources/text/Fortran/102679231.05.01.acc.pdf http://archive.computerhistory.org/resources/text/Fortran/10... . It's interesting because of the level of detail in the specification The most relevant description I found was http://www.combat-diaries.co.uk/diary29/whirlwind.htm http://www.combat-diaries.co.uk/diary29/whirlwind.htm . > It was a modest effort. At first, it consisted of Backus, an easy-going young man with a master's in mathematics from Columbia University, and Irving Ziller, another programmer. By the summer of 1954, three more programmers had joined the team, and they began running test programs on an IBM 701 in the IBM complex at 590 Madison Avenue, in Manhattan. From the beginning, the group concentrated on the compiler. "We simply made up the language [the commands that make up a user's program] as we went along," Backus recalled. > We did not regard language design as a difficult problem, merely a simple prelude to the real problem: designing a compiler which could produce efficient [binary] programs. Of course one of our goals was to design a language which would make it possible for engineers and scientists to write programs for the 704. We also wanted to eliminate a lot of the bookkeeping and detailed, repetitive planning which hand coding [in assembly language] involved. > Backus and his team began writing the compiler in early 1955, after a year and a half of preliminary work. This tell us that the first FORTRAN program (1954) was not run on the compiler that didn't start until 1955, and which was eventually shipped. What I remember from Richard Waychoff's "Stories about the B5000 and People Who Were There", which concerned Burrough's ALGOL development in the early 1960s, was that in that era people spent a lot of time in analysis, before getting to the actual programming. Waychoff proposes that the best schedule is "A. Design of the language complete. B. Design of the Scanner complete. C. Design of the Statement Parsers complete. D. Start of programming. E. Project successfully completed." That model fits what I read about the FORTRAN development. That is, I think the IBM people spent a lot of time developing the language, developing algorithms for things like parsing, fleshing those out, and only then getting to what we would consider to be the programming part proper. All the research though, and I still can't tell you if the first FORTRAN program was hand assembled. However, since Backus had already developed Speedcoding, which was more like an interpreted assembler, my guess is that the first program was processed in the same way, through a limited FORTRAN interpreted that handled the subset of FORTRAN that they tested.
- qwerta 13y agoYou do not even need a computer to run programs. Turing ran chess playing programs on 'himself'. And 'paper computer' was first thing programmed by my generation (excuse poor translation from Czech): http://translate.google.com/translate?hl=en&ie=UTF8&prev=_t&sl=cs&tl=en&u=http://www.root.cz/clanky/papirovy-pocitac-cgs/ http://translate.google.com/translate?hl=en&ie=UTF8&prev=_t&... http://mmm.webz.cz/pocitadla/cgs.html http://mmm.webz.cz/pocitadla/cgs.html