I paradigmi di programmazione sono un modo per raggruppare i linguaggi di programmazione in base a ciò che fanno. I linguaggi possono essere in più di un paradigma.
Alcuni paradigmi guardano al modo in cui il codice viene eseguito, come ad esempio permettere effetti collaterali, o dover fare le cose in un certo ordine. Altri paradigmi guardano al modo in cui il codice è raggruppato, come ad esempio mettere il codice in uno o due pezzi (o, invece, molti piccoli pezzi). Altri paradigmi guardano all'ordine e ai pezzi che rendono il programma così com'è.
Ci sono due gruppi principali di paradigmi, imperativo e dichiarativo. Un linguaggio può essere entrambi allo stesso tempo.
Contenuti
· 1 Programmazione imperativa
· 2 Programmazione dichiarativa
· 3 Altri paradigmi
· 4 Panoramica
· 5 Problemi con i paradigmi
· 6 Storia
o 6.1 Codice macchina
o 6.2 Lingue procedurali
o 6.3 Programmazione orientata agli oggetti
o 6.4 I paradigmi dichiarativi
· 7 Pagine correlate
· 8 Riferimenti
· 9 Altri siti web
Programmazione imperativa
Nei programmi imperativi, i programmatori danno al computer una serie di passi ordinati che devono essere fatti per poter fare qualcosa. Se qualcuno volesse che il computer disegnasse una faccia da gatto, potrebbe dare indicazioni come "disegnare un cerchio qui, disegnare due cerchi più piccoli lì, disegnare due triangoli in cima" e così via. I programmi imperativi a volte hanno molti effetti collaterali.
Ci sono due grandi paradigmi imperativi, e molto spesso una lingua li avrà entrambi:
- Strutturato - Al computer vengono date indicazioni che sono sempre in un certo ordine. Non sono consentiti passaggi come "tornare al punto 3" (noti come goto statement).
- Procedurale - Il programma permette al programmatore di dare un nome ad una lista di ordini, che trasforma questi ordini in una "procedura" che può essere utilizzata in seguito. La maggior parte dei linguaggi strutturati sono anche procedurali.
- Object-Oriented - Le idee vengono spiegate al computer utilizzando oggetti, pezzi di codice che hanno una serie di ordini che possono essere dati e alcune informazioni su di essi.
Programmazione dichiarativa
Nei paradigmi dichiarativi, il programmatore dice al computer cosa fare invece di come farlo. Se volessero che il computer disegnasse una faccia da gatto, potrebbero dare indicazioni come "Disegna una faccia, disegna due occhi, due orecchie e una bocca".
I paradigmi dichiarativi più noti sono i seguenti:
- Funzionale - La maggior parte del lavoro è svolto da funzioni senza effetti collaterali.
- Logica - Si afferma un insieme di fatti e poi si pone una o più "domande".
- Event-driven - I pezzi di codice sono impostati per funzionare quando accadono certe cose (come l'accensione del computer).
Altri paradigmi
Alcuni paradigmi si possono trovare sia nei linguaggi imperativi che in quelli dichiarativi. Questi paradigmi si trovano di solito con uno dei suddetti paradigmi invece di andare da soli.

