C++ per principianti – 8. programmazione procedurale

Ciao a tutti e bentornati al corso di C++ per principianti! Dopo aver visto nelle lezioni precedenti quelle che sono le strutture capaci di determinare il flusso di un programma (condizionali, iterative, ecc.), è arrivato il momento di fare un passo in avanti.
Perché sì, fin’ora abbiamo visto i vari modi in cui è possibile applicare la logica ai nostri programmi… però l’attività di programmazione non consiste solamente in questo, anzi.

Quando si ha a che fare con programmi più grandi rispetto a quelli visti fin’ora iniziano a nascere delle nuove necessità, dettate da problemi che si presentano.
Una di queste necessità è quella di dividere il codice in più parti in modo da gestire in maniera più agevole il flusso del programma.

A questo scopo ci vengono in aiuto le funzioni, dette anche procedure.

Cosa sono le funzioni? Beh, le funzioni non sono altro che dei blocchi di codice che in C++ hanno un nome e, solitamente, un tipo (a meno che non siano void).
Essendo questa la prima volta che incontriamo le funzioni, occorre…. wait, ma noi una funzione l’abbiamo già incontrata!

Ebbene sì, main() è una funzione. E non si tratta di una funzione qualsiasi, si tratta della funzione dalla quale un programma inizia la sua esecuzione!

Come possiamo notare, prima della dicitura main() abbiamo il tipo int… cosa sta a significare? Molto semplicemente, int ci fa sapere che il valore che la funzione restituirà (in questo caso al sistema operativo, trattandosi della funzione main) sarà di tipo intero.

Il valore viene restituito attraverso la parola chiave return, seguita dal valore e dal punto e virgola.

Questa era quindi la funzione main. Come avrete potuto intuire, siamo liberi di creare nuove funzioni seguendo la struttura già vista nel main.

Per quanto riguarda i nomi che possono essere dati alle funzioni valgono le stesse regole viste qui per le variabili. E’ chiaro che una variabile e una funzione NON possono avere lo stesso nome.
Vedendo la struttura di una funzione, possiamo notare la presenza, tra parentesi tonde, dei parametri.

I parametri sono delle variabili che, se dichiarate tra le parentesi tonde, verranno utilizzate all’interno della funzione e non potranno essere utilizzate all’infuori di questa. Con questo si introduce il concetto di ambito delle variabili, che non tratterò in dettaglio in questo corso. Alla fine della lezione comunque ci sarà un collegamento a un documento PDF dell’Università di Pavia che tratta l’argomento.

Iniziamo a sporcarci le mani e realizziamo un semplice programma che, dati due numeri, ne calcola e ne mostra in output la somma, la differenza, il prodotto e il quoziente.

Immagine

In questo programma di esempio possiamo notare come il codice sia diviso in più parti facilmente gestibili. In questo caso ogni funzione contiene al suo interno un’istruzione che restituisce il valore dell’operazione, ma in altri casi potrebbero essere necessarie molte più istruzioni e l’utilizzo delle funzioni si rivelerà fondamentale.

Altra cosa che possiamo notare, non spiegata prima, è l’utilizzo dei parametri. Le variabili num1 e num2 (in questo caso rispettivamente 79 e 33) vengono passate come parametri alle funzioni somma(), differenza(), prodotto() e quoziente() .

Le funzioni quindi ricevono questi valori e li sostituiscono a quelli dichiarati in fase di definizione, ovvero ad a e b.
Se non avessimo voluto inserire variabili in input avremmo potuto, ad esempio, ottenere la somma dei numeri 79 e 33 scrivendo:

Se avessimo voluto assegnare a una variabile c la somma dei due numeri, avremmo potuto scrivere semplicemente:

Per concludere la lezione, ecco alcuni materiali che potrebbero essere utili per l’approfondimento di quanto visto oggi:

Nella prossima lezione si parlerà degli array. Se ci sono dubbi, domande e curiosità riguardanti quanto visto oggi, non esitate a commentare.

