Guida GUIDA C++ ITA

Discussione in 'C++' iniziata da BCKehue, 8 Maggio 2019.

  1. BCKehue

    BCKehue Moderatore
    Membro dello Staff Forum Moderatore

    Registrato:
    29 Ottobre 2018
    Messaggi:
    59
    "Mi Piace" ricevuti:
    15
    [​IMG]
    Questo articolo non è scritto da me, ma sono scritti da esperti col quale vi mostrerò piccoli fonti che vi consiglio per approfondire o conoscere un po cosa è C++.

    Per una Guida più sicura ed esperta vi consiglio di andare a vedervi i video tutorial su youtube o leggere nella pagina ufficiale html, li potrete trovare quello che vi serve.

    Ecco il link Utili per lo studio:

    Per chi ama leggere: https://www.html.it/guide/guida-c2/
    Per chi ama vedere i tutorial su youtube: youtube.com


    LA STORIA DEL C++
    Nato nel 1983 dall’ingegno di Bjarne Stroustrup, allora ricercatore presso AT&T, C++ è tra i primi 5 linguaggi più utilizzati al mondo.

    I campi di applicazione sono i più svariati: dal gaming alle applicazioni real-time, dai componenti per sistemi operativi ai software di grafica e musica, dalle app per cellulari ai sistemi per supercomputer. Praticamente, C++ è ovunque.


    Negli anni si sono avvicendate diverse versioni di questo linguaggio di programmazione, introducendo via via diverse modifiche ed alcune caratteristiche che ne fanno ancora un linguaggio assolutamente importante e moderno.

    Programmazione Orientata agli Oggetti
    Il C++ è un linguaggio pensato per la programmazione orientata agli oggetti, che rende questo linguaggio una piattaforma ideale per realizzare progetti di grosse dimensioni, favorendo l’astrazione dei problemi.


    Ciò ci consente di sviluppare software seguendo i più moderni pattern di progettazione: esistono moltissime librerie già pronte e riutilizzabili, integrabili con i progetti grazie ad opportune strategie e design pattern come Adapter o Facade.

    Efficienza e versatilità
    C++ mette insieme l’espressività dei linguaggi orientati agli oggetti con l’efficienza e la compattezza del linguaggio C dal quale discende e di cui eredita potenza, flessibilità e la possibilità di programmare a basso livello.

    Questo ci permette di scrivere programmi di tutte le dimensioni, utilizzando ricchi stack di framework per dialogare ad alto livello, oppure lavorare a basso livello fino ad arrivare all’intergrazione di istruzioni assembly.

    Portabilità
    Esistono compilatori di C++ praticamente per tutte le piattaforme e sistemi operativi, e con le dovute accortezze (spesso non banali) si può pensare di ricompilare un software e farlo girare in diversi contesti applicativi. Questo grazie al fatto che C++ è definito come standard.

    Va detto che in generale il compilatore crea codice destinato direttamente al sistema operativo, ma ci sono anche casi in cui il sorgente viene compilato in bytecode per girare su macchine virtuali, come accade per esempio con il Visual C++ e il runtime CLR di Microsoft. Anche in questo caso, comunque, strumenti come Monogarantiscono una certa portabilità del codice.

    Equivoci: procedurale o ad oggetti?
    Per molti C++, specie nei suoi primi quindici anni di vita, è stato un ponte tra i costrutti tipici dei linguaggi procedurali standard, familiari a molti programmatori che tipicamente passavano da C a C++, con il modello di programmazione orientata agli oggetti.

    Questa dualità, che avrebbe dovuto essere un vantaggio, spesso si è rivelata un problema per chi, abituato ad un approccio procedurale, era portato a creare mix esplosivi di classi con centinaia di righe di codice scritte con approccio procedurale (i cosiddetti code monsters).

    Oggi, grazie alla grandissima diffusione della programmazione orientata agli oggetti anche a livello accademico, sta scomparendo la tendenza ad utilizzare linguaggi e metodologie procedurali, che benché per certi versi più semplici, limitano l’uso di stratagemmi e tecniche per il mantenimento e il riuso del codice.

    Struttura e contenuti di questa guida
    In questa guida analizzeremo le caratteristiche del linguaggio C++ partendo dalle sue origini. Nel corso del tempo infatti, C++ ha subito profonde trasformazioni che ne hanno ampliato le potenzialità e le modalità di impiego.

    Dalla sua edizione originale, lo standard di rifermento che definisce le caratteristiche del linguaggio è stato aggiornato più volte, e in conseguenza di ciò anche i compilatori sono stati adeguati al fine di aderire alle nuove specifiche, pur mantenendo piena retrocompatibilità con gli standard precedenti.

    Tuttavia, molto spesso intercorre un certo lasso di tempo prima che le nuove specifiche vengano recepite e pertanto, quando si fa uso di costrutti che ricadono nelle versioni più recenti dello standard, è necessario verficare che il compilatore impiegato sia compatibile.

    Per questo motivo, le prime lezioni di questa guida saranno dedicate alla creazione di un ambiente di sviluppo, per cominciare fin da subito a scrivere codice in C++, sfruttando nel modo corretto le caratteristiche più moderne ed evolute del linguaggio.

    Successivamente, dopo aver passato in rassegna alcuni elementi di base, dai quali maggiormente traspare la familiarità con il linguaggio C, passeremo ai temi propri della programmazione orientata agli oggetti, introducendo il concetto di classe.

    Verranno poi esaminati sia gli operatori che i costrutti di controllo di flusso che consentono di creare algoritmi di complessità arbitraria, contestualizzandone l’uso nell’ambito della programmazione a oggetti. Analizzeremo quindi il supporto alle operazioni di I/O offerto da C++ e la possibilità di integrare tale funzionalità nella definizione di classi mediante l’uso di appositi operatori.

    Nell’ambito delle tecniche di scrittura di codice robusto e resiliente, verrà discusso l’uso dei qualificatori applicabili alle variabili ed ai membri di classe e contestualmente si introdurrà l’uso degli operatori di conversione.

    Infine tratteremo in maniera approfondita la definizione dei templatee l’uso di altri costrutti avanzati del linguaggio.

    C++ è un linguaggio accessibile a programmatori con vari livelli di esperienza, dai neofiti agli esperti. Pertanto si cercherà sempre di mantenere una progressione logica tra gli argomenti trattati in una lezione e la successiva, a vantaggio di chi si accosta per la prima volta a questo linguaggio. Tuttavia, laddove è possibile, si promuoverà l’uso dei costrutti più recenti ed efficienti di modo da offrire un riferimento anche a chi vuole aggiornare la sua conoscenza del C++ con le novità introdotte negli ultimi anni.

    Fonte dell'introduzione originale : https://www.html.it/pag/16026/introduzione22/
     

Condividi questa Pagina