Algoritmi e Linguaggi di Programmazione
Un algoritmo è una sequenza di istruzioni che deve rispettare caratteristiche precise per essere valido. Deve essere generale (risolvere tutti i problemi della stessa classe), finito (avere inizio e fine), non ambiguo (interpretabile allo stesso modo da tutti), deterministico (produrre sempre lo stesso risultato con gli stessi dati) e automatizzabile (eseguibile da un computer).
I linguaggi di programmazione si distinguono in base al loro livello di astrazione. I linguaggi ad alto livello sono più vicini al linguaggio umano e quindi più facili da comprendere. I linguaggi a basso livello sono invece più vicini al linguaggio macchina.
💡 Curiosità: I linguaggi compilati traducono l'intero programma in linguaggio macchina in un unico passaggio, mentre quelli interpretati traducono ed eseguono le istruzioni una alla volta. I compilati sono generalmente più veloci ma occupano più spazio!
I linguaggi compilati creano una copia del programma già tradotta, mentre quelli interpretati traducono le istruzioni durante l'esecuzione, risultando solitamente più lenti ma più flessibili.