Sinhuè Angelo Rossi

C++ per principianti – 7. costrutto switch-case

Ciao a tutti e ben tornati in questo corso di C++ per principianti. Le scorse volte abbiamo visto alcune delle basi necessarie per programmare sia in C++ sia in altri linguaggi, ovvero dei concetti che bene o male si trovano in tutti i linguaggi di programmazione ad alto livello (strutture condizionali, iterative, variabili, ecc.).

Oggi invece parliamo di una struttura che per quanto io sappia esiste solo in C++ e C (se non è così fatemelo notare), ovvero lo switch-case.

In cosa consiste? Si potrebbe far presto e dire che è una serie di if/else scritta in maniera diversa dal solito, ma siccome è nata per uno scopo ben preciso occorre spiegarlo. Diamo un’occhiata alla sintassi:

Il concetto è semplice: la funzione switch prende come parametro una variabile (in questo caso ‘scelta’) e, una volta aperte le parentesi graffe, si comporta in maniera differente a seconda del valore che questa possiede.

Per assegnare un blocco di codice a un determinato valore della variabile ‘scelta’ bisogna scrivere:

Il marcatore default consente di definire il comportamento da assumere nel caso in cui nessuno dei marcatori case venga utilizzato.

Come detto in apertura, il costrutto switch-case non è altro che un if/else scritto in maniera diversa. Perché? Beh, lo vediamo subito:

Quest’altro programma corrisponde in tutto e per tutto a quello visto in apertura, solo che viene realizzato con il solo costrutto if/else.

Allora viene spontaneo chiedersi: che senso ha il switch-case?

Beh, da un lato la sua sintassi è senza dubbio più scorrevole da leggere rispetto a quella di una lunga serie di if/else. In più serve a rimarcare concettualmente (dal punto di vista del programmatore) che non si ha a che fare con delle strutture condizionali, bensì con una struttura molto più simile a quella di un menù, ad esempio.

Il programma visto qui sopra, in fin dei conti, non è altro che un menù che consente di visualizzare un mese a scelta, e lo switch-case rende senz’altro meglio il concetto. Questa è in sostanza l’utilità di questo costrutto.
E’ da notare comunque che nella stragrande maggioranza dei linguaggi di programmazione si utilizzano dei semplici if/else perché lo switch-case non viene implementato.

Per esercitarvi su quanto visto oggi vi consiglio di creare un programma che permetta di scegliere i giorni della settimana e tante altre cose che possono venirvi in mente. Magari potete utilizzare delle stringhe invece che dei numeri per compiere la scelta.

Nella prossima lezione faremo un’introduzione sulla programmazione procedurale in C++, con un programma di esempio e con l’introduzione di alcuni concetti nuovi come l’ambito di una variabile.

Sinhuè Angelo Rossi

C++ per principianti – 6. strutture iterative for, while e do-while

Ciao a tutti e benvenuti in questa nuova lezione del corso C++ per principianti, come anticipato nella scorsa lezione, oggi si parlerà di cicli.

Innanzitutto, però… cosa sono i cicli?

I cicli sono delle strutture iterative che svolgono una determinata azione per un determinato numero di volte. Le azioni eseguite e il numero di ripetizioni è a discrezione del programmatore. In C++ abbiamo tre cicli, ovvero il DO/WHILE, il WHILE e il classico FOR.

Andiamo a esaminarli uno per uno.

Ciclo FOR

Il ciclo FOR si utilizza quando si conosce in anticipo il numero di iterazioni da compiere.

Come possiamo vedere, per ciclare un certo numero di volte ci serviamo di una variabile di appoggio, chiamata di solito “contatore” perché non fa altro che autoincrementarsi di 1 a ogni iterazione.

Dal punto di vista della sintassi, il contenuto delle parentesi tonde può essere diviso in tre parti separate dai punto e virgola. Nella prima parte solitamente si stabilisce il valore che la variabile contatore possiede all’inizio del ciclo e, se necessario, la si dichiara ex-novo con tanto di inizializzazione.

