Isso tem uma resposta muito clara, na verdade: o código fonte veio primeiro - por uma grande margem.
Antes de dar os detalhes técnicos, um pouco de perspectiva:
As primeiras linguagens de programação foram todas traduzidas para linguagem de máquina ou montador manualmente . A idéia de usar um software para automatizar essa tradução (por meio de um compilador ou avaliador) sempre veio mais tarde e estava longe de ser intuitiva.
Considere esta citação do artigo da Wikipedia sobre FORTRAN, que ilustra a relutância que os compiladores precisavam enfrentar:
… O primeiro compilador FORTRAN [foi] entregue em abril de 1957. Esse foi o primeiro compilador otimizador, porque os clientes relutavam em usar uma linguagem de programação de alto nível, a menos que seu compilador pudesse gerar código cujo desempenho fosse comparável ao da linguagem assembly codificada manualmente . [ênfase minha]
=> Quando o compilador FORTRAN chegou ao mercado (1957), as pessoas já estavam programando alegremente tanto na linguagem assembly quanto no FORTRAN.
O caso foi semelhante para o LISP (da Hackers & Painters ):
Steve Russell disse: veja, por que não programo essa avaliação ... e eu disse a ele, ho, ho, você está confundindo teoria com prática, essa avaliação é destinada à leitura, não à computação. Mas ele foi em frente e fez isso. Ou seja, ele compilou a avaliação no meu artigo no código de máquina IBM 704, corrigindo o bug e, em seguida, anunciou isso como um intérprete Lisp, o que certamente era. Então, nesse ponto, Lisp tinha essencialmente a forma que tem hoje ... "
Mais uma vez, não apenas o código fonte (no LISP) é anterior ao intérprete, mas o último nem estava implícito no primeiro.
Mas esses desenvolvimentos são relativamente atrasados. Mesmo sem considerar o Analytical Engine de Charles Babbage e o primeiro programa relacionado a Ada Lovelace , havia linguagens de programação no século 20 que antecederam os compiladores:
Plankalkül, de Konrad Zuse, e a construção matemática do cálculo λ, introduzida pela Igreja Alonzo. Ambas são linguagens de programação indubitavelmente especificadas formalmente, mas nenhuma delas possuía um compilador na época.
Para colocar isso em perspectiva, o λ-calculus é da década de 1930 e o Plankalkül foi desenvolvido por volta de 1945. Por outro lado, o primeiro compilador FORTRAN saiu em 1957 (mais uma vez três anos após a especificação do FORTRAN).