Compilatore e Ambienti Integrati
Compilatori e ambienti integrati.
Mentre i compilatori traducono un programma in un linguaggio comprensibile al calcolatore, gli ambienti integrati sono ambienti di supporto per lo sviluppo e il debugging dei programmi, cioè sono qualcosa di più complesso, comprendono anche un compilatore, possono comprendere anche un compilatore, ma hanno anche delle utility, degli strumenti che facilitano il lavoro del programmatore.
Partiamo dall'analisi del compilatore.
Cosa fa il compilatore?
Traduce le istruzioni scritte con linguaggi di programmazione di alto livello, per esempio il Fortran, per esempio il C++, in un linguaggio macchina, cioè comprensibile al calcolatore, in assembler.
Il compilatore effettua il controllo sintattico, e produce che cosa?
Un object file, che non è ancora eseguibile, ma che deve essere passato al linker, il quale dall’object file produrrà un eseguibile.
Questo è appunto il flusso che abbiamo appena descritto.
Abbiamo un editor,
quindi scriviamo un programma, questo programma viene passato al compilatore che produce un object file, l’object file viene passato al linker, che collega, che va a collegarsi a determinate librerie esterne, se necessarie, e quindi produrrà un file eseguibile.
Gli ambienti integrati.
Si tratta di software che, in fase di programmazione, supportano i programmatori nello sviluppo e nel debugging del codice sorgente.
Spesso segnalano errori di sintassi, quindi hanno un qualche strumento che ha in memoria la sintassi corretta, e quindi se io faccio un errore me lo segnala, lo segnala direttamente in fase di scrittura, e poi abbiamo quindi tutta una serie di componenti come un editor di codice sorgente, abbiamo un compilatore integrato oppure un interprete, a seconda dei casi, e un tool di building automatico, che serve per produrre l’eseguibile, e poi un debugger che serve per fare il debugging degli eventuali errori o il debugging del programma per capire come questo programma viene eseguito nelle sue varie operazioni sequenziali.
Ancora sugli ambienti integrati, a volte hanno anche un controllo di versione, quindi permettono di risalire a versioni precedenti, nel caso si sia preso un percorso che porta ad un vicolo cieco.
Alcuni degli ambienti integrati sono rivolti allo sviluppo di software agli oggetti, quindi comprendono un navigatore di classi, un analizzatore di oggetti e un diagramma che ci permette di studiare e di comprendere meglio la gerarchia delle classi.
Esistono poi degli ambienti integrati multi-linguaggio, alcuni esempi sono i Eclipse, NetBeans e anche Visual Studio, ed esistono, invece, ambienti integrati rivolti ad uno specifico linguaggio, come Visual Basic o Delphi.
Alcuni hanno una console e un file di log per tracciare eventuali errori in fase di compilazione e malfunzionamento.
Durante la scrittura del codice, forniscono la colorazione della sintassi per indicarci eventuali errori, eventuali problemi nella sintassi di ciò che abbiamo scritto.
E forniscono il completamento automatico del codice, quindi, facilitano notevolmente il lavoro del programmatore, che non deve scrivere l'istruzione per intero, ma, quando non c'è ambiguità, l'istruzione viene completata automaticamente.