Nella seconda parte abbiamo la condizione che dev’essere rispettata affinché il ciclo continui. Una volta che questa condizione non viene più rispettata semplicemente si esce dal ciclo e il programma prosegue.

Nella terza parte si ha l’incremento del contatore. E’ da notare come nel codice di esempio ci si sia attenuti a delle convenzioni, non si è obbligati a incrementare il contatore per forza di una unità. Nel caso si voglia fare in maniera diversa basterà utilizzare una sintassi diversa, ad esempio “I=I+2” per incrementare di due unità invece che una.

Ciclo WHILE

Il ciclo WHILE si caratterizza per la condizione di entrata che si presenta all’inizio. Quindi se la condizione non viene rispettata da subito, il blocco di codice sottostante non viene nemmeno considerato.

In questa porzione di codice possiamo notare alcune differenze rispetto a quanto visto col FOR.
Finché il numero inserito resta minore o uguale a 100 si continua a restare nel ciclo, e l’unico modo per uscirne è far sì che non venga rispettata la condizione iniziale, quindi bisogna fare attenzione a non fare errori che potrebbero portare a un loop infinito, capace di far bloccare il programma e in certi casi l’intero computer.

Da notare che i cicli FOR e WHILE sono perfettamente interscambiabili, visto che tutti e due consentono di ottenere il medesimo risultato.

Ciclo DO/WHILE

Solitamente ci si riferisce a questo ciclo con “REPEAT/UNTIL”, ma visto che in C++ si utilizzano le parole chiave do e while lo chiameremo così.
E’ praticamente uguale al ciclo WHILE, con l’unica differenza che si entra nel ciclo almeno una volta perché la condizione viene verificata dopo l’esecuzione del blocco di codice.

Personalmente non mi capita quasi mai di usare questo ciclo, ma è bene conoscerlo perché non si sa mai nella vita 😀

Anche questa volta linko alcune risorse utili per chi volesse approfondire i concetti visti in questa lezione, concetti che sono indispensabili nella programmazione.

Con questo è tutto per oggi, per approfondimenti, curiosità e domande riguardanti questa lezione, commentate pure qua sotto. La prossima volta parleremo dello switch/case, funzione del C++ a mio parere non così indispensabile ma che per completezza merita una lezione a parte.

Sinhuè Angelo Rossi

C++ per principianti – 5. struttura condizionale if/else

Un saluto a tutti e benvenuti nella quinta lezione del corso di C++ per principianti. Dopo aver parlato ampiamente dei tipi di dato che il C++ ci offre, oggi sposteremo l’attenzione su quella che è la logica interna di un programma, ovvero quella che permette al computer di capire quando comportarsi in un modo o quando, invece, comportarsi in un altro modo. In altre parole, oggi si parlerà della struttura condizionale.

Una struttura condizionale è un costrutto che determina l’esecuzione di un blocco d’istruzioni al verificarsi di certe condizioni.

La struttura condizionale IF/ELSE

La struttura condizionale più semplice in assoluto e alla quale dedicheremo l’attenzione quest’oggi è IF/ELSE che, tradotto in italiano, significa SE/ALTRIMENTI.

Molto banalmente, se una determinata condizione viene rispettata, verrà eseguito un certo blocco di istruzioni, altrimenti ne verrà eseguito un altro. Andiamo con un esempio.

La sintassi dell’IF/ELSE è molto semplice:

Come avrete potuto notare, all’interno della condizione è stato usato un operatore di confronto, ovvero >= (maggiore o uguale). Ecco una tabella che riassume i principali operatori di confronto presenti in C++:

Tabella degli operatori di confronto

2015-07-12-033819_1366x768_scrot

Esistono tanti altri modi per utilizzare una struttura IF/ELSE.

Verifica di più condizioni

Grazie agli operatori logici come and e or è possibile verificare più condizioni nella stessa struttura IF/ELSE.

Esempio:

