A partire dagli anni ’50, periodo in cui si registrò un vero e proprio boom tecnologico di macchine e computer, gli informatici di tutto il mondo iniziarono a creare e sviluppare i primi prototipi di programmazione digitale, arrivando in pochi anni a formulare una lunga serie di linguaggi computerizzati, molti dei quali vengono utilizzati ancora oggi nella vita di tutti i giorni.
Inizialmente, tali programmi venivano scritti in codice macchina, poiché, non esisteva un metodo più semplice, che fosse in grado di abbreviare i tempi. I programmatori, infatti, dovevano inserire fisicamente ogni interruttore, al fine ultimo di poter includere, correttamente, i valori rappresentativi dei dati standardizzati. Questo processo era, tendenzialmente, molto lungo e di difficile applicazione, per cui si decise di passare all’ideazione di altri sistemi, capaci di migliorare l’efficacia ed efficienza dei moderni strumenti tecnologici, nonché, rendere possibile l’esecuzione in parallelo di parti programmatiche sui vari dispositivi multimediali (attività di parallelismo).
Oggi esiste un numero enorme di linguaggi di programmazione, i quali, secondo la visione concorde di molti studiosi, possono essere confrontati secondo un metodo di compilazione e un livello di astrazione.
Metodo di compilazione
Alcuni linguaggi, per poter funzionare, richiedono la trasformazione di programmi in Codice macchina. Questo processo di trasformazione si chiama compilazione. Assembly Language, C, C ++ e Pascal sono tipici esempi di linguaggi compilati. La categoria dei linguaggi compilati, si contrappone alle lingue interpretate (Basic, Actionscript e Javascript).
Una lingua interpretata viene elaborata durante la sua fase di esecuzione. Ogni riga viene letta, analizzata ed eseguita, ma questo procedimento rende le lingue interpretate estremamente lente e il sistema centrale si sovraccarica di informazioni. Di fatto, questa è la ragione per cui le lingue interpretate sono le più lente in assoluto.
Poiché i programmi compilati sono quasi sempre più veloci di quelli interpretati, i linguaggi come C e C ++ tendono ad essere i più utilizzati per la scrittura di giochi. Java e C # si compilano entrambi in un linguaggio interpretato e, allo stesso tempo, compilato, risultando essere maggiormente performativi rispetto agli altri.
Linguaggi di programmazione di astrazione
Il confronto delle varie tipologie di linguaggi programmativi, comprende anche la verifica di un opportuno livello di astrazione. Con tale aggettivo, in particolar modo, si fa riferimento alla vicinanza di una specifica lingua informatica alle parti operative dell’hardware. Il codice macchina, come spiegato in precedenza, rappresenta il livello più basso, a cui segue il linguaggio assembly, posto poco più sopra nella scala di praticità.
All’interno di questa categoria di linguaggi astrattivi, è possibile trovare anche il linguaggio di C ++, il quale risulta essere superiore rispetto a C, per il semplice fatto che C ++ è in grado di offrire un maggior livello d’attenzione. Java e C # sono, a loro volta, superiori a C ++, perché vengono compilati in un linguaggio intermedio, definito bytecode. Attraverso questo bytecode è possibile rendere indipendente la piattaforma, ampliando, inoltre, l’esecuzione dei programmi e delle varie applicazioni web. Questa polifunzionalità del bytecode è capace di rendere Java, uno dei linguaggi di programmazione più importanti e utilizzati all’interno della nostra società.