| prof. Nunzio Brugaletta |
C++:
programmazione e oggetti |
Nel 1972, presso i Bell Laboratories, Dennis Ritchie progettava e realizzava la prima versione del linguaggio C. Ritchie aveva ripreso e sviluppato molti dei principi e dei costrutti sintattici del linguaggio BCPL, sviluppato da Martin Richards, e del linguaggio B, sviluppato da Ken Thompson, l'autore del sistema operativo Unix. Successivamente gli stessi Ritchie e Thompson riscrissero in C il codice di Unix.
L'obiettivo alla base della progettazione del linguaggio C era quello di creare un linguaggio potente e che potesse sfruttare le caratteristiche hardware: un linguaggio che avesse la potenza dell'assembly, che intendeva sostituire, ma allo stesso tempo la facilità d'uso di un linguaggio di terza generazione. Il linguaggio C è stato definito a volte linguaggio di seconda generazione e mezza per esprimere queste caratteristiche. Da allora ad oggi il C ha subito trasformazioni soprattutto in conseguenza della estensione object-oriented (C++). Il C++, come messo in evidenza dallo stesso nome, rappresenta una evoluzione del linguaggio C: il suo progettista (Bjarne Stroustrup) quando si pose il problema di trovare uno strumento che implementasse le classi e la programmazione ad oggetti, invece di costruire un nuovo linguaggio di programmazione, pensò bene di estendere un linguaggio già esistente, il C appunto, aggiungendo nuove funzionalità. In questo modo, contenendo il C++ il linguaggio C come sottoinsieme, si poteva riutilizzare tutto il patrimonio di conoscenze acquisito dai programmatori in C (linguaggio estremamente diffuso in ambito di ricerca) e si poteva fare in modo che tali programmatori avessero la possibilità di acquisire le nuove tecniche di programmazione senza essere costretti ad imparare un nuovo linguaggio e quindi senza essere costretti a disperdere il patrimonio di conoscenze già in loro possesso.
Questi appunti fanno riferimento all'ultima standardizzazione del linguaggio: il cosiddetto C++98.
| http://ennebi.solira.org |
ennebi@solira.org |