In questa porzione di codice è possibile vedere l’utilizzo dell’operatore and che sta a indicare che per eseguire ciò che si trova all’interno dell’IF è necessario che tutte le condizioni presenti siano rispettate.
Si può notare come delle strutture IF/ELSE risiedano all’interno di un’altra struttura IF/ELSE. Queste sono chiamate “IF annidati” e sono utili nel caso in cui un IF solo non bastasse ad effettuare i controlli necessari.

In quest’ultima porzione di codice possiamo notare invece l’utilizzo dell’operatore or, che indica come è necessario che solo una delle due condizioni presenti venga rispettata per eseguire ciò che si trova all’interno dell’IF.

Risorse utili:

Per approfondimenti, domande e curiosità riguardo questa lezione non esitate a commentare.
Nella prossima lezione si parlerà dei cicli WHILE/DO e FOR.

Sinhuè Angelo Rossi

C++ per principianti – 4. input, operatori aritmetici e stringhe

Un saluto a tutti e benvenuti alla quarta lezione del corso di C++ per principianti, oggi vedremo le operazioni di input e gli operatori aritmetici in C++, in modo da creare un programma che permetta di eseguire operazioni su due numeri inseriti dall’utente.

Input e operatori aritmetici, cosa c’è da sapere

In C++, per inserire un valore, è necessaria prima la dichiarazione della variabile destinata a contenerlo (clicca qui per la lezione che ne parla).

Esempio:

Se per visualizzare dati in output utilizziamo la funzione cout, per inserire dati in input utilizziamo la funzione cin. Anche questa fa parte della libreria iostream vista nella seconda lezione.

La sintassi per l’inserimento in input da tastiera della nostra variabile x, una volta dichiarata, è la seguente:

Come potete notare, abbiamo utilizzato l’operatore >>, che significa “prendi da”, seguito dalla variabile che la funzione cin prenderà come input.

Proviamo adesso a scrivere un programma che dati due numeri interi in input ne mostra la somma, la differenza, il prodotto, il quoziente e il resto della divisione.

In questo programma vedrete anche l’utilizzo dei commenti, parti del codice non elaborate dal computer e che sono visibili solo nel codice stesso, utili per aiutare chi legge a comprendere meglio il funzionamento del programma.

L’output che verrà mostrato sarà simile al seguente:

Output

In questo programma abbiamo visto tre cose che nella programmazione sono indispensabili:

  • commenti;
  • operatori aritmetici;
  • inserimento dei dati in input.

Stringhe in C++, ecco una panoramica

Il grosso di questa lezione è fatto, adesso andiamo con un argomento più leggero e veloce, ovvero le stringhe.

Le stringhe sono semplicemente sequenze di caratteri.

E’ possibile implementarle grazie alla libreria iostream, già vista le scorse volte. Grazie a questa libreria è possibile utilizzare le stringhe come un vero e proprio tipo di dato, alla pari di int, bool e gli altri visti qui.

Diamo uno sguardo ad un semplice programma che le utilizza.

Questa è una semplice dimostrazione del loro utilizzo, nella libreria iostream esistono molte funzioni che consentono di eseguire una grande varietà di operazioni sulle stringhe.

Il lavoro sulle stringhe va oltre le competenze che questo corso vuole fornirvi, se siete però interessati sappiate che ho in programma la scrittura di un articolo a riguardo.

E’ comunque indispensabile averne una visione almeno generale e sapere che sono un’alternativa senz’altro più comoda del tipo char.

Per approfondimenti, domande e curiosità riguardanti quanto visto, commentate pure.
Nella prossima lezione vedremo le strutture condizionali e l’algebra booleana.

Sinhuè Angelo Rossi

C++ per principianti – 3. variabili e tipi di dato

Ciao a tutti e benvenuti alla terza lezione del corso di C++ dedicato ai principianti.
Oggi inizieremo a parlare di variabili, un concetto che sta alla base di ogni linguaggio di programmazione.

Cos’è una variabile?

