Voglio dire discendere come nelle lingue il cui compilatore / interprete originale è stato scritto in C o in una lingua che discende da C.
Se non contate il montaggio, l'unica cosa che mi viene in mente è B. Ce ne sono altri?
Voglio dire discendere come nelle lingue il cui compilatore / interprete originale è stato scritto in C o in una lingua che discende da C.
Se non contate il montaggio, l'unica cosa che mi viene in mente è B. Ce ne sono altri?
Non dimenticare Algol, che è stato definito un grande miglioramento rispetto alla maggior parte dei suoi imitatori, tra cui C.
Sia COBOL che FORTRAN sono arrivati molto prima C. Ho visto un compilatore COBOL scritto in RPG.
Non è insolito che il primo compilatore di una lingua sia scritto in quella lingua. La prima compilazione può essere fatta a mano, e la prima cosa compilata con il compilatore compilato a mano è lo stesso codice sorgente che è stato compilato a mano. E la prima cosa compilata con quel primo compilatore compilato da una macchina è lo stesso file sorgente ancora una volta. Se il compilatore compilato a mano e il compilatore auto compilato producono esattamente lo stesso output da questo stesso file sorgente, si sa che il compilatore funziona "abbastanza bene" e il compilatore compilato a mano può essere gettato via.
Si noti che il compilatore manuale non ha bisogno di produrre codice efficiente o di produrlo in modo efficiente. Di fatto, non ha nemmeno bisogno di compilare alcuna caratteristica del linguaggio che il compilatore stesso non usa. In questo modo è possibile eseguire il bootstrap anche di linguaggi "grandi" in questo modo.
Forth potrebbe essere considerato come scritto in questo modo. C'è solo una piccola parte del runtime Forth che deve essere scritto in Assembler, e tutto il resto può essere scritto in Forth stesso.
Oltre a Lisp, Smalltalk, Forth, COBOL e FORTRAN menzionati da altri, c'è Pascal, Modula, Fortran, PL / I, BASIC, Snobol e APL, per citare alcune delle lingue più popolari che non erano né discese da né implementato in C. Le lingue iniziali sono state implementate o bootstrap in assembler.
Ecco un piccolo albero genealogico dei linguaggi di programmazione .
Vedi anche Wikipedia: lingue di programmazione precoce e Stabilire paradigmi fondamentali .
Leggi altre domande sui tag programming-languages history