O ponto fundamental é que o ambiente de hardware de computação dos anos 50 fez com que apenas um compilador fosse viável, dado o processamento orientado em lote dos computadores naquela época.
Na época, as melhores interfaces de usuário eram limitadas principalmente a cartões perfurados e impressoras de teletipo . Em 1961, o sistema SAGE tornou-se o primeiro Exibição do tubo de raios catódicos (CRT) em um computador. Portanto, a natureza interativa de um intérprete não era preferível ou natural até muito mais tarde.
Numerosos computadores na década de 1950 usaram os interruptores do painel frontal para carregar instruções, e a saída era simplesmente fileira de lâmpadas / LEDs, e os amadores até usaram interruptores no painel frontal & LEDs na década de 1970. Talvez você esteja familiarizado com o infame Altair 8800 .
Outras limitações de hardware também tornaram os intérpretes inviáveis. Havia a disponibilidade extremamente limitada de memória primária (por exemplo, RAM) em computadores nos anos 50. Antes do circuito integrado de semicondutores (que não veio até 1958), a memória estava limitada à memória do núcleo magnético ou atrasar a memória de linha que foi medida em bits ou palavras , sem prefixo. Combinado com a lentidão da memória de armazenamento secundário (por exemplo, disco ou fita), seria considerado um desperdício, se não inviável, ter muito da memória usada para o intérprete, mesmo antes que o programa sendo interpretado fosse carregado.
As limitações de memória ainda eram um fator importante quando a equipe liderada por John Backus na IBM criou o compilador FORTRAN em 1954-57. Este compilador inovador foi bem-sucedido apenas porque era um otimizador do compilador .
A maioria dos computadores na década de 1950 tinha qualquer Sistema Operacional, sem falar em recursos modernos como link dinâmico e gerenciamento de memória virtual, então a ideia de um intérprete era radical e impraticável naquela época. .
Adendo
As línguas dos anos 1950 eram primitivas. Eles incluíam apenas um punhado de operações, muitas vezes influenciadas pelas instruções do hardware subjacente ou pela definição do problema de seu uso direcionado.
Naquela época, os computadores eram raramente computadores de uso geral , no sentido em que pensamos em computadores hoje em dia. O fato de serem reprogramáveis sem precisarem ser reconstruídos era considerado um conceito revolucionário - antes as pessoas usavam máquinas eletromecânicas (normalmente calculadoras) para computar ou calcular respostas (a maioria das aplicações na década de 1950 era numérica em natureza).
Do ponto de vista da Ciência da Computação, os compiladores e intérpretes são ambos tradutores , e aproximadamente iguais em complexidade para implementar.