Molti libri di testo sul linguaggio di programmazione C dicono che C è un linguaggio di programmazione di alto livello, ma molti tutor online affermano che C è anche un linguaggio di programmazione di livello medio. Perché è così?
Molti libri di testo sul linguaggio di programmazione C dicono che C è un linguaggio di programmazione di alto livello, ma molti tutor online affermano che C è anche un linguaggio di programmazione di livello medio. Perché è così?
Risposte:
Storicamente, tutto ciò che si sottrae al codice assembly è stato chiamato di alto livello. C certamente lo fa. Questa definizione è anche relativamente chiara, in contrasto con quanto segue.
Nel tempo, abbiamo creato sempre più linguaggi di programmazione e inventato sempre più astrazioni e strumenti. Rispetto, per esempio, a 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 ci sono molti linguaggi che sono molto più in alto dell'hardware.
Quindi ora "alto livello" di solito significa "abstract molto sull'hardware" e "basso livello" significa "abstract poco". Questa è la definizione utilizzata dai tutor. Tuttavia, non tutti sono d'accordo, 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) che fluttua intorno. Tieni presente che molti buoni libri in C sono sostanzialmente edizioni più recenti di libri pubblicati venti anni fa.
È un linguaggio di livello superiore rispetto al codice macchina (assembly), che è il punto di vista da cui provengono i libri di programmazione C e le esercitazioni.
A tale proposito è un linguaggio di programmazione di alto livello.
Tuttavia, è ancora molto vicino all'hardware - molto più di altri linguaggi più moderni (Java, C # e simili) - se visto da questo punto di vista, è un linguaggio di programmazione di livello medio.