[HN Gopher] Von Neumann's First Computer Program (1970)
___________________________________________________________________
Von Neumann's First Computer Program (1970)
Author : Cieplak
Score : 107 points
Date : 2024-05-22 05:31 UTC (1 days ago)
(HTM) web link (dl.acm.org)
(TXT) w3m dump (dl.acm.org)
| brudgers wrote:
| direct to pdf, https://dl.acm.org/doi/pdf/10.1145/356580.356581
| varjag wrote:
| tl;dr a variation of merge sort. Which is still one of the best
| sorting algorithms ever devised.
|
| Pretty impressive for the first stored computer program ever.
| larodi wrote:
| Impressive also Knuth decided to represent the math as assembly
| for CLARITY. Sounds like a major blow to math notation when it
| comes to algorithms...
| 082349872349872 wrote:
| Given that von Neumann had his name lent to "von Neumann
| regular" elements and rings (exercise: what, if any, is the
| relation to "regular expression"?), I suspect he could've
| come up with an algorithm notation that was both (a)
| exceedingly well suited to expressing FSM implementations,
| yet (b) inscrutable to all of us who grew up with assembly as
| a lingua franca.
| vajrabum wrote:
| His books are filled with assembly code. He created a machine
| and an assembly language to be vendor independent for his
| famous book series The Art Of Computer Programming. I first
| saw this in 1978 when I took data structures and I remember
| thinking that was a bit idiosyncratic even then.
|
| Among all the things Professor Knuth is famous for is writing
| an Algol compiler for the Burroughs 205 in assembly on paper
| over one summer just after he graduated from college. There's
| a handwritten listing of it at the computer history museum.
| It's pretty interesting and shows off how he programmed and
| thought about programming in 1960-1961. It's probably not
| terribly different from how other people programmed back then
| but he was better at it than most.
|
| https://www.computerhistory.org/collections/catalog/10272457.
| ..
| pmcjones wrote:
| And here is Paul Kimpel's story about how he got that
| compiler running (or at least limping) on his B205
| emulator: https://datatron.blogspot.com/2015/11/knuths-
| algol-58-compil...
| 082349872349872 wrote:
| Stored program computing didn't spring out of Zeus' forehead;
| radix and merge sorting were already a computing thing in the
| epoch of punched cards.
| varjag wrote:
| Merging on a collator is different from merge sort. And yes,
| the concept of sorting was known before von Neumann. Still,
| not sure about you but my first computer program was quite a
| bit more basic, so allow me to remain impressed.
| Sharlin wrote:
| Well, out of all people it was _von Neumann_ , who at six
| years old could divide eight-digit numbers in his head, and
| who even his fellow "Martians" [1] speculated might not be
| merely human.
|
| "I have sometimes wondered whether a brain like von
| Neumann's does not indicate a species superior to that of
| man." - Hans Bethe
|
| "von Neumann would carry on a conversation with my 3-year-
| old son, and the two of them would talk as equals, and I
| sometimes wondered if he used the same principle when he
| talked to the rest of us." - Edward Teller
|
| "There was a seminar for advanced students in Zurich that I
| was teaching and von Neumann was in the class. I came to a
| certain theorem, and I said it is not proved and it may be
| difficult. von Neumann didn't say anything but after five
| minutes he raised his hand. When I called on him he went to
| the blackboard and proceeded to write down the proof. After
| that I was afraid of von Neumann" - George Polya
|
| [1] https://en.wikipedia.org/wiki/The_Martians_(scientists)
| mehulashah wrote:
| Sorting has always been a bellwether for computing systems.
| Interestingly, Jim Gray recognized that 45 years later. He
| therefore initiated and evangelized the out of core Sort
| Benchmarks (sortbenchmark.org).
| odyssey7 wrote:
| The title states that this is von Neumann's "first computer
| program," but the writing includes plenty of indicators to the
| contrary and introduces the qualifiers "stored" and "extant."
|
| Maybe Knuth will issue a reward check to someone who emails him
| to fix the title?
| svat wrote:
| No he won't. The point of the reward has always been to solicit
| improvements to the text, point out things he missed -- it does
| not include conscious/stylistic choices. Please don't waste his
| time, as (from personal experience) he really does read and
| respond to error reports :-)
|
| "Punctuation is extremely important to me, but I insist on
| doing it my own way." -- Knuth
|
| [Edit: BTW, where in the paper are you seeing "plenty of
| indications to the contrary"? As far as I can tell there is
| only one earlier program by von Neumann mentioned, an earlier
| and 80x slower version of this same sorting program, which has
| not survived.]
| llm_trw wrote:
| Folklore is that Knuth hasn't used email since the 90s. You
| need to send dead trees to his secretary and hope she forwards
| it to him.
| jmbwell wrote:
| Still throws me that "order" here means something like
| "instruction" as in "that's an order, lieutenant!" and "code"
| means something like "set," as in "legal code" or "code of
| conduct."
|
| "Program" however is already used here by Knuth in more of the
| contemporary sense, though I gather in the time of ENIAC and
| EDVAC, a "program" was more narrowly the sequence of operations
| that implemented an order/instruction.
|
| What I love most about all this, though, is how much of the
| machine you can see in the algorithm and the programming. You can
| almost visualize the vacuum tubes turning on and off in response
| to these instructions, which themselves would have been
| electrical pulses arranged into patterns according to the
| positions of a bunch of Bakelite switches. Just amazing.
| bitshiftfaced wrote:
| Back in the 90s, I read "Bobby Fischer Teaches Chess," which he
| didn't write. It was published in the 60s. I can recall finding
| it strange how the author goes through the effort to explain
| what a program was within the context of his book, as though it
| didn't normally mean what I already understood it to mean.
| pixelpoet wrote:
| Extremely surprising reading about his mental arithmetic errors
| (!) and misunderstandings, forgetting about variables, etc.
| jay-barronville wrote:
| "[John von Neumann] probably never intended to have this program
| published and subjected to such scrutiny; although his manuscript
| is carefully documented, he probably wanted only to circulate it
| among a few interested colleagues. So when we find a few errors
| and a few instances of clumsy coding, we should realize that it
| was an early effort that was not supposed to represent a polished
| product."
| sramsay wrote:
| I believe some researchers have come to the conclusion that "the
| earliest extant program for a stored program digital computer"
| was not written by John von Neumann, but by his wife: Klara Dan
| von Neumann.
|
| Knuth references a letter "in the possession of Dr. Herman H.
| Goldstein," but scholars making the case for Klara are usually
| referencing the archival materials at the LoC:
|
| http://rs5.loc.gov/service/mss/eadxmlmss/eadpdfmss/1996/ms99...
|
| I'm doing some research that involves this issue, and I'd be
| grateful to anyone who has any insight on this. There's a book
| called _Klara and the Bomb_ , which is quite fascinating (and
| makes the claim for Klara), but that book leans more toward art
| than research scholarship.
|
| I am aware that "firsts" are often hard to identify when it comes
| to the history of science and technology; I'm personally more
| interested in what these very early programs were being used for
| than who wrote them, per se. But I'd still like to know if Knuth
| is actually correct in his assumption.
| dang wrote:
| Related:
|
| _Von Neumann 's First Computer Program (1970)_ -
| https://news.ycombinator.com/item?id=34314690 - Jan 2023 (9
| comments)
|
| _Von Neumann's First Computer Program (1970)_ -
| https://news.ycombinator.com/item?id=16975366 - May 2018 (18
| comments)
___________________________________________________________________
(page generated 2024-05-23 23:01 UTC)