Programmazione ad Oggetti in C++ - Corso Aziendale


Descrizione Dettagli Programma Peculiarità Contatti
 
Mentre gran parte dello sviluppo applicativo si sta spostando su linguaggi come Java e C#, la programmazione "a basso livello" (sistemi embedded / real-time, programmazione di sistema, ecc) sta da tempo migrando verso il C++. Le ragioni della migrazione sono semplici:
  • hardware piu' potente, che a sua volta spinge ad implementare sistemi ancora piu' complessi
  • tempi di sviluppo brevi, che spingono a nuove forme di riuso (product families, framework applicativi)
  • requisiti di qualita' piu' stringenti, che nuovamente spingono verso il riuso di componenti ben testati (e verso lo unit testing)
  • miglioramento generale dei compilatori C++, piu' performanti ed aderenti allo standard
Il passaggio dal C al C++ è teoricamente semplice, grazie alla sua vicinanza sintattica ed alla forte compatibilità con il C. Tuttavia, proprio questa somiglianza e compatibilità possono risultare controproducenti, inducendo i programmatori a continuare a "pensare in C" anche programmando in C++, senza arrivare a sfruttare il pieno potenziale degli oggetti, e vanificando quindi le ragioni stesse del cambio di linguaggio.

Questo corso, che è particolarmente indicato per i programmatori C, pone la giusta attenzione ai dettagli di basso livello ed alle problematiche di efficienza. I concetti fondamentali vengono introdotti partendo dal C ed arrivando (attraverso alcuni problemi riscontrabili nel tradizionale codice procedurale), ad affrontare via via l'incapsulazione, l'ereditarieta', il polimorfismo, eccetera.

Via via che i concetti vengono esposti, se ne esamina il modello interno, il layout in memoria, i possibili overhead run-time, in modo da non perdere mai di vista le buone caratteristiche del C (tra cui il forte controllo sul codice generato).

Il corso prosegue poi, anche attraverso gli esercizi, ad esplorare le altre parti del linguaggio e della libreria standard, ed infine fornisce un insieme di linee guida per chi vuole iniziare a scrivere codice C++ nel modo migliore.