Perché C è ancora nella categoria della lingua di alto livello? [chiuso]

12

Molti libri di testo sul linguaggio di programmazione C dicono che C è un linguaggio di programmazione di alto livello, ma molti dei tutor online dicono che C è anche un linguaggio di programmazione di medio livello. Perché è così?

    
posta CodeIt 29.12.2014 - 13:19
fonte

2 risposte

34

Storicamente, tutto ciò che riassume il codice assembly è stato chiamato di alto livello. C certamente lo fa. Questa definizione è anche relativamente chiara, al contrario di quanto segue.

Nel tempo, abbiamo creato sempre più linguaggi di programmazione e inventato sempre più astrazioni e strumenti. Rispetto a, diciamo, Python, il linguaggio C è positivamente primitivo nella ricchezza semantica e nel livello di astrazione sull'hardware. Con questo in mente, molte persone trovano fuorviante chiamare C di alto livello, quando c'è una ricchezza di lingue che sono molto più alte rispetto all'hardware.

Quindi ora "alto livello" di solito significa "astratti molto sull'hardware" e "basso livello" significa "astratti poco". Questa è la definizione utilizzata dai tuoi tutor. Non tutti sono d'accordo, però, e i vecchi testi non adottano magicamente la nuova terminologia, quindi si vede ancora il vecchio uso di "alto livello" (sotto il quale C è di alto livello) fluttuante. Tieni presente che molti buoni libri C sono fondamentalmente più recenti edizioni di libri pubblicati venti anni fa.

    
risposta data 29.12.2014 - 13:30
fonte
12

È un linguaggio di livello superiore rispetto al codice macchina (assembly), che è il punto di vista dal quale provengono i libri di programmazione C e le esercitazioni.

A tale riguardo è un linguaggio di programmazione di alto livello.

Tuttavia, è ancora molto vicino all'hardware - molto più di altri, più moderni linguaggi (Java, C # e simili) - se visto da questo punto di vista, è un mezzo linguaggio di programmazione a livello.

    
risposta data 29.12.2014 - 13:22
fonte

Leggi altre domande sui tag