Siamo un gruppo che nasce con l'obiettivo di aggregare persone che usano il linguaggio C++ nella loro attività di lavoro, studio o ricerca, o che sono interessate ad avvicinarsi all'apprendimento di questo complesso strumento.

I costruttori di questa iniziativa sono per lo più studenti e ricercatori all' Università degli Studi di Udine, e le attività sono organizzate in collaborazione con AsCI, l'associazione di studenti di informatica dell'Università di Udine.

Il gruppo nasce per costituire un punto di incontro sul territorio, promuovendo attività che facilitino l'incontro di chi è interessato al C++ e a ciò che ci ruota intorno. Per questo motivo puntiamo su incontri dal vivo, lasciando che le attività online, ad esempio la mailing list, siano solo di contorno e strumentali a questi ultimi.

Sono previste attività di vario tipo, da interventi tecnici ad incontri informali, occasioni per fare "socialità", e per discutere dei più disparati argomenti. Vieni a trovarci al prossimo incontro!

Il C++ è uno dei linguaggi di programmazione più utilizzati al mondo, con una storia trentennale alle spalle. Sembrerebbe quindi superfluo continuare a parlarne. Non è già ben consolidata la sua conoscenza nell'industria? Non è già disponibile abbondante e ottimo materiale cartaceo o online per chi sta imparando?

A ben guardare, tutto ciò non è del tutto vero. Secondo noi è necessario parlare ancora di C++, e questi sono i motivi.

Sbagliare strada costa

Il C++ è si uno dei linguaggi più usati, ma anche uno dei linguaggi meno insegnati, e forse meno compresi. I corsi universitari, a ragion veduta, spesso introducono alla programmazione, e poi alla programmazione orientata agli oggetti, con linguaggi diversi, più semplici, che evitino allo studente di perdere tempo su dettagli secondari.

Anche chi lo insegna, spesso sbaglia approccio. Non è raro trovare libri anche molto venduti che approcciano il C++ come semplice estensione del C, senza preoccuparsi di calcare la mano sulle differenze metodologiche nello sviluppo di software in questi due linguaggi. Il risultato di questo approccio è codice C-like, poco manutenibile, poco leggibile, inaffidabile e insicuro.

Altrettanto diffusi sono i testi che insegnano il paradigma della programmazione orientata agli oggetti, utilizzando il C++ come se fosse una versione a basso livello del Java, ignorando totalmente le caratteristiche del C++ che lo differenziano, e che lo avvantaggiano, rispetto ad altri linguaggi di programmazione puramente orientati agli oggetti. Il risultato è codice Java-like, ovvero codice inutilmente complesso, inutilmente lento, e nonostante ciò ugualmente inaffidabile e insicuro.

Chi sta imparando, e spesso si ritrova nelle condizioni di dover imparare il linguaggio in modo autonomo, e nel minor tempo possibile, spesso ha bisogno di seguire il percorso giusto, per evitare di ritrovarsi tra le mani una lama arrugginita invece di un preciso bisturi.

Adottare uno stile moderno

Il C++ ha alle spalle una storia di quasi trent'anni. In tutto questo tempo, il linguaggio si è evoluto, e si è trasformato. Più di ogni altra cosa, la recente ratifica della versione del 2011 dello Standard ISO, recentemente revisionato nel 2014, ha rivoluzionato totalmente il volto del linguaggio, rendendo lo sviluppo più agile, più efficiente, più affidabile e sicuro.

Il C++ moderno è in ogni aspetto pratico un linguaggio completamente diverso.

Le precedenti best-practice sono diventate obsolete, sostituite da alternative più efficienti o più espressive. Operazioni che prima erano sconsigliate sono ora il modo migliore di operare. Problemi che affliggevano l'uso quotidiano del linguaggio sono spariti o sono stati fortemente mitigati.

Per questo motivo la mole di materiale sia cartaceo che online a disposizione è diventata improvvisamente obsoleta, e nonostante ne venga prodotta di nuova ad un buon ritmo, bisogna sempre applicare un filtro per capire cosa si sta leggendo.

È importante per chi impara capire subito come sfruttare queste nuove potenzialità, ed è importante per chi usa il linguaggio già da parecchio tempo capire dove il proprio stile di programmazione può migliorare.