Concetti
Esecuzione
Eseguire il codice sorgente
I codici sorgenti, di solito, vengono scritti per essere eseguiti da un computer. Di solito, perché ci sono codici scritti come esempio, per insegnare, o per dimostrare qualcosa. Ma in generale, lo scopo di un codice è quello di essere eseguito correttamente. Un po' come succede nella produzione industriale, un oggetto prima di essere prodotto in serie e affidato agli utenti viene prima verificato, controllato, per assicurarsi che non vada in mille pezzi alla prima occasione.
Cosa significa esattamente? Che prima di poter usare un codice sorgente occorre verificarne la correttezza:
- lessicale
- sintattica
- semantica
- collegare tutte le funzioni esterne necessarie
- tradurre nel linguaggio binario specifico per un determinato computer
Gli errori più semplici sono quelli che emergono nelle prime fasi del processo. Anzi, spesso oggi non serve nemmeno arrivare fino lì: è l'IDE con cui si scrive il codice che segnale gli errori sintattici o la presenza di termini sconosciuti, o ancora gli errori di tipo semantico: una funzione che viene chiamata con un numero di parametri minore di quelli previsti nella definizione, o di un tipo diverso.
I veri problemi nascono quando tutti questi controlli sono stati superati ma ancora il risultato finale non è quello atteso; oppure quando il programma si blocca in maniera irreversibile. Sono gli errori "run-time", gli errori che dipendono dal contesto di esecuzione: ad esempio dati mancanti, o eccessivi, o di un tipo non previsto.
Al momento dell'esecuzione vengono alla luce anche tutti i problemi di velocità: un codice può essere corretto, ma impiegare un tempo inaccettabile per la sua esecuzione. In questi casi si può ricorrere ad un approccio hardware (utilizzare un computer più potente o aumentare le risorse disponibili) oppure ripensare il codice tenendo conto dell'efficienza.
Ci sono alcuni linguaggi intrinsecamente più veloci di altri: si trovano spesso dei confronti sul tempo impiegato da algoritmi identici eseguiti dulla stessa macchina in linguaggi diversi.
Ci sono anche Algoritmi più veloci di altri, a parità di tutto il resto. Il caso dell'ordinamento è uno dei più noti: a partire dall'algoritmo più naturale (l'inserimento), sono stati inventati algoritmi più veloci (l'ordinamento per combinazione, inventato da Von Neumann nel 1945, l'ordinamento "quick", inventato da Hoare nel 1961). Come fanno ad essere più veloci? Perché raggiungono lo stesso risultato con meno operazioni. Certo, ma come è possibile? In generale, il trucco è non perdere informazioni strada facendo: se una parte dell'insieme di elementi è già parzialmente ordinato, questa informazione viene conservata nel processo.
Prossimo pannello: ⇨ Algoritmi
© Codexpo.org - Content released under Creative Commons 4.0 BY/SA/NC
Versione: 12/01/2022 - 19:23:39
Parole: 283Pannelli
Concetti |
MagiaDigitale |
Programmi |
Codice |
Linguaggi |
Errori |
Esecuzione |
Algoritmi |