Ciao ixamit grazie di aver risposto,
io ho sempre da capire e imparare dato che so MOLTO poco
dato che non lo faccio per l'uni o lavoro ma per semplice passione mi piace cercare di rendere le cose semplici, magari con esempi pratici, cerco di scarnire i concetti. Capita la base c'è sempre tempo per complicarsi la vita.
Da quello che ho letto ( cm hai scritto anche tu mi pare alla fine) in teoria ogni linguaggio può essere sia compilato che interpretato, dipende dall'implementazione del linguaggio ( non ho mai capito bene che si intenda con questo termine, rendere operativo? trasformare il linguaggio in impulsi elettrici?).
Di solito linguaggi CPU bound quindi la cui esecuzione dipende essenzialmente dal processore, programmi che sono eseguiti molte volte e che necessitano di rapidità sono compilati.
Vengono interpretati linguaggi I/O bound,dipendenti non tanto dalla velocità di elaborazione quanto dalla velocità di input (mi puoi fare un esempio? programmi che chiedono all'utente di immettere valori?), o quelli da eseguire una sola volta.
Poi ci sono gli pseudo compilati che credo siano quelli che tu hai chiamato semi-compilati, la compilazione crea uno pseudo-codice,permettimi il termine improprio, che poi viene interpretato.
Degli esempi che mi hai fatto conosco solo il linguaggio di formattazione testi HTML, so cos'è la shell ma non ho idea di come operi idem per il PHP, così magari come esempio prendiamo l'HTML, potremmo dire che questo rientra nella categoria dei linguaggi eseguiti una sola volta?
Spero di aver capito e non aver fatto troppa confusione nel caso spero in tue delucidazioni.
Questa domanda mi è venuta perchè ieri ho iniziato a leggere architettura dei calcolatori di Tanenbaum il fisico famoso per la discussione con torvalds sui kernel monolitici, e parlando della storia dei calcolatori faceva l'analogia software-hardware, ossia si capì come l'hardware potesse essere emulato a livello software "interpretando" appunto istruzioni e risparmiando (riprodurre software è molto più economico di produrre molti pezzi hardware). Mi chiedo così come sia possibile questo, cioè sempre in termini terra terra, agli albori facevano "chip" che programmavano a eseguire un tot di istruzioni, invece dopo hanno capito che non c'era bisogno di programmare il singolo chip ma bastava un programma per fargli svolgere determinati compiti?
spero di essere stato chiaro se no riporto il pezzo originale