Geek Academy

Linguaggi di programmazione: differenze tra C e C++

Linguaggi di programmazione: differenze tra C e C++

Condividi su:

Esaminiamo le differenze tra C e C++, due linguaggi di programmazione tra i più richiesti e diffusi.

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

LEGGI TUTTE LE NEWS