
Scrittura · 8 feb 2023
Di nuovo all'università
Un tuffo nella programmazione scientifica
Questo mese sono tornato all'università per un corso speciale di programmazione scientifica. Con i tanti progressi recenti nel machine learning (chiamato "AI" nel linguaggio da PowerPoint), ChatGPT compreso, mi è sembrato il momento ideale per tuffarmi nella programmazione in Python. Vieni con me in questo viaggio.
Perché Python per la programmazione scientifica?
Python ha conquistato un'enorme popolarità nella comunità scientifica, e a ragione. La sua semplicità e leggibilità lo rendono accessibile ai principianti, pur conservando la potenza per affrontare compiti complessi. La versatilità del linguaggio permette a ricercatori e scienziati di implementare algoritmi e modelli con relativa facilità.
Una vasta gamma di librerie pensate per il calcolo scientifico, come NumPy, SciPy, Pandas e Matplotlib, rafforza la posizione di Python in questo campo. Queste librerie offrono funzioni e strumenti completi per l'analisi dei dati, la modellazione statistica e la visualizzazione, semplificando così il processo di programmazione scientifica.
Rispetto ad altri linguaggi di programmazione, come JavaScript o Ruby, che si usano spesso in contesti non scientifici come lo sviluppo web, Python vanta una sintassi più lineare. Questa caratteristica permette di concentrarsi sul problema da risolvere invece di lottare con le complicazioni del linguaggio. In più, il vasto ecosistema scientifico di Python lo rende una scelta più adatta per le applicazioni di ricerca.
Guarda i due esempi di codice qui sotto, uno in C++ e l'altro in Python 3. Ogni programma fa le stesse cose: chiede nome e data di nascita dell'utente, esegue una semplice validazione dell'input e infine mostra l'età attuale dell'utente.


Si nota subito la differenza di sintassi tra i due linguaggi, con Python più simile all'inglese di tutti i giorni. Questo aspetto di Python spesso migliora la leggibilità e la comprensione per molti utenti.
Un altro fattore del successo di Python nella programmazione scientifica è la sua comunità vivace. Ricercatori e sviluppatori di varie discipline condividono conoscenze, offrono supporto e contribuiscono a progetti open source, creando un ambiente di collaborazione e apprendimento continuo.
Il corso
Durante il corso abbiamo esplorato le basi assolute della programmazione affrontando problemi di vari ambiti scientifici. Alla fine si acquisisce una solida padronanza dei principi della programmazione e la capacità di applicarli in campi e progetti diversi.

Ripassare le basi della programmazione, anche per programmatori esperti (come me), può rivelarsi enormemente utile. Col tempo non è raro che i programmatori sviluppino abitudini o scorciatoie che non rispettano le buone pratiche. Tornando ai fondamentali puoi disimparare le cattive abitudini e ristabilire solide fondamenta nei principi della programmazione. Inoltre, il ritmo veloce del settore tecnologico fa sì che innovazioni e aggiornamenti emergano di continuo. Ripassando le basi, i programmatori esperti possono tenersi al passo con i progressi e le metodologie più recenti. Questo processo di rivalutazione offre anche l'occasione di affrontare la programmazione con la mente sgombra.

Il corso era composto da più moduli, a partire dal Livello 1, dove si sceglieva tra ALGORITMI, incentrato sullo scomporre problemi intuitivi in passaggi comprensibili a un computer, e NUMERI, un modulo di taglio matematico che esplorava le proprietà dei numeri senza richiedere conoscenze matematiche pregresse. Nel Livello 2 la scelta era tra TESTO, centrato sull'elaborazione del linguaggio naturale e sull'analisi del sentiment dei tweet, e INTEGRAZIONE NUMERICA, dove si insegnavano tecniche importanti per calcolare l'area sotto una funzione quando l'integrazione tradizionale non bastava. Il Livello 3 prevedeva il lavoro con i BIG-DATA, analizzando grandi insiemi di dati e i modelli meteorologici dei Paesi Bassi. Un livello bonus facoltativo, MOVIMENTO, offriva una simulazione dello scavo di un tunnel attraverso il pianeta ed esplorava problemi di fisica risolvibili con l'aiuto del computer.


Conclusione
Qualunque sia la tua età o la tua saggezza, c'è sempre spazio per imparare qualcosa di nuovo, soprattutto con progressi nel machine learning come GPT4. Inoltre, tornare all'università è un cambiamento rinfrescante, perché offre un contesto completamente diverso da quello commerciale o professionale in cui di solito mi muovo. Fai tuo il mantra: stay hungry, stay foolish!