Provate a pensare alla variabile come a una scatola che contiene al suo interno un valore e che può avere un proprio nome.
VariabileIl nome della scatola (quindi della variabile) è numero e il suo valore è 538.

In C++, le variabili possono essere di diversi tipi in base a ciò che sono destinate a contenere (stringhe di testo, numeri interi…), in questo esempio utilizzeremo il tipo int (integer), già visto la scorsa volta per la dichiarazione del main().

Per creare la variabile è necessario innanzitutto dichiararla. La nostra variabile di tipo intero verrà dichiarata come segue:

Una volta creata, la variabile non è altro che la nostra scatola vuota.

Con la dichiarazione si ordina al computer di predisporre un certo spazio in memoria e dare a questo spazio un nome (in questo caso “numero”). Fin quando non le verrà assegnato un numero intero, la variabile conterrà il valore NULL, ovvero “spazio vuoto”.

Per riempirlo, basterà utilizzare l’operatore di assegnamento, vale a dire =:

Come potete notare non è servito indicare nuovamente il tipo di dato, essendo questo già stato definito precedentemente.

E’ anche possibile dichiarare la variabile e assegnarle un valore nello stesso momento:

Chiarito ciò, ecco una panoramica dei tipi di dato presenti in C++, utile a farsi un’idea generale:

[table]tipo,dimensione,valori
char,1 byte,caratteri ASCII
bool,1 byte,vero (1) o falso (0)
short,2 byte,da -32’768 a 32’767
int,4 byte,da -2’147’483’648 a 2’147’483’647
long,4 byte,da -2’147’483’648 a 2’147’483’647 (può essere combinato con int)
float,4 byte,numeri a virgola mobile (precisione singola)
double,8 byte,numeri a virgola mobile (doppia precisione)[/table]

N.b.: per adesso non vedremo singolarmente ogni tipo di dato in quanto non necessario, col tempo avremo la possibilità di utilizzarne la maggior parte e quindi conoscerli.

Attenzione!

I nomi delle variabili devono seguire OBBLIGATORIAMENTE determinate regole:

  • possono iniziare solo col carattere di underscore ( ‘_’ ) o con una lettera;
  • gli unici caratteri consentiti nel nome sono l’underscore, le lettere non accentate e i numeri (altri simboli quali ‘$’, ‘@’ o ‘%’ sono vietati);
  • non possono corrispondere a parole chiave del C++;

Nota bene: i nomi delle variabili sono case-sensitive, quindi “numero” è una variabile diversa da “Numero”.

Adesso andiamo a utilizzare la nostra variabile e le operazioni di dichiarazione e assegnamento in un semplice programmino:

Il messaggio mostrato in output sarà il seguente:

2015-04-05-013558_1366x768_scrotAll’interno della funzione main() dichiariamo la variabile “eta” di tipo intero. La stessa variabile viene utilizzata nella riga dedicata al messaggio di output.

Dopodiché, nella riga 8, alla variabile “eta” assegnamo la somma tra “eta” e 5 che, come potete intuire, non fa altro che assegnare a “eta” il numero 23.

Nella prossima lezione vedremo gli operatori aritmetici in C++, l’inserimento di dati in input e una panoramica sulle stringhe.
Ovviamente, per ogni dubbio o curiosità riguardante la lezione, non esitate a chiedere nei commenti. Un saluto e arrivederci al prossimo post.

Sinhuè Angelo Rossi

C++ per principianti – 2. Hello world!

Ciao a tutti e benvenuti alla seconda lezione del corso di C++ dedicato ai principianti.

Oggi vedremo un semplice programmino che visualizza a schermo la scritta “Hello world”, e che ci servirà a fare i primi passi nel mondo del C++ sia per prenderci confidenza sia per iniziare a capire il suo funzionamento.

Prima di tutto create un file di nome “hello_world.cpp”, salvatelo dove volete e apritelo con l’IDE che avete installato tra quelli da me consigliati

In questo corso, per questione di uniformità, si tiene conto che voi utilizziate Codeblocks, ecco una breve guida che lo riguarda.

