A Letter from John von Neumann
This post originally appeared on the Software Carpentry website.
Plans to standardize and publish codes of various groups have been made in the past, and they have not been very successful so far. The difficulty is that most people who have been active in this field seem to believe that it is easier to write a new code than to understand an old one. This is probably exaggerated, but it is certainly true that the process of understanding a code practically involves redoing it de novo. The situation is not very unlike the one which existed in formal logics over a long initial period, where every new author invented a new symbolism. It took several decades until a few of these found wider acceptance, at least within limited groups. In the case of computing machine codes, the situation is even more difficult, since all logics refer, at least ideally, to the same substratum, whereas the machine codes frequently refer to physically different machines.
I think, nevertheless, that if a competent mathematician...is interested in working on this problem, he ought to be encouraged. The task may turn out to be a thankless one, but it is always possible that a competent and energetic man will in the end come up with something useful. My personal doubts are limited to the near future, and even if it will take a non-trivial number of years to produce something, there is no harm in starting early.
— John von Neumann, in a letter to Marston Morse, April 23, 1952