The great insights of computer science
How did Alan Turing advance computer science?
Computer science
The philosopher of computing Bill Rapaport noted three "Great Insights of Computer Science"   Leibniz's, Boole's, Alan Turing's, Shannon's, & Morse's insight: There are only 2 objects that a computer has to deal with in order to represent "anything" All the information about any computable problem can be represented using only 0 & 1 (or any other bistable pair that can flip-flop between two easily distinguishable states,such as "on"/"off", "magnetized/de-magnetized", "high-voltage/low-voltage", etc. ).  Alan Turing's insight: There are only 5 actions that a computer has to perform in order to do "anything"  Every algorithm can be expressed in a language for a computer consisting of only 5 basic instructions: : * move left one location : * move right one location : * read symbol at current location : * print 0 at current location : * print 1 at current location  Boehm and Jacopini's insight: There are only 3 ways of combining these actions (into more complex ones) that are needed in order for a computer to do "anything" Only 3 rules are needed to combine any set of basic instructions into more complex ones:  sequence: : first do this; then do that  selection : : IF such-&-such is the case,  : THEN do this  : ELSE do that  repetition: : WHILE such & such is the case DO this Note that the 3 rules of Boehm's and Jacopini's insight can be further simplified with the use of goto (which means it's more elementary than structured programming.)