All’interno del file creato scrivete quanto segue:

Woa woa woa, andiamo piano… a prima vista ciò che vedete sembrerà tutt’altro che comprensibile, quindi l’unico modo per comprendere ciò che c’è scritto è conoscere la funzione di ogni riga e fidatevi, non è poi così difficile.

Partiamo dalle prime due righe.

Queste due righe formano l’header, e servono a fornire al programma tutti gli strumenti di cui necessita. In questo caso si tratta di due righe, ma possono essere molte di più, a seconda di ciò che si andrà a fare.

Avete mai sentito parlare di librerie? Bene, iostream è una libreria del C++ che, semplificando, mette a disposizione le funzioni necessarie per la gestione delle operazioni di input e output, infatti il significato non è altro che input output stream.

Questa libreria viene richiamata dalla funzione #include, che serve per l’appunto a chiamare librerie e file che servono al programma.

Per adesso non è necessario addentrarci ulteriormente, l’importante è capirne a grandi linee l’utilità.

La seconda parte dell’header è using namespace std;.

Questa riga di codice permette di utilizzare un determinato namespace, ovvero un’area all’interno della quale sono consentite tutte le operazioni contenute nelle librerie richiamate. In questo caso viene utilizzato il namespace di nome std, esistente di default, che consente di utilizzare le librerie standard del C++, inclusa la iostream richiamata precedentemente.

Ecco un’immagine che riassume il concetto:

namespace std
E’ comprensibile comunque che per adesso non si comprendano certe cose, quindi se non avete capito non preoccupatevi e proseguite nella lettura, col tempo certi concetti saranno chiari.

Arriviamo quindi al corpo del codice, che è ciò che ci interessa maggiormente.

Ogni programma scritto in C++ inizia la sua esecuzione quando trova la dicitura main().

In questo caso main() è di tipo intero. Questo indica che la funzione principale del programma ha un valore numerico che può essere 0 o diverso da 0. Se il valore di main() è 0 abbiamo la certezza che il programma è stato eseguito in modo corretto, mentre in caso contrario sappiamo che c’è stato un errore durante l’esecuzione.

Le due parentesi () ci fanno sapere che main è una funzione, concetto che verrà approfondito nelle prossime lezioni.

Andando avanti troviamo le parentesi graffe, che hanno il compito di racchiudere un insieme di istruzioni. Ricordatevi di questo particolare perché le parentesi graffe sono un concetto di base del C++ e verranno utilizzate di continuo.

Tra le parentesi graffe troviamo il contenuto della funzione main, ovvero le istruzioni che in questo caso saranno eseguite. cout è una delle tante funzioni della libreria iostream vista precedentemente, e consente di mostrare un messaggio di output.

cout riceve il messaggio di output da mostrare dall’operatore <<, che sta a significare “metti su”.

Quindi, in parole povere, la dicitura Hello world” (racchiusa tra doppie virgolette perché è una stringa), verrà spedita al coutverrà mostrata a schermo come potete vedere qui sotto:

2015-04-03-104126_1366x768_scrot

Dopo “Hello world” abbiamo un altro operatore << e la dicitura endl, che sta a significare end line e non fa altro che “mandare a capo”. Infine abbiamo il punto e virgola ( ; ), che indica la fine dell’istruzione.

Andando avanti troviamo return 0;.

Prima abbiamo detto che la funzione main è di tipo intero, e in questo caso le diamo il valore 0, che certifica la corretta esecuzione del programma se e solo se tutto ciò che sta sopra è stato eseguito in maniera corretta.

Poi abbiamo la chiusura della parentesi graffa, che indica la fine del blocco di istruzioni.

Ora che abbiamo visto in maniera completa questo semplice programma, diamo al nostro IDE il comando di compilazione, che su Codeblocks è contrassegnato da un ingranaggio giallo, dopodiché avviamo il nostro programmino col tasto “play” verde.

