LA Programmazione INFORMATICA E L’ARTE DELLA CREAZIONE
La programmazione informatica non è solo una competenza tecnica, ma una forma d’arte che richiede dedizione, passione e un costante desiderio di apprendere. Nel corso di un’intervista recentemente pubblicata su Youtube, Brian Kernighan, pioniere della programmazione e autore di testi fondamentali come “The Practice of Programming” e “The C Programming Language“, ha analizzato il panorama odierno concentrandosi sul ruolo dell’Intelligenza Artificiale nel campo dello sviluppo Software.
Sì, perché a fine febbraio 2024, cavalcando gli enormi passi avanti compiuti dai moderni modelli generativi, il numero uno di NVIDIA aveva fatto un’improvvida dichiarazione. Jensen Huang ha consigliato ai più giovani di non imparare la programmazione perché di questo si occuperanno le IA. Prima di lui anche Matt Welsh aveva provocatoriamente definito morta la programmazione.
In generale, inoltre, i modelli generativi non sempre forniscono codice perfetto. Anzi, è spesso necessario l’intervento umano per ottimizzarlo, rimuovere eventuali problematiche di Sicurezza e integrarlo in progetti più strutturati.
CHI È BRIAN KERNIGHAN
Classe 1942, Brian Kernighan ha contribuito in modo significativo allo sviluppo di diversi linguaggi di programmazione e strumenti software che hanno plasmato il mondo dell’informatica moderna. Ha inoltre contribuito allo sviluppo di Unix assieme ai suoi creatori Ken Thompson e Dennis Ritchie.
Dopo aver completato gli studi, Kernighan ha iniziato a lavorare presso i leggendari Bell Labs, un istituto di ricerca di fama mondiale noto per le sue innovazioni in vari campi della Scienza e della Tecnologia. Basti pensare che proprio in questi laboratori è stato inventato il transistor (era il 1947): si tratta dell’invenzione più rivoluzionaria dei Bell Labs, alla base di tutta l’elettronica moderna. Successivamente, è stata la volta del laser (1958), della cella solare (1954), del già citato sistema operativo Unix (1969), del linguaggio di programmazione C (1972), della teoria dell’informazione di Claude Shannon (1948), del CCD (Charge-Coupled Device, 1969), tecnologia alla base delle fotocamere digitali, della fibra ottica per le telecomunicazioni (1966).
Oltre ai contributi sul linguaggio C, Kernighan è anche uno degli autori di AWK, un linguaggio di scripting utilizzato principalmente per l’elaborazione di testo e la manipolazione di file. Oltre a AWK, Kernighan ha lavorato su altri strumenti software e linguaggi, come AMPL (A Mathematical Programming Language), utilizzato per risolvere problemi di ottimizzazione matematica.
Kernighan è noto anche per la sua filosofia della programmazione, che enfatizza l’importanza della scrittura di codice chiaro, semplice e leggibile. Ha spesso sottolineato che il codice dovrebbe essere scritto pensando non solo alla macchina che lo esegue, ma anche alle persone che lo leggeranno e lo manterranno in futuro.
L’ORIGINE DI “THE PRACTICE OF PROGRAMMING”
Durante l’intervista pubblicata in questo Video, Kernighan ha condiviso preziose riflessioni sulla storia e il futuro della programmazione, discutendo delle sue esperienze maturate presso i Bell Labs e dell’evoluzione del settore informatico in generale.
Nel 1999, Brian Kernighan e Rob Pike hanno pubblicato il testo “The Practice of Programming“. Il libro è nato dalla loro vasta esperienza nel campo della programmazione e dalla necessità di fornire una guida pratica su come scrivere programmi in modo efficace e professionale.
Kernighan ha ricordato come, negli anni ’90, molte delle tecnologie che oggi diamo per scontate stavano appena emergendo. Linguaggi come Python erano allora relativamente nuovi, mentre strumenti come Perl e Java erano molto popolari. Quel contesto rese necessaria la pubblicazione di un libro che potesse aiutare i programmatori a muoversi nel panorama tecnologico in divenire.
Il libro ha avuto un impatto significativo sulla comunità dei programmatori, fornendo principi e linee guida che sono ancora rilevanti oggi. Kernighan e Pike hanno affrontato temi come lo stile di programmazione, il debugging, l’importanza della scrittura di codice leggibile e manutenibile. Anche se molte delle tecnologie specifiche discusse nel libro sono evolute, i principi fondamentali rimangono validi, dimostrando la lungimiranza degli autori.
Nonostante l’avvento delle tecnologie basate sull’intelligenza artificiale, Kernighan crede fermamente che la creatività e la capacità di risolvere problemi rimangano al centro delle competenze degli sviluppatori. Le macchine possono automatizzare molti compiti, ma è l’ingegno umano che guida l’innovazione e lo sviluppo di soluzioni uniche. Lo spieghiamo anche nell’articolo in cui ci chiediamo se l’intelligenza artificiale supererà l’intelligenza umana.