Come iniziare a programmare
Dopo aver chiacchierato a lungo con un amico programmatore, sei rimasto affascinato dalla sua professione a tal punto da voler provare a “mettere le mani in pasta”. Innanzitutto, lasciati dire che il mondo della programmazione è estremamente vasto e articolato: per acquisire le competenze sufficienti a diventare un professionista del settore sono richiesti studio, pratica e tempo, cosa che, se deciderai di buttarti a capofitto in questo settore, non devi dimenticare mai.
Se ti stai chiedendo come iniziare a programmare, però, immagino però tu abbia già fatto questo tipo di ragionamento e ti sia già interrogato anche su in che modo l’avvento dell’intelligenza artificiale sta modificando questa tipo di professione. In ogni caso, in questa sede troverai informazioni che ti torneranno utili per ricostruire rapidamente il quadro generale a un livello di base.
Non è infatti certo possibile realizzare una guida completa su un argomento così vasto, ma ciò che si può fare – oltre a effettuare esempi di base – è indirizzare verso le giuste fonti per reperire l’adeguata documentazione. È inoltre importante avere a disposizione i giusti strumenti. Come dici? Non vedi l’ora di partire in questo viaggio? Se è così, non mi resta che augurarti buona lettura e farti un grosso in bocca al lupo per tutto!
Indice
- Tipi di linguaggi esistenti e più diffusi
- Documentazione di supporto e intelligenza artificiale
- Come iniziare a programmare da zero
- Come iniziare a programmare un gioco
Tipi di linguaggi esistenti e più diffusi
Prima di scendere nel dettaglio di come iniziare a programmare, ritengo sia giusto fornirti indicazioni in merito ad alcune questioni di base relative al mondo della programmazione – visto che queste possono tornarti utili per approfondire il tema in modo più consapevole.
A tal proposito, per rinfrescarti la memoria, un programma è un’entità informatica che può elaborare dati e automatizzare delle operazioni, il cui funzionamento è spesso basato su una sequenza di passi ben precisa, che prende il nome di algoritmo: con questa definizione si intendono i passi necessari da compiere per trasformare una serie di informazioni “in ingresso” in una serie di dati “in uscita”.
Un linguaggio di programmazione, invece, è il formato con cui i passi dell’algoritmo vengono “tradotti” e resi comprensibili dal computer: nel mondo informatico esistono decine e decine di linguaggi simili, ciascuno progettato per uno specifico scenario di utilizzo. Per esempio, uno dei linguaggi dedicati ai database è SQL, così come i linguaggi di programmazione “tipici” di smartphone e tablet Android sono Kotlin e Java, quelli usati per creare le app per iOS/iPadOS sono Swift e Objective-C, mentre uno dei linguaggi per realizzare operazioni matematiche tra matrici è MATLAB, e l’elenco potrebbe andare avanti a lungo. Ricordati, tra l’altro, che la situazione è in evoluzione.
Ad ogni modo, i linguaggi di programmazione possono essere suddivisi in due grandi famiglie: quelli a basso livello, più difficili da imparare e meno intuitivi, la cui sintassi è più vicina a quella del linguaggio macchina, e quelli ad alto livello, che sono sintatticamente più vicini al linguaggio naturale anglofono e, dunque, più facili da assimilare.
A seconda del caso, una tipologia di linguaggio può essere più efficiente rispetto all’altra: è impensabile, per esempio, realizzare un driver di periferica utilizzando un linguaggio ad alto livello; allo stesso modo, sarebbe estremamente complicato scrivere un’app per smartphone, anche semplicissima, sfruttando un linguaggio a basso livello.
Inoltre, è possibile classificare i linguaggi anche in base a dei modelli astratti di programmazione, suddividendoli in precise “categorie” che ne definiscono l’approccio da utilizzare.
- Linguaggi imperativi – si tratta di linguaggi il cui modello è basato sui cambiamenti di stato della memoria della macchina: volendo semplificare il tutto, linguaggi del genere “modificano” il contenuto delle celle di memoria dell’elaboratore e, grazie a una serie di operazioni, permettono di ottenere la soluzione del problema. Questi linguaggi si dividono, a loro volta, in linguaggi procedurali (cioè che eseguono, in sequenza, i comandi specificati, con la specifica necessità di allocare manualmente i dati in memoria), a oggetti/object-oriented (che fanno utilizzo di strutture “preconfezionate”, senza bisogno di assegnare manualmente la memoria da dedicarvi) e paralleli (progettati cioè per l’interazione tra più elaboratori che svolgono lo stesso compito in contemporanea).
- Linguaggi dichiarativi – questa tipologia di linguaggio, invece, prevede un approccio che prescinde dallo stato della memoria ma elabora il problema costruendo delle relazioni tra le entità e i valori di una specifica funzione. Anche i linguaggi dichiarativi si suddividono, a loro volta, in tre categorie distinte: linguaggi funzionali (che basano il loro flusso di esecuzione sul risultato di funzioni matematiche), linguaggi logici (che, invece, basano l’esecuzione sul risultato di condizioni logiche) e, infine, linguaggi relazionali (i quali operano mettendo in relazione diverse entità). L’esempio più conosciuto di linguaggio di programmazione relazionale è SQL.
All’interno di questa guida, come scoprirai tra breve, mi concentrerò in particolare su tre tra i più utilizzati linguaggi imperativi di alto livello esistenti al giorno d’oggi: il linguaggio C (procedurale), Java e Python (entrambi object-oriented).
Come ti ho già accennato in precedenza, in informatica esistono tantissimi linguaggi di programmazione e, come puoi facilmente immaginare, non mi è possibile elencarteli tutti. Ciò che vorrei fare, però, è fornirti una panoramica su quelli più conosciuti e utilizzati, così che tu possa avere un’idea del linguaggio da scegliere per iniziare, basandoti proprio sul tipo di programma che intendi realizzare.
- C – si tratta di un linguaggio di programmazione procedurale che risale al 1972 e che, grazie alla sua enorme flessibilità, può essere applicato praticamente a qualsiasi tipologia di scenario: per esempio, il kernel di Linux, il kernel di Android e numerosi sistemi di gestione di periferiche di uso comune (per esempio alcuni modem), sono interamente scritti in C. Non si tratta di un linguaggio a oggetti (al contrario del suo successore, il C++, che, invece, lo è), pertanto, al fine di utilizzarlo in modo semi-avanzato, è necessario quantomeno avere dimestichezza con l’allocazione, la lettura e la scrittura della memoria.
- C# – sintatticamente simile al C, il C# è stato progettato da Microsoft, è di sua proprietà (sebbene dal 2014 sia diventato open source) ed è specifico per l’interfaccia grafica di Windows e di tutti i relativi software basati sul framework .NET.
- Visual Basic – anch’esso a marchio Microsoft, questo linguaggio veniva usato principalmente per la creazione di programmi per Windows dotati di interfaccia grafica. Ai giorni nostri, Visual Basic è completamente inglobato in .NET.
- Java – è uno dei linguaggi di programmazione a oggetti più conosciuti e apprezzati in assoluto, il quale, grazie alla sua flessibilità, è adatto a un gran numero di impieghi: ti basti sapere che i programmi in Java possono essere eseguiti da qualsiasi sistema operativo desktop, semplicemente installando un software dedicato (chiamato JRE o Java Runtime Environment). Piccola curiosità: gran parte del sistema operativo Android, che avrai sicuramente usato almeno una volta, è realizzato in Java.
- Swift – è un linguaggio di programmazione a oggetti presentato da Apple nel 2014 e permette di realizzare applicazioni per macOS, iOS, iPadOS, watchOS, tvOS e Linux in maniera abbastanza intuitiva. Per le applicazioni iOS/iPadOS viene usato anche il linguaggio Objective-C.
- Python – si tratta di uno dei linguaggi di programmazione a oggetti con le più ampie possibilità d’impiego in assoluto: nella fattispecie, esso può essere impiegato per realizzare programmi distribuiti (che funzionano in modo “spezzettato” su più elaboratori contemporaneamente), routine di testing, script di automazione, calcoli numerici e molto, molto altro.
- Delphi – si tratta di un linguaggio di programmazione tutt’oggi usato per la realizzazione di software gestionali dedicati alla gestione di grosse quantità di dati, senza però pretendere molto dalle relative interfacce grafiche.
- MATLAB – è un linguaggio di programmazione principalmente dedicato al calcolo matematico, particolarmente orientato sulle operazioni tra matrici.
- R – anche in questo caso, si tratta di un linguaggio di programmazione strutturato per effettuare complessi calcoli matematici, impiegato principalmente per le operazioni di computazione grafica e per il calcolo statistico.
- Assembly – è uno dei linguaggi di programmazione di basso livello che più si avvicina al codice macchina comprensibile dal processore, dalla sintassi estremamente complessa ma dalla potenza a dir poco smisurata. Per esempio, l’Assembly viene impiegato per implementare i controller per i bus della scheda madre e i driver di periferica.
Documentazione di supporto e intelligenza artificiale
Uno degli aspetti più importanti relativi alla formazione autonoma in ambito di programmazione è relativo allo studio della documentazione di supporto del linguaggio scelto. Sul Web infatti sono miriadi le pagine – ufficiali e non – che spiegano come utilizzare un determinato linguaggio di programmazione. Non solo: tra gli sviluppatori sono ampiamente noti portali come Stack Overflow, in cui sono gli stessi sviluppatori a porre quesiti e rispondere ad altri.
L’avvento del progresso tecnologico e dell’intelligenza artificiale, però, stanno però progressivamente rendendo sempre meno utili le classiche pagine Web di supporto. Non fraintendermi: la supervisione manuale e l’approccio classico non sono di certo da scartare, ma è indubbio che ormai l’IA stia accelerando lo sviluppo in modo importante. Penso ad esempio allo strumento GitHub Copilot, in grado di svolgere mediante intelligenza artificiale diversi compiti di supporto relativi proprio all’ambito della programmazione. Certo: si fa riferimento all’autocompletamento del codice.
Sono ormai anni che si discute di quanto l’intelligenza artificiale sia destinata a impattare il lavoro del programmatore in ottica futura, ma già oggi è in atto una rivoluzione che difficilmente lascia indifferenti. Potresti insomma voler quantomeno dare un’occhiata alla mia guida relativa alle migliori IA per programmare, così da avere un’idea di base in merito a quale livello hanno effettivamente raggiunto questi strumenti.
Se ti interessa fare una rapida prova pratica relativa alla programmazione in tempi di agenti IA, in ogni caso, ti consiglio di collegarti al sito Web di Gemini Pro, fare clic sul pulsante Try now in Google AI Studio ed eseguire, se richiesto, il login con il tuo account Google. A questo punto, prova a digitare nella barra che compare a schermo, per esempio, “Sviluppa un gioco in cui un simpatico orso deve schivare le palle di neve che gli vengono lanciate contro. Rendilo giocabile dal browser“, dando poi conferma tramite il tasto Run.
Attendi dunque che il servizio IA in questione completi lo sviluppo di quanto chiesto e chiedi, per esempio: “Come posso avviarlo?“. Ti verrà probabilmente spiegato di incollare il codice proposto a schermo in un editor di testo, salvando il file in formato .html. Dopodiché ti basterà aprirlo mediante un browser per la navigazione Web per vedere il gioco in azione. Certo, ci sono buone probabilità che l’IA non abbia fatto tutto perfettamente (commettendo quelle che in gergo tecnico si chiamano “allucinazioni”) – anche a causa di un prompt di base senza troppe spiegazioni – ma già solo questo rapido test può farti comprendere quanto uno strumento di questo tipo possa tornare utile in fase di programmazione, anche per migliorare il proprio codice.
Come iniziare a programmare da zero
Al netto dei supporti relativi a documentazione e intelligenza artificiale, che sono in realtà la parte probabilmente più importante di questa guida – visto che sarai poi tu a dover esplorare per bene in autonomia il linguaggio di programmazione scelto – ti piacerebbe partire sin da subito con dei semplici programmini in linguaggi come Python, C e Java? Sì? Perfetto, se sei intrigato dall’idea allora sarai felice di sapere che di seguito puoi trovare tutte le indicazioni del caso.
Come iniziare a programmare con Python
Dopo aver letto l’introduzione di questa mia guida, sei rimasto incuriosito da Python e ora vorresti capire come iniziare a programmare avvalendoti di questo linguaggio? Perfetto, credo proprio di poterti aiutare: di seguito, ti illustrerò nel dettaglio come procurarti gli strumenti utili allo scopo e, per concludere, come realizzare ed eseguire un semplicissimo programma. Pronto per partire? Ok, andiamo.
Dunque, per prima cosa, collegati al sito Web di Python e fai clic sulla versione del programma più adatta al tuo sistema operativo (ad es. Python X.X.X installer EXE per Windows x86-64 se stai usando Windows a 64 bit, Python X.X.X installer per Mac OS X 64-bit/32-bit se stai usando un Mac, e così via) e, a download completato, avvia il file appena ottenuto.
A questo punto, se ti trovi su Windows, apponi il segno di spunta accanto alla casella Add Python X.X to PATH, premi sui pulsanti Install Now e Sì e attendi che il processo d’installazione venga automaticamente portato a termine. Per concludere e uscire dal programma di setup, pigia sul bottone Close. In alternativa, se disponi di un PC dotato di sistema operativo Windows 10 o Windows 11, puoi pensare di procedere all’installazione dal Microsoft Store integrato.
Se, invece, stai usando un Mac, lancia il file .pkg scaricato in precedenza, premi per tre volte consecutive sul pulsante Continua, poi sui pulsanti Accetta e Installa, immetti la password del Mac nell’apposito campo e concludi il processo facendo clic in successione sui pulsanti Installa software e Chiudi. Se hai dubbi sul da farsi, puoi fugarli seguendo quanto indicato nella mia guida specifica su come installare Python.
Una volta installato tutto l’occorrente, puoi finalmente realizzare ed eseguire il tuo primo “programma” in Python. Dunque, tanto per cominciare, crea un nuovo file chiamato helloworld.py, aprilo e scrivi al suo interno il codice seguente.
print("Ciao, mondo!")
Non sorprenderti della semplicità di questo codice: Python è un linguaggio tanto potente quanto flessibile e dispone di numerose funzioni “integrate” di base, che non richiedono l’importazione di librerie esterne. A questo punto, salva il file e segui uno dei passaggi seguenti, in base al sistema operativo che possiedi.
- Windows – apri il Prompt dei comandi richiamandolo dalla cartella Strumenti di Windows residente nel menu Start e digita in esso il comando cd Desktop seguito dalla pressione del tasto Invio.
- macOS – usando il Terminale, posizionati sulla Scrivania impartendo il comando cd ~/Desktop e premendo il tasto Invio.
Poiché Python è un linguaggio interpretato e non compilato, è sufficiente digitare il comando python helloworld.py per eseguire immediatamente il piccolo programma appena realizzato. Per ulteriori informazioni su questo linguaggio, ti invito a consultare il mio tutorial generale su come programmare in Python.
Come iniziare a programmare in C
Adesso è giunta l’ora di imparare a scrivere un piccolo programma in C che, semplicemente, stampi a video la scritta “Ciao, mondo!“.
Tanto per cominciare, se stai utilizzando Windows, devi innanzitutto procurarti il componente Visual Studio Community, che contiene gli strumenti necessari per compilare un file sorgente (cioè un file contenente il codice del programma) scritto in linguaggio C.
Per procedere, dunque, collegati al sito Web del programma, premi sul pulsante Download gratuito e, una volta completato il download del file (VisualStudioSetup.exe), avvialo e fai clic in successione sui pulsanti Sì e Continua per iniziare la procedura di setup. Giunto alla finestra successiva, apponi il segno di spunta accanto alla voce Sviluppo di applicazioni desktop con C++ (collocata nella parte centrale della finestra), premi sul pulsante Installa e, a procedura completata, chiudi tranquillamente la finestra.
Su macOS, invece, non hai bisogno di installare alcunché, poiché le componenti fondamentali del linguaggio C sono già incluse nel sistema operativo. Per tutti i dettagli sulla questione, in ogni caso, puoi fare riferimento alla mia guida relativa a come installare Microsoft Visual Studio.
Ora che disponi di tutti gli strumenti necessari, è arrivato il momento di scriverne il codice, utilizzando le istruzioni più adatte al sistema operativo da te in uso. Tanto per cominciare, devi creare il file sorgente del programma utilizzando una delle seguenti procedure.
- Windows – avvia il Blocco note richiamandolo dal menu Start (il pulsante a forma di bandierina in basso a schermo). Ad avvio del programma completato, clicca sul menu File residente in alto a sinistra, scegli la voce Salva con nome…, indica l’opzione Tutti i file nel menu a tendina Salva come e digita nella casella Nome file il nome helloworld.c. Salva il file sul desktop di Windows, lasciando aperta la finestra del Blocco Note.
- macOS – avvia il Terminale richiamandolo dal Launchpad (l’icona a forma di razzo annessa alla barra Dock), digita il comando cd ~/Desktop seguito dalla pressione del tasto Invio e impartisci poi il comando touch helloworld.c, sempre seguito da Invio. Fatto ciò, apri il file facendo doppio clic sull’icona appena creata sulla Scrivania.
A questo punto, digita all’interno della finestra dell’editor di testo aperto in precedenza (Blocco Note o XCode) il seguente codice.
#include <stdio.h> #include <stdlib.h> int main(void) { printf("Ciao, mondo!\n"); return 0; }
Completata quest’operazione, salva il file creato precedentemente e chiudi l’editor (mi raccomando di andare accapo, se il codice viene copiato tutto di fila). A questo punto, non ti resta che compilare il sorgente, creando, dunque, un file che possa essere eseguito dal sistema operativo.
Per farlo, se ti trovi su Windows, avvia il Developer Command Prompt richiamandolo dalla cartella Visual Studio collocata nel menu Start e digita in sequenza i comandi cd %USERPROFILE%\Desktop e cl helloworld.c, entrambi seguiti dalla pressione del pulsante Invio. Per eseguire il programma, non devi far altro che impartire il comando helloworld, sempre seguito da Invio.
Se, invece, ti trovi su Mac, utilizza il Terminale precedente aperto per impartire il comando gcc helloworld.c -o helloworld seguito dalla pressione del tasto Invio, per poi avviare il piccolo programma impartendo il comando ./helloworld.
Come puoi vedere, il piccolo programma che hai appena realizzato non fa altro che stampare a video la scritta “Ciao, mondo!“. Hai visto che poi non è stato così difficile?! Se ti interessa approfondire il discorso e scoprire di più sul linguaggio in questione, ti consiglio di fare riferimento al mio tutorial specifico su come programmare in C.
Come iniziare a programmare in Java
È tua intenzione approcciare al mondo della programmazione utilizzando il linguaggio Java? Allora questa è la sezione del tutorial che fa per te: di seguito, infatti, ti fornirò le indicazioni necessarie per realizzare un piccolo programma che stampi a video la scritta “Ciao, mondo!“.
Affinché un programma in Java possa essere eseguito, è necessario che sul sistema operativo in uso sia presente il componente Java Runtime Environment, o JRE. Tuttavia, se è tua intenzione realizzare un programma, devi, invece, affidarti al componente Java Development Kit, o JDK, che contiene tutto il necessario per programmare utilizzando il linguaggio in questione.
Per procurartelo, collegati al sito Web del programma, gestisci i cookie come meglio ritieni e premi sul link per scaricare la versione del JDK più adatto al tuo computer: Windows o macOS. Per comodità, accertati di scaricare, rispettivamente, i file in formato .exe o .dmg.
A download completato, se ti trovi su Windows, lancia il file scaricato in precedenza e fai clic in successione sui pulsanti Sì, Next (per due volte consecutive) e Close. Quando hai finito, potresti dover regolare le variabili d’ambiente del computer affinché il compilatore Java sia facilmente raggiungibile: per procedere, se necessario, potrebbe farti piacere consultare le linee guida ufficiali di Java (considerando che la procedura può variare anche a seconda della versione del sistema operativo a tua disposizione).
Se, invece, ti trovi su macOS, devi semplicemente lanciare il pacchetto .dmg scaricato in precedenza, avviare il file .pkg collocato al suo interno e procedere con l’installazione cliccando sul pulsante Continua, poi su Installa (digitando, quando richiesto, la password del Mac) e, infine, sul tasto Chiudi. Dato che queste procedure di installazione possono sempre variare col passare del tempo, però, potrebbe farti piacere consultare il mio tutorial su come installare Java per maggiori informazioni.
A questo punto, non ti resta che creare il codice sorgente del programma: seguendo gli stessi passaggi che ti ho indicato in precedenza, crea il file HelloWorld.java utilizzando la procedura più adatta al sistema operativo da te in uso. Quando hai finito, scrivi al suo interno il seguente codice.
import javax.swing.*; public class HelloWorld { public static void main(String[] args) { JFrame finestra = new JFrame("Il mio primo programma Java"); JOptionPane.showMessageDialog(finestra, "Ciao, mondo!"); System.exit(0); } }
Quando hai finito, salva il file sorgente, chiudi l’editor di testo ed esegui il programma utilizzando uno dei metodi che ti indico di seguito.
- Windows – avvia il Prompt dei comandi richiamandolo dalla cartella Strumenti Windows collocata nel menu Start, digita il comando cd Desktop seguito dalla pressione del tasto Invio per “spostarti” sul desktop, dopodiché impartisci in sequenza i comandi javac HelloWorld.java e java HelloWorld per compilare ed eseguire il programma appena creato.
- Utilizzando il Terminale di macOS aperto in precedenza, digita il comando cd ~/Desktop per spostarti sulla Scrivania del Mac ed esegui le medesime istruzioni viste su Windows per compilare ed eseguire il programma.
Come puoi vedere, il programma appena creato mostra una semplice finestra di dialogo recante la dicitura “Ciao, mondo!“: non è stato affatto difficile, vero?
Ad ogni modo, per approfondire il discorso su Java, puoi consultare liberamente le mie guide su come imparare Java e come programmare in Java, in cui ti ho insegnato le basi della programmazione in questo linguaggio.
Come iniziare a programmare in altri linguaggi di programmazione
Andando oltre agli esempi pratici appena effettuati, che altro non sono che indicazioni di base relative alla configurazione dell’ambiente di programmazione, potresti chiederti come procedere, invece, per altri linguaggi di programmazione.
A tal proposito, che tu ti stia chiedendo, per esempio, come iniziare a programmare in C++ o come iniziare a programmare in JavaScript, sappi che non c’è si sono solo le documentazioni Web e l’intelligenza artificiale a poterti dare una mano – per quanto al giorno d’oggi si tratti di strumenti praticamente fondamentali per restare al passo coi tempi.
Se intendi procedere in un modo un po’ più “rilassato”, però, potrebbe farti piacere dare un’occhiata ai libri di programmazione disponibili, per esempio, su store online come Amazon.

