Differenza chiave: un linguaggio di programmazione procedurale consiste in un insieme di chiamate di procedure e un set di codice per ciascuna procedura. Un linguaggio di programmazione strutturale enfatizza la separazione dei dati di un programma dalla sua funzionalità. D'altra parte, i linguaggi orientati agli oggetti sono basati su entità conosciute come oggetti.
Un linguaggio di programmazione è un linguaggio composto da istruzioni progettate per i computer. I processori comprendono solo il codice macchina quando raggiunge in due serie di 0 e 1, anche noti come dati binari. Il codice macchina è difficile da capire e pertanto vengono utilizzati vari linguaggi di programmazione che sono più comprensibili rispetto al codice macchina e offrono inoltre una maggiore portabilità.
Esistono vari standard in base ai quali è possibile ottenere la classificazione dei linguaggi di programmazione. Tuttavia, in base al paradigma di programmazione, è possibile classificarli in generale in tre categorie: Linguaggi di programmazione procedurali, linguaggi di programmazione strutturati e linguaggi orientati agli oggetti.

Linguaggi di programmazione procedurale: questi linguaggi codificano programmi in modo tale che il programma esegua istruzioni per dichiarazione, leggendo e modificando una memoria condivisa. Questo stile di programmazione può essere strettamente associato ai processori sequenziali convenzionali collegati a una memoria ad accesso casuale (RAM). Contiene tutte le funzionalità della programmazione procedurale e alcune altre funzionalità aggiuntive.
Quindi, possiamo riferirci ad esso come un linguaggio di programmazione che esegue un insieme di comandi in ordine. Queste lingue sono basate sul concetto definito dalle chiamate di procedura. Significa che le dichiarazioni sono organizzate in procedure. Queste procedure sono anche conosciute come subroutine o funzioni. Il vantaggio più importante delle procedure di formatura è che le procedure sono compatte e sono anche limitate dall'ambito. È scritto in modo graduale, quindi è molto facile seguire i programmi più piccoli.
Esempi Pascal. Fortran, COBOL
Linguaggi di programmazione strutturati: si basano sulla metodologia top-down in cui un sistema è ulteriormente suddiviso in sottosistema composizionale. Il concetto di programmazione strutturata è stato formalizzato nell'anno 1966 da Corrado Böhm e Giuseppe Jacopini. Hanno mostrato la progettazione teorica del programma per computer con l'ausilio di cicli, sequenze e decisioni.
La programmazione strutturata non si limita solo all'approccio dall'alto verso il basso. Impiega metodi usando: -
1. Analisi top-down per la risoluzione dei problemi: si concentra sulla suddivisione del problema in sotto-parti e quindi semplifica la risoluzione dei problemi.
2. Modularizzazione per la struttura e l'organizzazione del programma: organizza grandi istruzioni suddividendole in una sezione separata e più piccola di moduli, sotto-routine e sottoprogrammi.
3. Codice strutturato per i singoli moduli: le strutture di controllo sono utilizzate per determinare l'ordine esatto in cui deve essere eseguita la serie di istruzioni. Pertanto, un codice strutturato non coinvolge la dichiarazione GOTO in quanto non rappresenta un determinato ordine di esecuzione.
Esempio ALGOL, Pascal, Pl / I, C, Ada
Linguaggi orientati agli oggetti: i linguaggi dei programmi orientati agli oggetti sono basati sugli "oggetti" piuttosto che sulle "azioni". Questo linguaggio dà più preferenza ai dati piuttosto che alla logica. Un oggetto può essere definito come l'accoppiamento di un pezzo di dati con le operazioni che possono essere eseguite su di esso. È uno dei tipi più recenti e potenti. Gli oggetti sono in grado di memorizzare informazioni e possono anche interagire con altri oggetti.

I tre concetti principali definiti da un linguaggio di programmazione di oggetti sono: -
- Incapsulamento dei dati o astrazione dei dati
- Ereditarietà o derivazione
- Associazione dinamica o di runtime
Esempi C ++, C #, BETA, Chapel
I vantaggi di queste lingue sono elencati di seguito:
Procedurale | Strutturale | Orientato agli oggetti |
1.Semplice, facile implementazione di compilatori e interpreti 2. La possibilità di riutilizzare lo stesso codice in punti diversi del programma senza copiarlo. 3. Un modo più semplice per tenere traccia del flusso del programma. 4. La capacità di essere fortemente modulare o strutturato. 5. Richiede solo meno memoria. | 1. I programmi sono scritti più facilmente e più rapidamente 2. I programmi sono affidabili poiché si verificano meno errori logici e organizzativi durante le fasi iniziali dello sviluppo del programma. | 1. Miglioramento della produttività dello sviluppo del software grazie alla modularità, all'estendibilità e alla riusabilità. 2. La manutenzione del software è migliorata 3. La riusabilità aiuta nello sviluppo più veloce dei programmi, poiché la lingua merita una ricca libreria di oggetti 4. Minor costo dello sviluppo 5. È possibile garantire un'alta qualità del software |