La teoría que forma la base de la mayor parte del "software" moderno fue propuesta por Alan Turing en su ensayo de 1936, «Los números computables», con una aplicación al problema de decisión.