C++: Introduzione e fondamenti al linguaggio di programmazione ad ogge...

Fondamenti di programmazione in C++. Algoritmi, strutture dati e ogget...

Primi Passi nella Programmazione: JavaScript: Manuale Teorico Pratico ...

JavaScript: Corso accelerato per programmare, dalle basi alle tecnolog...
Sono tantissimi, infatti, i libri di questo tipo “for dummies“, ovvero per principianti dell’argomento trattato. Non solo: puoi anche trovare tanti video su questo tipo di argomento su piattaforme online come YouTube, per fare un esempio. Le possibilità a tua disposizione per approfondire la programmazione, anche in autonomia al di fuori dei classici contesti formativi, insomma, non mancano di certo.
Come iniziare a programmare un gioco
Se ti stai chiedendo come iniziare a programmare videogiochi – uno dei sogni più diffusi tra le ultime generazioni – sappi che si va ben oltre quanto spiegato nel capitolo relativo all’intelligenza artificiale. Un videogioco è infatti un media complesso, realizzato da tante figure professionali che si uniscono in un’unica opera creativa.
Questo non significa, però, che non sia possibile realizzare – con la giuste competenze e la giusta pazienza – produzioni indie interessanti, come dimostrato da un buon numero di titoli nel corso degli ultimi anni. Sappi, però, che in questo caso si utilizzano dei motori grafici come Unreal Engine e Unity.
Se ti interessa muovere i tuoi primi passi in questo avanzato ambito, potrebbe farti piacere dare un’occhiata alla mia guida generale su come sviluppare un videogioco.
In qualità di affiliati Amazon, riceviamo un guadagno dagli acquisti idonei effettuati tramite i link presenti sul nostro sito.

Autore
Salvatore Aranzulla
Salvatore Aranzulla è il blogger e divulgatore informatico più letto in Italia. Noto per aver scoperto delle vulnerabilità nei siti di Google e Microsoft. Collabora con riviste di informatica e cura la rubrica tecnologica del quotidiano Il Messaggero. È il fondatore di Aranzulla.it, uno dei trenta siti più visitati d'Italia, nel quale risponde con semplicità a migliaia di dubbi di tipo informatico. Ha pubblicato per Mondadori e Mondadori Informatica.