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.
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 Zürich 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 Pólya
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.
That was wonderful. That equipment is 2 or 3 generations older than my first experiences, but I remember some of the same fiddly nature when doing bare metal (well cross assembler) programming in the late 1970s on a TI-980B that had a card reader, tape, a small removable disk, and some sort of terminal. Maybe a silent 700? I don't quite remember. It was fun at the time.
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.