Programmazione orientata agli oggetti vs Programmazione procedurale
La programmazione orientata agli oggetti (OOP) e la programmazione procedurale sono due paradigmi di programmazione. Un paradigma di programmazione è uno stile fondamentale della programmazione per computer e differiscono nel modo in cui sono rappresentati i diversi elementi del programma e come vengono definiti i passaggi per risolvere i problemi. Come suggerisce il nome, OOP si concentra sulla rappresentazione dei problemi usando oggetti del mondo reale e il loro comportamento mentre, la Programmazione procedurale si occupa di rappresentare soluzioni ai problemi usando le procedure, che sono raccolte di codice che vengono eseguite in un ordine specifico. Esistono linguaggi di programmazione che supportano aspetti chiave di OOP (chiamati linguaggi OOP), procedurali (chiamati linguaggi procedurali) e entrambi. Ma una cosa importante da notare è che OOP e Procedural sono due modi per rappresentare i problemi da risolvere e non importa quale lingua venga usata. In altre parole, i linguaggi OOP possono essere utilizzati per la Programmazione procedurale mentre i linguaggi procedurali possono talvolta essere utilizzati per OOP, con qualche sforzo.
La programmazione procedurale è un modo di programmare identificando l'insieme di passaggi per risolvere un determinato problema e l'ordine esatto in cui devono essere eseguiti per raggiungere il risultato o lo stato desiderato. Ad esempio, se si desidera calcolare il saldo di chiusura di fine mese per un conto bancario, i passaggi richiesti saranno i seguenti. Innanzitutto, si acquisisce il saldo iniziale dell'account e quindi si riducono tutti gli importi di debito verificatisi durante il mese. Successivamente, si aggiungono tutti gli importi del credito verificatisi durante il mese. Alla fine del processo, otterrai il saldo di fine mese dell'account. Uno dei concetti principali di Programmazione procedurale è la chiamata alla procedura. Una procedura nota anche come subroutine, metodo o funzione contiene un elenco ordinato di istruzioni da eseguire. Una procedura può essere chiamata in qualsiasi momento durante l'esecuzione da qualsiasi altra procedura o da solo. Esempi di linguaggi di programmazione procedurali sono C e Pascal.
In OOP, l'attenzione si concentra sul pensare al problema da risolvere in termini di elementi del mondo reale e rappresentando il problema in termini di oggetti e del loro comportamento. Object è una struttura di dati che assomiglia da vicino ad alcuni oggetti del mondo reale. Gli oggetti contengono campi dati e metodi che rappresentano attributi e comportamento degli oggetti del mondo reale. Esistono diversi concetti OOP importanti come l'astrazione dei dati, l'incapsulamento, il polimorfismo, la messaggistica, la modularità e l'ereditarietà. Alcuni linguaggi OOP popolari sono Java e C #. Tuttavia, possono essere utilizzati anche per eseguire la Programmazione procedurale.
La differenza chiave tra OOP e Programmazione procedurale è che l'obiettivo della Programmazione procedurale è quello di suddividere l'attività di programmazione in un insieme di variabili e subroutine mentre, l'obiettivo di OOP è quello di suddividere l'attività di programmazione in oggetti, che incapsulano i dati e metodi. La differenza più rilevante potrebbe essere che mentre la Programmazione procedurale utilizza le procedure per operare direttamente sulle strutture di dati, l'OOP unirà i dati ei metodi insieme in modo che un oggetto possa operare sui propri dati. Quando si tratta della nomenclatura, procedura, modulo, chiamata di procedura e variabile in Programmazione procedurale sono spesso indicati come metodo, oggetto, messaggio e attributo in OOP, rispettivamente.