storia del linguaggio di programmazione c cervone vincenzo tec/0054 università degli studi di...
Post on 02-May-2015
221 Views
Preview:
TRANSCRIPT
Storia del Linguaggio di
programmazione CCervone Vincenzo TEC/0054Cervone Vincenzo TEC/0054
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
Storia del linguaggio C
La nascita del linguaggio C e’ strettamente collegata a quella del sistema operativo UNIX, in quanto è stato sviluppato su questo sistema operativo anzi, lo stesso sistema operativo ed i suoi programmi, sono scritti in C.
Nonostante ciò, il linguaggio C non è legato solo alla programmazione dei sistemi operativi, ma con esso possono essere scritti (e sono stati scritti) grossi programmi di calcolo, word-processing e database.
Il linguaggio C nasce dall’evoluzione di alcuni linguaggi di programmazione. Vediamo quali:
La nascita del linguaggio C e’ strettamente collegata a quella del sistema operativo UNIX, in quanto è stato sviluppato su questo sistema operativo anzi, lo stesso sistema operativo ed i suoi programmi, sono scritti in C.
Nonostante ciò, il linguaggio C non è legato solo alla programmazione dei sistemi operativi, ma con esso possono essere scritti (e sono stati scritti) grossi programmi di calcolo, word-processing e database.
Il linguaggio C nasce dall’evoluzione di alcuni linguaggi di programmazione. Vediamo quali:
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
Evoluzione storica del C
• Algol 60 Progettato da un comitato internazionale all'inizio del 1960.
• CPL Combined Programming Language, sviluppato a Cambridge e all'università di Londra nel 1963.
• BCPL Basic Combined Programming Language, sviluppato a Cambridge da Martin Richards nel 1967.
• B Sviluppato da Ken Thompson, Bell Labs, nel 1970.
• C Sviluppato da Dennis Ritchie, Bell Labs, nel 1972.
• Poi nel 1973 fu formato il comitato dell'American National Standards Institute (ANSI) con lo scopo di creare l'ANSI C, una standardizzazione del linguaggio C.
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
1960 - ALGOL 60
L'Algol 60 fu progettato da un comitato internazionale all'inizio del
1960 alcuni anni dopo l'introduzione del FORTRAN. Questo
nuovo linguaggio all'epoca era complesso ed ebbe una grande
influenza sul progetto dei futuri linguaggi di programmazione. I
suoi autori prestarono molta attenzione alla regolarità della
sintassi, alla struttura modulare e ad altre caratteristiche di
solito associate ai linguaggi strutturati ad alto livello.
Sfortunatamente, l'Algol 60 non si diffuse mai veramente negli
Stati Uniti, a parere di molti per l'astrazione e la genericità del
linguaggio.
L'Algol 60 fu progettato da un comitato internazionale all'inizio del
1960 alcuni anni dopo l'introduzione del FORTRAN. Questo
nuovo linguaggio all'epoca era complesso ed ebbe una grande
influenza sul progetto dei futuri linguaggi di programmazione. I
suoi autori prestarono molta attenzione alla regolarità della
sintassi, alla struttura modulare e ad altre caratteristiche di
solito associate ai linguaggi strutturati ad alto livello.
Sfortunatamente, l'Algol 60 non si diffuse mai veramente negli
Stati Uniti, a parere di molti per l'astrazione e la genericità del
linguaggio.
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
1963 - CPL
Il CPL (Combined Programming Language) è un linguaggio di
programmazione sviluppato congiuntamente dall'Università di
Cambridge e dall'Università di Londra fu pesantemente
influenzato dall'ALGOL.
Gli inventori del CPL intendevano riportare i concetti introdotti
dell'Algol 60 alla realtà dei computer veri. Però, come l'Algol 60,
il CPL era difficile da imparare e da implementare e per questo
fu anch'esso un fallimento.
Il CPL (Combined Programming Language) è un linguaggio di
programmazione sviluppato congiuntamente dall'Università di
Cambridge e dall'Università di Londra fu pesantemente
influenzato dall'ALGOL.
Gli inventori del CPL intendevano riportare i concetti introdotti
dell'Algol 60 alla realtà dei computer veri. Però, come l'Algol 60,
il CPL era difficile da imparare e da implementare e per questo
fu anch'esso un fallimento.
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
1966 - BCPL
Martin RichardsMartin Richards
Il BCPL (Basic Combined Programming
Language) è un linguaggio di
programmazione sviluppato da Martin
Richards dell'Università di Cambridge,
in seguito alle difficoltà che aveva
incontrato nell'utilizzo del suo
predecessore, il CPL. Il primo
compilatore venne implementato
mentre Richards si trovava al MIT, nella
primavera del 1967. Il linguaggio venne
presentato per la prima volta al 1969
Spring Joint Computer Conference.
L'architettura del BCPL influenzò
pesantemente il linguaggio B, da cui
Dennis Ritchie in seguito sviluppa il C.
Il BCPL (Basic Combined Programming
Language) è un linguaggio di
programmazione sviluppato da Martin
Richards dell'Università di Cambridge,
in seguito alle difficoltà che aveva
incontrato nell'utilizzo del suo
predecessore, il CPL. Il primo
compilatore venne implementato
mentre Richards si trovava al MIT, nella
primavera del 1967. Il linguaggio venne
presentato per la prima volta al 1969
Spring Joint Computer Conference.
L'architettura del BCPL influenzò
pesantemente il linguaggio B, da cui
Dennis Ritchie in seguito sviluppa il C.
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
Le caratteristiche di pulizia, potenza e portabilità rendono
semplice la realizzazione di compilatori compatti (si
vocifera che alcuni compilatori potessero funzionare anche
con soli 16 KB di memoria).
Alcuni sistemi operativi vennero scritti, completamente o in
parte, utilizzando BCPL (ad esempio il TRIPOS o l'AmigaOS).
Le caratteristiche di pulizia, potenza e portabilità rendono
semplice la realizzazione di compilatori compatti (si
vocifera che alcuni compilatori potessero funzionare anche
con soli 16 KB di memoria).
Alcuni sistemi operativi vennero scritti, completamente o in
parte, utilizzando BCPL (ad esempio il TRIPOS o l'AmigaOS).
1966 - BCPL
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
La principale caratteristica che rendeva il compilatore particolarmente portabile risiedeva nel fatto che esso era logicamente diviso in due parti:
la prima parte (frontend) si occupava di analizzare il codice sorgente e di generare un codice intermedio (O-code) per una macchina virtuale, la seconda (backend) traduceva l'O-code nel codice per la CPU bersaglio, su cui il programma doveva girare. In questo modo, quando era necessario scrivere un compilatore per una nuova CPU, era sufficiente riscrivere il backend. Questa tecnica divenne in seguito molto comune (ad esempio in Pascal o Java), ma il BCPL fu il primo linguaggio a specificare una macchina virtuale a questo scopo.
La principale caratteristica che rendeva il compilatore particolarmente portabile risiedeva nel fatto che esso era logicamente diviso in due parti:
la prima parte (frontend) si occupava di analizzare il codice sorgente e di generare un codice intermedio (O-code) per una macchina virtuale, la seconda (backend) traduceva l'O-code nel codice per la CPU bersaglio, su cui il programma doveva girare. In questo modo, quando era necessario scrivere un compilatore per una nuova CPU, era sufficiente riscrivere il backend. Questa tecnica divenne in seguito molto comune (ad esempio in Pascal o Java), ma il BCPL fu il primo linguaggio a specificare una macchina virtuale a questo scopo.
1966 - BCPL
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
Il linguaggio si caratterizza per avere un unico tipo di dati, il tipo word (un numero fisso di byte, di solito scelto per allinearsi con la parola della macchina). L'interpretazione del dato veniva fatta in base al tipo di operatori utilizzati.
Ad esempio, utilizzando il segno di addizione +, i dati venivano sommati come se si trattasse di numeri interi, mentre l'operatore ! (di dereferenziazione) trattava i dati come puntatori. Allo scopo di rendere la cosa possibile, l'implementazione del BCPL non prevedeva il type checking.
Nel 1979 esistevano implementazioni di BCPL per almeno 25 diverse architetture, oggi il BCPL è stato interamente soppiantato dal C.
Il BCPL è il linguaggio in cui si dice sia stato scritto il primo programma hello world.
Il linguaggio si caratterizza per avere un unico tipo di dati, il tipo word (un numero fisso di byte, di solito scelto per allinearsi con la parola della macchina). L'interpretazione del dato veniva fatta in base al tipo di operatori utilizzati.
Ad esempio, utilizzando il segno di addizione +, i dati venivano sommati come se si trattasse di numeri interi, mentre l'operatore ! (di dereferenziazione) trattava i dati come puntatori. Allo scopo di rendere la cosa possibile, l'implementazione del BCPL non prevedeva il type checking.
Nel 1979 esistevano implementazioni di BCPL per almeno 25 diverse architetture, oggi il BCPL è stato interamente soppiantato dal C.
Il BCPL è il linguaggio in cui si dice sia stato scritto il primo programma hello world.
1966 - BCPL
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
La filosofia del BCPL può essere riassunta in queste righe,
liberamente tradotte dal libro "BCPL, the language and its
compiler":
“La filosofia del BCPL non è quella del tiranno che pensa di
sapere come vanno fatte le cose e detta ciò che è permesso e
ciò che non lo è: piuttosto il BCPL è un servo che offre i suoi
servigi al meglio delle sue possibilità, senza lamentarsi, anche
quando si trova di fronte ad un'apparente contraddizione. Si
assume che il programmatore sappia sempre quello che sta
facendo: egli non è costretto a sottostare a rigidi vincoli.”
La filosofia del BCPL può essere riassunta in queste righe,
liberamente tradotte dal libro "BCPL, the language and its
compiler":
“La filosofia del BCPL non è quella del tiranno che pensa di
sapere come vanno fatte le cose e detta ciò che è permesso e
ciò che non lo è: piuttosto il BCPL è un servo che offre i suoi
servigi al meglio delle sue possibilità, senza lamentarsi, anche
quando si trova di fronte ad un'apparente contraddizione. Si
assume che il programmatore sappia sempre quello che sta
facendo: egli non è costretto a sottostare a rigidi vincoli.”
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
1970 - B
Kenneth Thompson, quando progettò il linguaggio B per una prima implementazione di UNIX, stava cercando di semplificare ulteriormente il CPL. Egli riuscì a creare un linguaggio molto scarno che si adattava bene a essere utilizzato sull'hardware di cui disponeva. Tuttavia, sia per il BCPL sia per il B si esagerò troppo nella ottimizzazione, ottenendo così linguaggi limitati, utili solo per trattare alcuni tipi di problemi.
Kenneth Thompson, quando progettò il linguaggio B per una prima implementazione di UNIX, stava cercando di semplificare ulteriormente il CPL. Egli riuscì a creare un linguaggio molto scarno che si adattava bene a essere utilizzato sull'hardware di cui disponeva. Tuttavia, sia per il BCPL sia per il B si esagerò troppo nella ottimizzazione, ottenendo così linguaggi limitati, utili solo per trattare alcuni tipi di problemi.
Kenneth ThompsonKenneth Thompson
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
UNIX e il compilatore B furono subito trasferiti sulla nuova macchina. Anche se la PDP-11 era una macchina più grande della precedente PDP-7, rimaneva ancora abbastanza piccola rispetto agli standard attuali: aveva soltanto 24 K di memoria, dei quali 16 K erano utilizzati dal sistema, e 512 K di disco fisso.
UNIX e il compilatore B furono subito trasferiti sulla nuova macchina. Anche se la PDP-11 era una macchina più grande della precedente PDP-7, rimaneva ancora abbastanza piccola rispetto agli standard attuali: aveva soltanto 24 K di memoria, dei quali 16 K erano utilizzati dal sistema, e 512 K di disco fisso. Si pensò di riscrivere UNIX in B, ma il linguaggio B era lento per il suo progetto interpretativo. C'era anche un altro problema: il B era orientato alla parola, ma la PDP-11 era orientata al byte. Per questi motivi, nel 1971 si cominciò a lavorare a un successore del B, chiamato C.
Si pensò di riscrivere UNIX in B, ma il linguaggio B era lento per il suo progetto interpretativo. C'era anche un altro problema: il B era orientato alla parola, ma la PDP-11 era orientata al byte. Per questi motivi, nel 1971 si cominciò a lavorare a un successore del B, chiamato C.
Subito dopo che Ken Thompson ebbe implementato il linguaggio B, fu presentata una nuova macchina, chiamata PDP-11.
Subito dopo che Ken Thompson ebbe implementato il linguaggio B, fu presentata una nuova macchina, chiamata PDP-11.
Un PDP-7 come quello usato da Thompson per programmare il primo
UNIX
Un PDP-7 come quello usato da Thompson per programmare il primo
UNIX
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
1972 - C
Fino alla fine degli anni '70, il C invase molti college e università per il suo stretto legame con Unix e la disponibilità di un compilatore. Presto molte organizzazioni indipendenti iniziarono ad usare una loro versione di C, creando notevoli problemi di compatibilità.
Fino alla fine degli anni '70, il C invase molti college e università per il suo stretto legame con Unix e la disponibilità di un compilatore. Presto molte organizzazioni indipendenti iniziarono ad usare una loro versione di C, creando notevoli problemi di compatibilità.
Dennis RitchieDennis Ritchie
Un collaboratore di Ken Thompson, Dennis Ritchie, restituì alcune generalità del BCPL al linguaggio B, con lo scopo di sviluppare una nuova versione, che venne ovviamente denominata "C".
La potenza e flessibilità del C apparve subito evidente e per questo il sistema operativo di Unix, scritto in assembly, venne riscritto immediatamente in C.
Un collaboratore di Ken Thompson, Dennis Ritchie, restituì alcune generalità del BCPL al linguaggio B, con lo scopo di sviluppare una nuova versione, che venne ovviamente denominata "C".
La potenza e flessibilità del C apparve subito evidente e per questo il sistema operativo di Unix, scritto in assembly, venne riscritto immediatamente in C.
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
Il C viene classificato come
linguaggio ad alto livello, la
scrittura delle istruzioni
cioè, era indipendente
dalla architettura del
calcolatore su cui le
istruzioni stesse saranno
eseguite.
Ken Thompson con Dennis Ritchie Ken Thompson con Dennis Ritchie
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
Il grande successo del C è dovuto a diversi fattori:
• La felice scelta del modo di astrazione dall'hardware, che pur essendo del tutto logico e generico rimane molto vicino all'hardware stesso. Infatti, il linguaggio C si basa su poche istruzioni chiave molto semplici, che spesso (come gli operatori di autoincremento, autodecremento e aritmetici con assegnazione) ricalcano l'assembly delle CPU e sono traducibili direttamente con una singola istruzione di linguaggio macchina;
• Il ruolo centrale dato al concetto di puntatore. Questo viene generalizzato fino a concidere con l'indirizzamento indiretto, un modo di accedere alla memoria hardware, caratteristico di tutte le moderne CPU. Ciò rende il C un linguaggio particolarmente efficiente.
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
Steve Johnson nella metà degli anni ‘70 scrisse un compilatore C trasportabile su sistemi diversi dal PDP-11 e da allora il C cominciò ad essere utilizzato come linguaggio in altri sistemi operativi come MS-DOS e CPM/80.
Steve Johnson nella metà degli anni ‘70 scrisse un compilatore C trasportabile su sistemi diversi dal PDP-11 e da allora il C cominciò ad essere utilizzato come linguaggio in altri sistemi operativi come MS-DOS e CPM/80.
Rispetto al linguaggio assembly il C ha in più di una struttura
logica definita e leggibile, funzioni in stile Pascal e
soprattutto il controllo sui tipi, che manca completamente in
assembly.
La grammatica e la sintassi del C sono molto libere e flessibili,
permettendo di scrivere istruzioni complesse e potenti in
poche righe di codice (ma anche istruzioni assolutamente
criptiche e illeggibili). In definitiva, il successo del C fu
decretato dall'essere un linguaggio creato da programmatori
esperti, per essere usato da programmatori esperti.
Rispetto al linguaggio assembly il C ha in più di una struttura
logica definita e leggibile, funzioni in stile Pascal e
soprattutto il controllo sui tipi, che manca completamente in
assembly.
La grammatica e la sintassi del C sono molto libere e flessibili,
permettendo di scrivere istruzioni complesse e potenti in
poche righe di codice (ma anche istruzioni assolutamente
criptiche e illeggibili). In definitiva, il successo del C fu
decretato dall'essere un linguaggio creato da programmatori
esperti, per essere usato da programmatori esperti.
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
(1973 - 1980) Il primo compilatore che ebbe una certa
diffusione era presente nella versione 6 (V6) di Unix per
computer PDP-11 e solamente nel 1978 con il passaggio
alla V7, Unix ed il C furono portati su macchine diverse
dal PDP-11, e precisamente su Interdata 8/32 e VAX
11/780, quest’ultima con una nuova architettura a 32 bit.
(1973 - 1980) Il primo compilatore che ebbe una certa
diffusione era presente nella versione 6 (V6) di Unix per
computer PDP-11 e solamente nel 1978 con il passaggio
alla V7, Unix ed il C furono portati su macchine diverse
dal PDP-11, e precisamente su Interdata 8/32 e VAX
11/780, quest’ultima con una nuova architettura a 32 bit.
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
Negli anni '80 i compilatori erano basati principalmente sul
pcc di Johnson, ma nacquero molti compilatori indipendenti
che non erano conformi al pcc, ma che permisero la
diffusione del C praticamente su tutte le macchine più
popolari; per questo il comitato ANSI (American Standards
Institute) X3J11, nel 1983, iniziò a sviluppare uno standard
per il linguaggio C, aggiungendo importanti caratteristiche
ed ufficializzando molte caratteristiche presenti nei diversi
compilatori.
Negli anni '80 i compilatori erano basati principalmente sul
pcc di Johnson, ma nacquero molti compilatori indipendenti
che non erano conformi al pcc, ma che permisero la
diffusione del C praticamente su tutte le macchine più
popolari; per questo il comitato ANSI (American Standards
Institute) X3J11, nel 1983, iniziò a sviluppare uno standard
per il linguaggio C, aggiungendo importanti caratteristiche
ed ufficializzando molte caratteristiche presenti nei diversi
compilatori.
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
Nel medesimo periodo ci fu un'altra importante standardizzazione che mirava a definire l'interfaccia tra linguaggio e sistema operativo. Prendendo spunto proprio dall'ANSI89, fu creata la "Portable Operating System Interface" (POSIX) ad opera dell'IEEE (Institute of Electrical and Electronics Engeneers) che definisce, inoltre, i concetti di thread, socket, estensioni realtime e molto altro, in modo unico e indipendente dall'implementazione
Nel medesimo periodo ci fu un'altra importante standardizzazione che mirava a definire l'interfaccia tra linguaggio e sistema operativo. Prendendo spunto proprio dall'ANSI89, fu creata la "Portable Operating System Interface" (POSIX) ad opera dell'IEEE (Institute of Electrical and Electronics Engeneers) che definisce, inoltre, i concetti di thread, socket, estensioni realtime e molto altro, in modo unico e indipendente dall'implementazione
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
Questa grande libertà , la complessità sintattica del linguaggio (che come abbiamo visto contiene poche istruzioni di base) e il ruolo centrale dei puntatori, che è necessario usare praticamente fin dai primi programmi, ne fanno viceversa un linguaggio ostico e sconsigliabile ai neofiti, che cadono quasi subito in una serie di trappole che, se pure ovvie per un esperto, sono molto difficili da individuare ad un occhio inesperto.
Questa grande libertà , la complessità sintattica del linguaggio (che come abbiamo visto contiene poche istruzioni di base) e il ruolo centrale dei puntatori, che è necessario usare praticamente fin dai primi programmi, ne fanno viceversa un linguaggio ostico e sconsigliabile ai neofiti, che cadono quasi subito in una serie di trappole che, se pure ovvie per un esperto, sono molto difficili da individuare ad un occhio inesperto.
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
La sua importanza tuttavia, crebbe solo dopo il 1978 con la pubblicazione da parte di Brian Kernighan e Dennis Ritchie del libro The C Programming Language nel quale il linguaggio venne definito in modo preciso.
La sua importanza tuttavia, crebbe solo dopo il 1978 con la pubblicazione da parte di Brian Kernighan e Dennis Ritchie del libro The C Programming Language nel quale il linguaggio venne definito in modo preciso.
Grazie alla particolare efficienza del codice prodotto dai
sui compilatori, il C venne utilizzato per riscrivere la
maggior parte del codice del sistema UNIX, riducendo
l'uso dell'assembly ad un piccolo gruppo di funzioni.
Grazie alla particolare efficienza del codice prodotto dai
sui compilatori, il C venne utilizzato per riscrivere la
maggior parte del codice del sistema UNIX, riducendo
l'uso dell'assembly ad un piccolo gruppo di funzioni.
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
1980 - C++
Il C++ è un'estensione del C, sviluppato da Bjarne Stroustrup
all'inizio degli anni '80, presso i Bell Laboratories.
Il C++ fornisce una serie di funzioni che potenziano il C, ma,
cosa ancora più importante, fornisce le capacità di gestione
della programmazione di tipo object-oriented, con ampio
utilizzo delle classi.
Il C++ è un'estensione del C, sviluppato da Bjarne Stroustrup
all'inizio degli anni '80, presso i Bell Laboratories.
Il C++ fornisce una serie di funzioni che potenziano il C, ma,
cosa ancora più importante, fornisce le capacità di gestione
della programmazione di tipo object-oriented, con ampio
utilizzo delle classi.
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
Il linguaggio C++ venne utilizzato all'esterno del gruppo di
sviluppo di Stroustrup nel 1983 e, fino all'estate del 1987, il
linguaggio fu soggetto a una naturale evoluzione.
Uno degli scopi principali del C++ era quello di mantenere
piena compatibilità con il C.
L'idea era quella di conservare l'integrità di molte librerie C e
l'uso degli strumenti sviluppati per il C.
Il linguaggio C++ venne utilizzato all'esterno del gruppo di
sviluppo di Stroustrup nel 1983 e, fino all'estate del 1987, il
linguaggio fu soggetto a una naturale evoluzione.
Uno degli scopi principali del C++ era quello di mantenere
piena compatibilità con il C.
L'idea era quella di conservare l'integrità di molte librerie C e
l'uso degli strumenti sviluppati per il C.
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
Grazie all'alto livello di successo nel raggiungimento di questo obiettivo, molti programmatori trovano la transizione al linguaggio C++ molto più semplice rispetto alla transizione da altri linguaggi (ad esempio il FORTRAN) al C.
Il C++ consente lo sviluppo di software su larga scala. Grazie a un maggiore rigore sul controllo dei tipi, molti degli effetti collaterali tipici del C, divengono impossibili in C++.
Grazie all'alto livello di successo nel raggiungimento di questo obiettivo, molti programmatori trovano la transizione al linguaggio C++ molto più semplice rispetto alla transizione da altri linguaggi (ad esempio il FORTRAN) al C.
Il C++ consente lo sviluppo di software su larga scala. Grazie a un maggiore rigore sul controllo dei tipi, molti degli effetti collaterali tipici del C, divengono impossibili in C++.
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
Il miglioramento più significativo del linguaggio C++ è il
supporto della programmazione orientata agli oggetti (Object
Oriented Programming: OOP). Per sfruttare tutti i benefici
introdotti dal C++ occorre cambiare approccio nella soluzione
dei problemi. Ad esempio, occorre identificare gli oggetti e le
operazioni ad essi associate e costruire tutte le classi e le
sottoclassi necessarie.
Il miglioramento più significativo del linguaggio C++ è il
supporto della programmazione orientata agli oggetti (Object
Oriented Programming: OOP). Per sfruttare tutti i benefici
introdotti dal C++ occorre cambiare approccio nella soluzione
dei problemi. Ad esempio, occorre identificare gli oggetti e le
operazioni ad essi associate e costruire tutte le classi e le
sottoclassi necessarie.
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
Nonostante negli anni il C sia stato implementato sia con lo
standard ANSI, che in maniera proprietaria, grazie a questi
strumenti il C è diventato (ed è tutt'oggi) il linguaggio più
utilizzato al mondo, almeno fino all'avvento del C++
(chiamato originariamente "C con classi") che è stato anche
la spinta del miglioramento nel tempo del C attraverso lo
standard ANSI, di cui è stata rilasciata un'ultima versione
denominata ANSI99, che è supportata dalle ultime versioni
del gcc.
Nonostante negli anni il C sia stato implementato sia con lo
standard ANSI, che in maniera proprietaria, grazie a questi
strumenti il C è diventato (ed è tutt'oggi) il linguaggio più
utilizzato al mondo, almeno fino all'avvento del C++
(chiamato originariamente "C con classi") che è stato anche
la spinta del miglioramento nel tempo del C attraverso lo
standard ANSI, di cui è stata rilasciata un'ultima versione
denominata ANSI99, che è supportata dalle ultime versioni
del gcc.
Università degli Studi di Napoli Parthenope SICSI V CICLO classe A042
Il C ed il suo UNIX hanno influenzato tutto il mondo
dell'informatica, considerando che da esso sono scaturiti
colossi come SCO e Sun Microsytem, e prodotti come Linux
e BSD.
Il C ed il suo UNIX hanno influenzato tutto il mondo
dell'informatica, considerando che da esso sono scaturiti
colossi come SCO e Sun Microsytem, e prodotti come Linux
e BSD.
top related