in base al mio post precedente sposto un po' l'obiettivo dalla mia scelta personale ad un utilità generale anche per altri che come me sono in dubbio. Me lo consentite?
Sono conscio della difficoltà di passaggio da un linguaggio SERVER ad uno CLIENT per il fatto di dover gestire tutta una serie di problemi .
Problemi relativi, mi pare di capire, al modo in cui la macchina-hardware tratta dati, memoria ecc., cose con cui l'ASSEMBLER, complicatissimo e lungo nel codice (perchè comanda direttamente bite binari, istruzioni di tipo 0/1 ?!), si interfaccia molto bene.
Per agevolarci le cose quindi sono stati scritti dei linguaggi più simili al LINGUAGGIO UMANO che impartiscono istruzioni più comprensibili del tipo:
"Se questo è così allora fai un FUNZIONE di scrittura in un file fin quando variando le cose si verifica la condizione iniziale".
Da qui gli IF, FOR ecc...
Tali LINGUAGGI sono detti di ALTO LIVELLO, ke x inciso può essere a diverse scale di altezza.
L'ASSEMBLER è il LINGUAGGIO A BASSO LIVELLO per DEFINIZIONE!
Fin qui son cose note più o meno a tutti. Spero di nn aver commesso errori.
I LINGUAGGI di ALTO LIVELLO devono prima tradurre il CODICE della PAROLA UMANA in CODICE ASSEMBLER (?!) e poi impartire le istruzioni Bite per Bite alla MACCHINA.
Ciò significa, che quando va bene, a seconda del LIVELLO dei vari LINGUAGGI, bisogna fare almeno un passaggio in più rispetto all'ASSEMBLER. E da ciò viene la più o meno lentezza dei diversi LINGUAGGI.
Quanto più si sale di LIVELLO in teoria più si semplifica la scrittura del codice, più operazioni intermedie bisogna fare, più è lento il LINGUAGGIO. Nn ho ben capito se si parla solo di LENTEZZA della COMPILAZIONE o nell'AVVIO/ESECUZIONE ogni volta del PROGRAMMA REALIZZATO. INFO ??.
A questo punto entrano in gioco discorsi tipo COMPILAZIONE, che sarebbe quel passaggio di ISTRUZIONI cui accennavo; DEBUG, consistente nella rilevazione di errori commessi nella scrittura del codice.; ecc.
COSE su cui ho bisogno di INFO TEORICHE!!
Potremmo quindi CLASSIFICARE i diversi LINGUAGGI secondo diversi PARAMETRI DI CONFRONTO:
Premessa è la differenza tra:
CLASSIFICAZIONE per TIPO:
- LINGUAGGI COMPILATI
- LINGUAGGI PSEUDO-COMPILATI o PSEUDO-INTERPRETATI (è la stessa cosa?)
- LINGUAGGI INTERPRETATI
INFO: significato, come vengono eseguiti volta per volta i programmi realizzati??
In genere i COMPILATI sono + VELOCI/PERFORMANTI e di BASSO LIVELLO.
Seguono i PSEUDO-COMPILATI o PSEUDO-INTERPRETATI.
Infine gli INTERPRETATI, che hanno comunque i loro vantaggi (anche relativamente a questi discorsi?), oltre che uno specifico campo di applicazione (WEB).
Sono LINGUAGGI COMPILATI:
- C++; PASCAL; ...
Sono LINGUAGGI PSEUDO-INTERPRETATI:
- Phyton;
Sono LINGUAGGI INTERPRETATI:
- PHP;...
INFO: completate voi la lista??
CLASSIFICAZIONE per LIVELLO in ordine ASCENDENTE:
- BASSO LIVELLO: ASSEMBLER ...
- ALTO LIVELLO: ...
INFO: completate voi la lista??
A me è parso di capire che il C sia tra i LINGUAGGI EVOLUTI quello più vicino al codice macchina, quindi il più efficiente in termini di velocità d'esecuzione.
Si possono fare altre CLASSIFICAZIONI??
Ritengo basilari anche per me queste informazioni, per la mia scelta personale.
Al prossimo POST rispondo ai vostri gà preziosi consigli, PROMESSO.