Benvenuti ad un nuovo episodio. Prima iniziare con l'argomento
di oggi. Vi invito a iscrivervi, attivare
la campanella. e a, lasciare una valutazione positiva, il vostro
supporto è fondamentale per far crescere questa comunità. e a,
migliorare il mio episodio se avete
dubbiosemplicementecuriositaviinvitoaiscrivermiamauro.spezzaferro@gmail.com grazie per la vostra attenzione
e buon ascolto. Questa puntata potrebbe
ricollegarsi al tema dell'imparare a programmare, ma
in realtà oggi voglio parlare di qualcosa di più ampio.
Perché è importante studiare informatica?
L'informatica, come ogni grande disciplina, è incredibilmente
vasta e in continua espansione. Non è soltanto un'insieme di
nozioni tecniche o di strumenti pratici, è un universo complesso
fatto di teorie, linguaggi, applicazioni e continue
evoluzioni. La sua ampiezza è tale che,
paradossalmente, spesso risulta più semplice immaginare ciò che
ancora non esiste, piuttosto che avere una reale padronanza di
tutto ciò che già conosciamo, basti pensare a come la
fantascienza nei romanzi, le serie televisive o i film
abbiano anticipato di decenni invenzioni e concetti che oggi
consideriamo normali, dall'intelligenza artificiale
agli assistenti vocali delle comunicazioni interstantanee
globali alla realtà virtuale. Molti di questi strumenti erano
pure immaginazione creativa, eppure hanno aperto la strada a
ricerche concrete, ispirando generazioni di scienziati e
ingegneri. L'informatica, in questo senso,
non è mai solo presente, vive costantemente proiettata nel
futuro. È una disciplina che non si
limita a risolvere problemi esistenti, ma che contribuisce a
creare scenari inediti dove ciò che oggi sembra impossibile,
domani potrebbe diventare ordinario.
Ed è proprio da qui che parte la riflessione di oggi.
Partiamo da una domanda che può sembrare semplice ma che
semplice non ne affatto, che cos'è davvero l'informatica?
Molti risponderebbero qualcosa del tipo l'informatica, il
computer, Internet, i programmi, le APP, oppure e saper usare
Word, Excel, scrivere del codice, aggiustare un computer.
Ecco, queste risposte non sono sbagliate, ma sono riduttive.
L'informatica è molto di più. Partiamo proprio da una delle
tante definizioni che ci vengono date.
L'informatica è la scienza che studia l'informazione, il modo
in cui viene rappresentata, elaborata, archiviata e
trasmessa. È una disciplina che unisce
logica, matematica, linguistica, filosofia, ingegneria,
psicologia cognitiva ed anche una forma di pensiero, pensiero
computazionale per l'esattezza, cioè la capacità di affrontare
problemi complessi scomponendoli, cercando
soluzioni strutturate e replicabili, spesso usando gli
strumenti che la tecnologia ci mette a disposizione.
Ma non solo. E allora, tornando alla domanda
iniziale, perché è importante studiare l'informatica?
L'informatica ci aiuta a capire il mondo moderno.
Viviamo in un'epoca in cui quasi ogni aspetto della nostra vita è
influenzato dalla tecnologia, lavoro, scuola, sanità,
trasporti, comunicazione, informazioni, persino le
relazioni personali. E se non sappiamo come funziona
davvero ciò che che usiamo ogni giorno, rischiamo di diventare
utenti passivi o peggio ancora, vittime inconsapevoli dei
meccanismi nascosti dietro gli algoritmi.
Pubblicità personalizzate, piattaforme digitali,
intelligenze artificiali. Studiare informatica, anche solo
a livello concettuale, significa dotarsi di strumenti mentali, di
consapevolezza, di spirito critico.
Significa, ed è qui il punto centrale, non subire la
tecnologia, ma comprenderla, guidarla, valutarla.
Il Podcast è iniziato timidamente con un argomento ben
preciso, gli algoritmi. Un algoritmo, in fondo, è solo
una sequenza di istruzioni per risolvere un problema come una
ricetta di cucina, prendi gli ingredienti, li combini secondo
i passaggi e ottieni il risultato.
Ma attenzione, gli algoritmi non devono per forza essere scritto
in un linguaggio di programmazione.
Un algoritmo può essere descritto a voce, su Carta, con
un disegno o anche solo nella nostra mente.
Nel mondo dell'informatica, gli algoritmi vengono formalizzati
in linguaggi precisi e strutturati, così da essere
seguiti da una macchina. Tuttavia, il concetto di
algoritmo esiste prima del codice.
Il codice è solo un modo per tradurre quell'idea in qualcosa
che il computer possa eseguire. E questo è un'altro motivo per
cui studiare informatica è importante, ci aiuta a vedere la
logica dietro le cose, a riconoscere schemi, strutture,
anche in ambiti che non hanno nulla a che fare, o almeno in
apparenza, con i computer. Una frase che ho citato più
volte è attribuito a gistra, l'informatica non riguarda i
computer più di quanto l'astronomia riguarda i
telescopi. Questa frase sottolinea che
l'informatica è una disciplina più ampia che va oltre l'aspetto
hardware dei computer, concentrandosi su concetti,
metodi e teorie che li sottendono.
Quando studiamo informatica anche nelle sue basi, iniziamo a
vedere il dietro le quinte. Ci accorgiamo che è un'APP che
sembra magica. È solo il risultato di un lavoro
preciso, di logiche ben costruite.
Pensare che l'informatica serve solo a scrivere codice è un
errore comune e il linguaggio di programmazione è solo un mezzo.
È lo strumento che ci permette di modellare un'idea e darle
forma concreta, renderla eseguibile, comprensibile da una
macchina e quindi realizzabile. Basta immaginare una piramide.
Al suo vertice troviamo i linguaggi di programmazione, la
forma più visibile e creativa dell'informatica.
Ma ogni mattone che compone i livelli sottostanti è
fondamentale. Ci sono le basi matematiche e
logiche, i circuiti elettronici, le architetture hardware, i
sistemi operativi, gli algoritmi e le strutture dati.
Senza questi strati di conoscenze e di tecnologia il
vertice non potrebbe mai esistere.
Spesso durante i corsi di informatica non ci si sofferma
sul caso più semplice, ma ci si tende a studiare il caso
peggiore. Questo accade perché un
algoritmo non deve funzionare soltanto uno scenario ideale con
due attori che interagiscono in modo lineare, ma deve essere in
grado di gestire n attori in m condizioni diverse.
Ed è proprio l'introduzione di questi due parametri n ed m che
porta con sé un aspetto fondamentale, la complessità.
Anche qui, se volete soffermarvi sul concetto di complessità
asintotica, vi invito ad ascoltare la puntata numero 28,
notazione o grande algoritmi e complessità.
In informatica, infatti, non ci basta sapere se un algoritmo
funziona, vogliamo anche capire quanto bene funzioni al crescere
delle dimensioni del problema. Immagina ad esempio un algoritmo
di ricerca, se ci fermassimo al caso migliore, potremmo dire che
bastano pochi passi per trovare ciò che cerchiamo.
Ma cosa accade quando l'elemento non c'è o si trova in ultima
posizione? È in quel contesto che possiamo
valutare davvero la robustezza e l'efficienza di una soluzione.
Studiare il caso peggiore, quindi, non significa essere
pessimisti, ma piuttosto costruire.
Soluzioni solide, capaci di resistere non solo alle
condizioni ottimali, ma anche agli scenari più complessi e
meno favorevoli. Acquisire una forma mentis che
ci permette di affrontare i problemi in modo diverso, di
scomporre, di analizzare e di modellare la realtà in modo
astratto, per comprenderla meglio e cercare soluzioni più
efficaci, è un esercizio di logica, di creatività, ma anche
di progettazione, di ordine e di pazienza.
Sono convinto che riuscendo a capire l'informatica riusciamo
almeno in parte a capire meglio anche il mondo che ci circonda.
Pensiamo un momento, quante volte ci capita di essere in
fila al supermercato e sentire o magari dire noi stessi sempre la
solita frase, ma perché non aprono più casse?
È una scena familiare, carrelli pieni, due casse aperte, clienti
che sbuffano e il tempo che sembra dilatarsi.
Eppure, dietro quella situazione che a noi sembra soltanto
fastidiosa, si nasconde un problema complesso e spesso
anche un algoritmo. Proviamo a porci alcune domande
chiave, quanti casse aprire? Quando aprirle?
Con quanto personale disponibile?
Sono decisioni che dipendono da modelli di previsione della
distribuzione delle risorse e dall'ottimizzazione dei tempi.
Aspetti che noi clienti non vediamo, ma che vengono gestiti
in molti casi proprio grazie all'informatica, attraverso dati
storici sugli orari di maggiore affluenza, sensori che
monitorano i flussi in tempo reale.
Hai algoritmi che cercano di bilanciare efficienze e costi, i
supermercati pianificano quando e come aprire nuove casse.
Ma andiamo più in profondità. Torniamo un attimo alla frase
sentita al supermercato, ma perché non aprono più casse?
Questa frase mi fa sempre pensare a uno dei problemi
classici dell'informatica che ha anche un nome curioso, il
problema del barbiere addormentato.
Questo problema, formulato proprio da gestra, descrive una
situazione molto simile, un barbiere ha una sola sedia per
lavorare e una sala d'attesa con un certo numero di posti.
Se non ci sono i clienti, il barbiere si addormenta.
Se arriva un cliente e trova il barbiere libero, lo sveglia e lo
si fa servire. Se il barbiere è occupato e ci
sono posti liberi, il cliente aspetta, se invece non ci sono
posti liberi il cliente se ne va.
A prima vista sembra una storiella divertente.
In realtà è un modello semplificato di problemi molto
più complessi che riguardano la gestione delle risorse
condivise, quante richieste arrivano, come possono essere
servite e i tempi di attesa. E guarda caso è proprio quello
che succede in coda al supermercato, in un pronto
soccorso o persino un sistema informatico quando più programmi
chiedono di usare la CPU o la memoria.
È un esempio che si studia per introdurre i concetti di
gestione delle risorse condivise, di concorrenza e
sincronizzazione. Ma la sua forza sta proprio nel
fatto che parte da una situazione estremamente semplice
e familiare. E questo è il cuore del pensiero
computazionale, non solo risolvere problemi, ma
risolverli nel modo migliore. L'informatica si applica
quotidianamente nella nostra vita, anche se non ce ne
rendiamo conto, e lì presenti da ogni gesto, in ogni interazione,
in ogni servizio che diamo per scontato.
Eppure c'è qualcosa di unico, nell'informatica, nonostante la
sua complessità, ha la sua straordinaria capacità di farci
intuire il funzionamento delle cose che ci circondano.
Tutto sembra quasi semplice, quasi ovvio.
Apriamo un APP, premiamo un pulsante, otteniamo un risultato
clicchiamo su invia il messaggio arriva dall'altra parte del
mondo in una frazione di secondo ci viene naturale pensare,
funziona, punto. È proprio questa apparente
semplicità che spesso ci inganna, perché dietro ad ogni
gesto quotidiano c'è un'enorme quantità di logica, di
coordinamento, di progettazione invisibile.
Ed è qui che l'informatica rivela la sua vera natura, una
disciplina che nasconde la complessità sotto un'interfaccia
semplice, ma che merita di essere studiata proprio per
capire cosa c'è sotto il cofano. Capire davvero l'informatica
significa iniziare a vedere i meccanismi, a porci domande e ad
apprezzare l'ingegno umano dietro a ogni semplice click.
Ma da dove iniziare dunque, in un mondo così ricco di
tecnologie, linguaggi, strumenti e concetti?
Da dove può partire una persona che vuol capire meglio
l'informatica senza essere sopraffatti?
La risposta, per quanto possa sembrare semplice, almeno per
me, è dalla curiosità. Non serve partire subito da un
linguaggio di programmazione o corsi avanzati, basta iniziare a
guardare con occhi nuovi ciò che usiamo ogni giorno.
Iniziare a farsi domande è già un primo passo verso
l'informatica. La curiosità, tuttavia, non è
tutto. Il secondo passo che mi sento di
consigliare è di iniziare con un percorso didattico semplice,
capire i concetti fondamentali dell'informatica, partendo dal
linguaggio di programmazione adatto a chi si sta affacciando
a questo nuovo mondo. È inutile, almeno per me,
partire da framework e confonderli come linguaggi di
programmazione principali. Meglio partire anche dal Pascal
e qui se sicuramente molti di voi staranno ridendo o peggio.
Ma ribadisco, le fondamenti di un palazzo devono essere solide,
altrimenti cadrà tutto in poco tempo.
I mattoni principali di ogni linguaggio sono uguali.
Proprio grazie a questi mattoni, passo dopo passo, possiamo
costruire il nostro percorso dell'informatica, ma è
fondamentale restare con i piedi ben saldi a terra.
Dobbiamo imparare a porci obiettivi chiari, sostenibili e
anche dei limiti temporanei da superare con il tempo, con la
pratica e con la pazienza. Ricordiamoci tuttavia che
assieme all'informatica esiste l'elettronica che ci dà il
supporto fisico, il dove avviene tutto e la computazione, cioè il
come. Il processo logico che trasforma
input in output. È un mondo affascinante perché
unisce concretezza e astrazione, fisica e logica, materie e
pensiero. E più impariamo a conoscerlo,
più ci rendiamo conto che l'informatica non è solo
tecnologia. Ne ha anche, come detto, una
forma di comprensione della realtà.
E la matematica come si colloca all'interno dell'informatica?
È una domanda che viene fatta spesso e forse te la sei posta
anche tu, ma devo essere bravo in matematica per studiare
informatica? Oppure è vero che senza
matematica non si può imparare a programmare?
La risposta è, ovviamente dipende da cosa vuoi fare.
La matematica è sicuramente una colonna portante
dell'informatica. L'informatica nasce sulla logica
della matematica, si nutre di astrazioni, di modelli formali e
di calcoli, tutto ciò che facciamo con i computer.
Anche il semplice atto di scrivere un messaggio passa
attraverso strutture binarie, logiche booleane, insiemi,
funzioni, algoritmi e complessità computazionali.
E alla base di tutto ciò c'è la matematica.
Non serve essere matematici professionisti per approcciare
l'informatica. La matematica di base, la
logica, la capacità di ragionamento sono sufficienti
per iniziare a capire i concetti fondamentali e costruire le
proprie competenze. Man mano che si approfondisce,
poi, alcune branche della matematica diventano più
rilevanti, teoria dei grafi, algebra lineare, statistica,
probabilità. Tutte discipline che ci vengono
a comprendere algoritmi, intelligenza artificiale,
crittografia e molto altro. L'informatica quindi è uno
strumento che apre la mente, ci insegna a ragionare in maniera
strutturata, a scomporre problemi complessi, a costruire
soluzioni replicabili e osservare il mondo con occhi
diversi. Non è solo tecnologia, non è
solo codice, è pensiero, logica, metodo e creatività.
E questo, a mio avviso, è il motivo principale per cui vale
la pena studiare informatica, perché ci rende i cittadini
consapevoli in un mondo sempre più digitale, capaci di
comprendere e non solo di subire, capaci di creare e non
solo di consumare. Ogni piccolo passo costruisce le
basi per capire la tecnologia, guidarla, sfruttarla al meglio
nella vita quotidiana come nel lavoro, nella creatività come
nella risoluzione dei problemi. Anche questa puntata è
terminata. Grazie per avermi dedicato parte
del vostro tempo. Vi aspetto al prossimo episodio.