Se il programma viene eseguito correttamente vedrete la vostra stringa “Hello world” come mostrato più su. Se ciò non avvenisse, controllate che il codice sia stato scritto in maniera corretta e riprovate a compilare e poi eseguire.

Per domande e approfondimenti su quanto spiegato sin’ora non esitate a chiedere nei commenti, e rinnovo l’invito ad essere curiosi e sperimentare per imparare cose nuove, è l’unico modo efficace per imparare a programmare.

Per venirvi incontro vi assegno dei “compiti per casa”, utili a verificare quanto visto sin’ora e imparare cose nuove:

  1. Scrivi un programma che mostri in output il tuo nome;
  2. Fai una ricerca sul web e scopri il significato di “algoritmo” (ecco un documento utile dal quale iniziare).

Con questo vi saluto, arrivederci al prossimo post.

Sinhuè Angelo Rossi

C++ per principianti – 1. introduzione

Ciao a tutti e benvenuti al nuovo corso di C++ dedicato ai principianti, a chi per la prima volta si avvicina alla programmazione.

Visto che per chi è novizio a questo bellissimo mondo il C++ non è di certo il linguaggio più semplice, consiglio di seguire questo corso svolgendo gli esercizi in allegato e cercando di essere curiosi, sperimentare e lavorare per conto proprio, perché la programmazione non è un qualcosa che si impara e finisce lì, piuttosto è un qualcosa che, dopo che si imparano le basi, va migliorato sia per imparare meglio ciò che si conosce già sia per essere sempre più produttivi e creare programmi efficienti, arte che non si finisce mai di conoscere.

Detto ciò è il momento di fare un excursus storico di cosa sia il C++, come sia nato e la sua evoluzione nel corso degli anni.

Il C++ è un linguaggio di programmazione compilato ad oggetti e di alto livello creato da Bjarne Stroustrup. Nacque nel 1979 come evoluzione del C sotto il nome di ‘C con classi’, prese il nome di C++ e venne rilasciata la sua prima versione commerciale nel 1985. Nel 1998 venne finalmente riconosciuto uno standard internazionale, ANSI C++. L’ultima versione del linguaggio è C++14, rilasciata il 15 dicembre 2014.

Bjarne_Stroustrup
Bjarne Stroustrup, programmatore danese e creatore del C++.

Il C++ è senza dubbio il linguaggio più potente, con una versatilità senza eguali (puoi fare praticamente ciò che vuoi) e con delle prestazioni altissime, dovute al fatto che comunica a livello molto basso con il computer. Per essere sfruttato a dovere, però, necessita di essere conosciuto a fondo. Numerosi videogames e software commerciali sono stati scritti in C++.

Andiamo a vedere come è possibile scrivere e compilare i programmi in C++.

Sebbene si possa utilizzare un semplice editor di testo (es. Blocco note per Windows o LeafPad per Linux) il consiglio che vi do è quello di utilizzare un IDE (Integrated Development Environment), ovvero un programma che offre una serie di tools utili allo sviluppo di software.

Personalmente vi consiglio di utilizzare Codeblocks (che utilizzo anch’io), un editor completo e versatile per C, C++ e Fortran disponibile per Windows, Linux e Mac OS e scaricabile a questo indirizzo.

Altro ottimo IDE è Visual Studio, sviluppato dalla Microsoft e quindi solo per sistemi Windows. Lo trovate disponibile gratuitamente in versione community a questo indirizzo.

Altri IDE degni di menzione sono CodeLite e Dev-Cpp. Quest’ultimo però è ormai obsoleto e non aggiornato da tempo.

I file che contengono codice in C++ hanno l’estensione *.cpp, sappiate comunque che li potete trovare con altre estensioni (es. *.h) in base al loro utilizzo all’interno di un progetto.

Dal prossimo post inizieremo a scrivere codice partendo da un semplice messaggio di “Hello world” e vedremo quali componenti sono necessarie a un programma in C++ per essere compilato e per funzionare correttamente. Un saluto e arrivederci al prossimo post.

Sinhuè Angelo Rossi