In each area of science and engineering there are some fundamental ideas or principles, which determine its contents and development. In computer science the principles formulated separately from each other by two geniuses of modern science, the American mathematician and physicist John von Neumann and the Soviet engineer and scientist Sergey Lebedev play the role of such fundamental ideas.
As is known, the first electronic computer ENIAC was designed in USA in 1945. The excellent analysis of the strong and gentle sides of the ENIAC project was given in the report of the Prinston Institute of Advanced Researches named "The preliminary discussion of the logical design of the electronic computing device" (June, 1946). This report written by the outstanding American mathematician John von Neumann and his colleagues Goldstain and Berks presented the project of the new electronic computer. The ideas pronounced in this report and known under the title "Neumann's Principles" rendered great influence on development of electronic computers.
In the Soviet Union the works on the creation of the electronic computers were started a little bit later. The first Soviet electronic computer was made in Kiev in 1953. It was called SEAM (the Small Electronic Accounting Machine); the academician Sergey Lebedev was the main designer of this computer. In the SEAM project Sergey Lebedev independently on John von Neumann came to those ideas of the electronic computer design as John von Neumann; therefore in the Russian historical literature the above-mentioned principles are called also as the "Neumann&Lebedev's Principles".
Speaking about the founders of theoretical computer science, it is necessary to mention two scientific achievements, the algebra of logic and the theory of algorithms.
The algebra of logic was designed in the middle of the 19th century by the English mathematician George Boole and was considered by him as the method of the formal logic mathematization. The development of the electronic computers used the two-valued electronic elements created capabilities for a broad usage of the "Boolean logic" for designing of the computer schemes. In the first half of the 30th years of the 20th century there appeared the mathematical works proved the principled capability of the solution of any problem with the help of automata. The given proof was made in 1936 by the English mathematician Turing and the American mathematician Post.
Since our Museum point of view it is rather interesting that the Fibonacci numbers and the golden section were the "hobby" of Allan Turing.
However, let's return again to the "Neumann&Lebedev's Principles". It is essential to emphasize, that the proposal of the binary notation usage in the electronic computers takes the central place among the "Neumann&Lebedev's Principles". This proposal is determined by the arithmetic advantages of the binary notation and its "optimal" coordination with the "Boolean" logic and with the simplicity of the technical realization of the binary memory element (trigger or flip-flop). However at the certain stage of computer development a number of the lacks of the classic binary notation was revealed. The problem of negative numbers representation is the first of them. As is known, the negative numbers can not be represented directly in the classic binary notation if we operate by only two binary numerals, 0 and 1, without the additional "tricks". The usage of the special codes for the negative numbers representation, inverse and supplementary, is the main "trick" in modern computers.
The "zero redundancy" is the second lack of the binary notation. The question is of the fact that if during transmission, storage or processing of the binary code, for example, 10011010 there will happen the "destruction" of the given code under "noise" influence and it will pass into the new code 11010010 (the "destruction" of separate bits is pointed out) then as the "destructed" code 11010010 (as well as any other code) is "allowed" in the classic binary notation, there is no way to find out the given error without the additional "tricks", that is, without the usage of the special redundant code.
Just the attempt to overcome these and other lacks of the classical binary notation promoted to the usage of the new notations in computers and development of the theory of number systems. And we will tell about it at the next pages of our Museum. Follow us!