INTRODUZIONE

 


 

Obiettivi e Prerequisiti

 

Obiettivi

Acquisire le conoscenze necessarie per lo sviluppo di applicazioni in linguaggio C++, usando la tecnica della "Programmazione orientata a Oggetti" o OOP (Object Oriented Programming").

Un linguaggio di programmazione ha due scopi principali:

  1. Fornire i mezzi perchè il programmatore possa specificare le azioni da eseguire;
  2. Fornire un insieme di concetti per pensare a quello che può essere fatto.

Il primo scopo richiede che il linguaggio sia vicino alla macchina (il C fu progettato con questo scopo); il secondo richiede che il linguaggio sia vicino al problema da risolvere, in modo che i concetti necessari per la soluzione siano esprimibili direttamente e in forma concisa. La OOP è stata appositamente pensata  per questo scopo e le potenzialità aggiunte al C per creare il C++ ne costituiscono l'aspetto principale e caratterizzante.

 

Prerequisiti

Conoscenza dei concetti base e della terminologia informatica (es. : linguaggio, programma, istruzione di programma, costante, variabile, funzione, operatore, locazione di memoria, codice sorgente, codice oggetto, compilatore, linker ecc…)

Non è necessaria la conoscenza del C ! Infatti il C++ è anche (ma non solo) un'estensione del C, che mantiene nel suo ambito come sottoinsieme. E quindi un corso, base ed essenziale ma completo, di C++, è anche un corso di C.

 


 

Contenuto generale del Corso

 

Livello di partenza

Concetti fondamentali di programmazione in C e C++, tenendo presente gli obiettivi, e quindi:

Livello avanzato

La Programmazione a Oggetti: concetti di: tipo astratto, classe, istanza, incapsulamento, overload di funzioni e operatori, costruttore e distruttore, ereditarietà, polimorfismo, funzione virtuale, template ecc...

La libreria standard del C++ : classi iostream (per l'input-output) e string, classi contenitore (vector, list, queue, stack, map ecc. ), algoritmi e iteratori.

 


 

Nota Storica

 

Il C++ fu "inventato" nel 1980 dal ricercatore informatico danese Bjarne Stroustrup, che ricavò concetti già presenti in precedenti linguaggi (come il Simula67) per produrre una verisone modificata del C, che chiamò: "C con le classi". Il nuovo linguaggio univa la potenza e l'efficienza del C con la novità concettuale della programmazione a oggetti, allora ancora in stato "embrionale" (c'erano già le classi e l'eredità, ma mancavano l'overload, le funzioni virtuali, i riferimenti, i template, la libreria e moltre altre cose).

Il nome C++ fu introdotto per la prima volta nel 1983, per suggerire la sua natura evolutiva dal C, nel quale ++ è l'operatore di incremento (taluni volevano chiamarlo D, ma C++ prevalse, per i motivi detti).

All'inizio, comunque, e per vari anni, il C++ restò un esercizio quasi "privato" dell'Autore e dei suoi collaboratori, progettato e portato avanti, come egli stesso disse, "per rendere più facile e piacevole la scrittura di buoni programmi".

Tuttavia, alla fine degli anni 80, risultò chiaro che sempre più persone apprezzavano ed utilizzavano il linguaggio e che la sua standardizzazione formale era un obiettivo da perseguire. Nel 1990 si formò un comitato per la standardizzazione del C++, cui ovviamente partecipò lo stesso Autore. Da allora in poi, il comitato, nelle sue varie articolazioni, divenne il luogo deputato all'evoluzione e al raffinamento del linguaggio.

Finalmente l'approvazione formale dello standard si ebbe alla fine del 1997. In questi ultimi anni il C++ si è ulteriormente evoluto, soprattutto per quello che riguarda l'implementazione di nuove classi nella libreria standard.

 


 

Torna all'Indice