Saper programmare: il super potere che tutti dovranno imparare

Saper programmare: il super potere che tutti dovranno imparare

“The software is eating the world”. Il software sta divorando il mondo, afferma Marc Andreessen (co-fondatore di Netscape): non solo le nostre vite, ma anche le scelte che facciamo ogni giorno e l’economia stessa che le influenza dipendono da software e computer.

hello world in C

Saper programmare un software significa avere il potere di influenzare le vite di – potenzialmente- miliardi di persone (Facebook, Google) e indirettamente le economi di tutto il mondo.

Su Hacker News (il sito di notizie più popolare tra i programmatori) qualcuno ha paragonato il saper programmare nel 21’ secolo a quello che è stata la letteratura nel mondo dopo l’invenzione della stampa.

Un paragone che può sembrare azzardato ma che inizia ad avere un senso se osserviamo come il software stia diventando il linguaggio per descrivere l’economia, la scienza, la medicina ed i modelli su cui si basa il funzionamento delle aziende.

Non è assurdo pensare che, nell’arco di una o due generazioni, le aziende che non avranno persone in grado di creare o comprendere software a tutti i livelli della loro organizzazione si troveranno in una posizione di notevole svantaggio competitivo. Uno svantaggio simile a quello in cui si sono trovate le aziende del 1600 che non avevano al loro vertice persone in grado di leggere e di scrivere.

Nello stesso arco di tempo, le aziende che avranno più successo saranno quelle che avranno il software nel loro DNA. Queste aziende saranno quelle che saranno formate da persone in grado di comprendere e sviluppare software e che avranno imparato come applicare queste conoscenze al management, alle vendite e all’amministrazione.

I vantaggi nel gestire un’azienda attraverso il software sono talmente elevati rispetto alla normale gestione attraverso la comunicazione scritta e verbale che tutte le altre capacità passano quasi in secondo piano. Saper gestire il personale, vendere un prodotto o gestire l’amministrazione sono capacità necessarie ma stanno per essere inesorabilmente divorate dal software. E tutto questo accadrà in un tempo relativamente breve.

Se tutto questo accadrà, il modo migliore per preparasi ed essere competitivi è quello di insegnare la programmazione a più persone possibile. Per essere competitivi, i nostri figli e i nostri nipoti  dovranno aver delle basi di programmazione, allo stesso modo in cui diamo per scontato il saper leggere e scrivere e conoscere storia, letteratura e matematica.

Padroneggiare un dominio di conoscenza (statistica, medicina, meccanica, finanza, ecc.) non sarà più sufficiente. Sarà necessario applicare questa conoscenza al software: saper programmare permetterà di automatizzare la propria conoscenza moltiplicando l’impatto che essa può avere.

Chi lavorava nel mondo dell’animazione ed era in grado di programmare ci ha dato i film di animazione in computer grafica che hanno ispirato generazioni di futuri programmatori e artisti (grazie Pixar). Musicisti in grado di programmare ci hanno dato i software di composizione musicale rendendo possibile a chiunque di creare musica di altissima qualità nel proprio scantinato.

Potrebbero i netturbini programmatori di un futuro prossimo creare dei robot in grado di aiutarli nel loro lavoro? O applicazioni in grado di comunicare e gestire in tempo reale problemi di raccolta? O anche semplicemente un sito web per sensibilizzare il pubblico sulla raccolta differenziata dei rifiuti? Io penso che sarà possibile.

Ogni campo che può essere migliorato dalla raccolta di informazioni, dall’organizzazione delle stesse, dall’automazione, dalla robotica, da applicazioni per smartphone e da tutto ciò che un software può rendere possibile, trarrà beneficio da un futuro in cui gli esseri umani possederanno sia la conoscenza di quel campo che la capacità di creare software.

Una capacità che oggi è appannaggio ancora di pochi, anche se la situazione è migliorata notevolmente negli ultimi trent’anni.

Il mondo dei programmatori è cambiato molto dalla genesi dell’informatica. A quel tempo chi si occupava di computer e di software aveva tipicamente una barba lunga e si vestiva in modo bizzarro, usando termini che nessuna persona al di fuori di quel mondo era in grado di comprendere.

Oggi quasi tutti hanno un computer e sanno cos’è un software.

Saper programmare non è più una cosa da “nerd” ma è “cool”. Saper programmare oggi può farti diventare famoso come saper cantare o suonare uno strumento.

Alcuni lo definiscono addirittura un super-potere per via dell’impatto che questa capacità può avere sul destino del mondo.

Tempo fa è stato diffuso un video che ha come protagonisti Bill Gates, Mark Zuckerberg e tanti altri personaggi più o meno famosi che raccontano come la loro vita e il loro futuro sono cambiati grazie all’apprendimento della programmazione.

L’iniziativa è volta a rendere la programmazione una conoscenza alla portata di tutti, soprattutto dei più giovani, portandone l’insegnamento all’interno delle scuole primarie, alla pari di letteratura, matematica, geografia e biologia.

Personalmente ho deciso di contribuire a questa causa da circa un anno, partecipando a CoderDojo, un’iniziativa simile che si prefigge di insegnare le basi della programmazione a bambini e ragazzi di tutte le età tramite un approccio giocoso e stimolante. Questa iniziativa ha un grande successo (ci sono corsi organizzati da volontari nelle maggiori città del mondo).

Per conclude vorrei lanciare un appello al prossimo Ministro dell’Istruzione.

I nostri figli si confronteranno presto con un mondo quasi completamente basato sul software, e non vorranno viverlo in modo passivo ma vorranno essere chi quel mondo lo plasmerà.

È nostro dovere prepararli con le capacità necessarie per essere creatori e non semplici utenti.

Signor Ministro, che la sua prima decisione sia quella di portare l’insegnamento della programmazione nelle nostre scuole elementari per dare la possibilità alle prossime generazioni di essere parte attiva di quel mondo e di quell’economia in cui saper programmare sarà importante come saper leggere e scrivere.

Rispondi