Scopri gli articoli di Geeks Academy su: Blockchain, Coding, Cybersecurity, Cloud, Big Data, Artificial Intelligence, Gaming, Digital Innovation
I programmatori inesperti si ritrovano spesso a chiedersi quale sia la differenza tra C e C++. In questo articolo lo spiegheremo in modo molto semplice.
Cosa si intende con linguaggio di programmazione
Un linguaggio di programmazione è un linguaggio informatico formale, ossia un linguaggio artificiale progettato per comunicare istruzioni a una macchina, nello specifico un computer. I linguaggi di programmazione possono essere utilizzati nella creazione di programmi volti a controllare il comportamento di una macchina o per esprimere algoritmi.
Attualmente esistono vari linguaggi di programmazione, ma in questa occasione ci concentreremo sulla differenza tra C e C++. Diamo un'occhiata qui di seguito.
C e C++: le basi
Il linguaggio di programmazione C fu sviluppato da Dennis Ritchie nel 1972, mentre C++ fu sviluppato da Bjarne Stroustrup nel 1983.
C++ è un derivato di C, di conseguenza C è un subset di C++.
La differenza principale tra C e C++ è che C non supporta le classi e gli oggetti, essendo questo un linguaggio procedurale, mentre d'altro canto C++ è una combinazione tra linguaggio procedurale e object oriented.
Principali differenze tra C e C++
1.
C è un linguaggio di programmazione procedurale [strutturale].
C++ è un linguaggio sia procedurale che object oriented.
2.
C è in grado di supportare soltanto dati di tipo built-in.
C++ supporta sia dati built-in che user-defined.
3.
In C è possibile effettuare assegnazioni multiple di variabili, purché le variabili vengano definite all'inizio della funzione.
In C++ non è consentato effettuare assegnaizoni multiple di variabili, ma le variabili possono essere definite in qualunque punto della funzione.
4.
In C non esistono funzioni virtuali.
In C++ è presente il concetto di funzione virtuale.
5.
C segue un approccio di tipo top-down.
C++ segue un approccio di tipo bottom-up.
6.
L'overload degli operatori non è possibile in C.
C++ consente l'overload degli operatori.
7.
In C non esiste la caratteristica namespace.
C++ utilizza la caratteristica namespace per evitare le collisioni di nomi.
8.
In C si utilizza la funzione scanf() per gestire gli input, mentre printf() è utilizzata per gli output.
In C++ si utilizza la funzione Cin>> per gli input, e Cout<< è quella utilizzata per gli output.
9.
In C l'allocazione di memoria è gestita dalle funzioni malloc() e calloc(), mentre la funzione free() è utilizzata per la deallocazione di memoria.
In C++ l'operatore new viene utilizzato per l'allocazione di memoria e l'operatore free per la deallocazione.
10.
In C non c'è possibilità di polimorfismo. In C++, invece, il polimorfismo è un'importante caratteristica di OOPS.
11.
In C non esiste l'ereditarietà, che è invece possibile in C++.
12.
In C non è possibile gestire eccezioni. In C++ le eccezioni vengono gestite con i blocchi try e catch.
13.
La mappatura di dati e funzioni in C è piuttosto dufficoltosa, mentre in C++ il mapping di dati e funzioni è semplice grazie agli oggetti.
14.
C è un livello di programmazione di livello medio, C++ è di livello elevato.
Per ulteriori chiarimenti, un video esplicativo (in Inglese) è presente a questo link.
Differenze tra C e C++: conclusioni
Speriamo di aver fatto chiarezza sulle differenze tra i due linguaggi di programmazione C e C++.
Geeks Academy ha realizzato un corso dedicato a C++ in partenza quest'inverno. Contattaci per saperne di più.
FONTE