Linguaggi di programmazione: C++

Il nostro millennio è stato definito quello della tecnologia e dell’informatizzazione. Ogni giorno abbiamo a che fare con computer, cellulari, tablet e smart tv. E ogni volta che interagiamo con tali devices, facciamo uso di programmi, sia che essi siano per scopo lavorativo, sociale o di svago. Ma come sono fatti tali programmi? Cosa c’è dietro? Come vengono “costruiti”? Con questo articolo analizzeremo uno dei linguaggi di programmazione più potenti e tra i più usati tra quelli in circolazione: il C++.


 

Come il nome può suggerire il C++ è un’evoluzione, o meglio dire, un miglioramento del celebre linguaggio C, anch’esso largamente usato nel mondo informatico. Il miglioramento principale riguarda soprattutto l’introduzione del paradigma di programmazione ad oggetti, ragion per cui il C++ è detto anche “C con classi”.

Il C++ iniziò ad essere sviluppato nel 1979 ad opera di Bjarne Stroustrup, quando durante la realizzazione della propria tesi di laurea ebbe l’idea di creare un nuovo linguaggio di programmazione. Successivamente, quando cominciò a lavorare ai laboratori Bell, memore di tale lavoro, decise di aggiungere al linguaggio C, scelto perché veloce e portabile, alcune funzionalità di Simula. Fu così che la prima versione del C++ venne distribuita nel 1985.

Tra i vantaggi che C++ possiede, sicuramente non possiamo che citare efficienza, versatilità e portabilità. L’efficienza deriva proprio dal linguaggio C, da cui il C++ eredita potenza e flessibilità, a cui abbina la possibilità di programmare ad oggetti, in modo da risultare atto a scrivere programmi di ogni dimensione, e atto a dialogare sia ad alto sia a basso livello. Inoltre risulta essere un linguaggio portabile, in quanto si trovano compilatori praticamente per tutte le piattaforme e per tutti i sistemi operativi.

Ora passiamo alla parte pratica. Come è composto un programma C++? Prima di tutto abbiamo bisogno di un compilatore, ossia un software in grado di compilare il nostro codice sorgente e renderlo un eseguibile (file .exe). Tali compilatori vengono incorporati direttamente nei cosiddetti strumenti di sviluppo; ce ne sono molteplici e tutti validi, in questa breve guida verrà proposto CodeBlocks in quanto è quello che durante gli studi universitari è stato utilizzato personalmente dal sottoscritto.

Dopo aver scaricato ed installato il software da internet, per creare un nuovo progetto in C++ non bisogna far altro che cliccare su File > New >  Project e successivamente scegliere Console Application. Avremo già un file esempio con il nostro main.cpp. Per eseguire il programma basterà cliccare su Build > Run.

Il primo programma che ogni nuovo utente implementa solitamente è del genere seguente:


//primo programma in C++
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
   cout << "Hello World!" << endl;

   return 0;
}

che restituirà in output la semplice scritta: Hello World.

Analizziamo i vari aspetti:

  • I commenti: vengono preceduti da due slash ( // ) e sono parti di linguaggio che non viene compilato. Sono utili al programmatore se deve appuntare qualcosa inerente al codice adiacente. Spesso vengono sottovalutati, ma rendono il codice molto più leggibile;
  • #include: comando che serve ad includere librerie C++, ossia funzioni già preimpostate;
  • using namespace: utili per utilizzare lo scope adatto per le varie funzioni;
  • main: il main è il programma principale, all’interno del quale vengono svolte le istruzioni. Nel nostro esempio, viene utilizzato il comando cout che serve per stampare sullo schermo una stringa. Successivamente viene ritornato il valore 0, utile per capire che tutto è andato secondo i piani. Possiamo notare che vengono passati un intero e un array di stringhe al main, che indicano rispettivamente il numero di argomenti passati e il valore dei tali.

Dopo aver visto vantaggi e funzionalità, è bene però far emergere anche quelli che sono stati gli aspetti controversi del C++.

In particolare, è stato molto difficoltoso per i programmatori combinare la programmazione procedurale con quello di programmazione orientata agli oggetti. Se in teoria questo doveva essere un vantaggio, si è rivelato ben presto un impedimento, in quanto i programmatori più anziani, abituati ad un approccio procedurale, tendevano a creare classi con un numero esagerato di righe scritte in maniera procedurale (fenomeno chiamato code monsters). Con il passare del tempo, è andato sempre più scemando l’uso di un approccio procedurale a favore della OOP, che seppur meno intuitiva e più complicata, è maggiormente efficiente e permette un riutilizzo abbondante del codice.

Tale impedimento, unito al fatto che il C++ non è mai stato del tutto sfruttato vista la propria esagerata potenza, ha rallentato lo sviluppo del C++, facendo preferire ad esso altri linguaggi da parte dei programmatori, nonostante rimanga pur sempre uno dei più usati.

 

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *