Menu
+
Chiudi

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.

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

Recentemente 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 comprende 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.

È di pochi giorni fá la diffusione di un video che ha già girato il mondo. Il video è sponsorizzato dalla fondazione no profit Code.org e 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) e di recente un gruppo di ragazzi italiani l’ha portata anche a Milano (cercate “CoderDojo Milano” su Google).

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.

New York, 6 marzo 2013

FEDERICO FEROLDI

  • GianpieroRiva

    Quanto sono d’accordo! Aggiungo anche che il punto fondamentale è insegnare l’approccio algoritmico ai bambini già dai tre anni in poi. Io lo sto facendo con i miei bimbi (ne ho tre!) e sto ottenendo risultati entusiasmanti. Il linguaggio di programmazione arriverà poi di conseguenza. Io ho iniziato con il Logo (!) sul C64 quando avevo 10 anni… passare poi al Basic è stato un lampo.

  • http://www.facebook.com/profile.php?id=1307640169 Alessandro Balasco

    Come suggerisce Jeff Atwood in questo post http://www.codinghorror.com/blog/2012/05/please-dont-learn-to-code.html non dovremmo tanto concentrarci sulla creazione di codice, quanto sulla soluzione di problemi. La migliore riga di codice è quello che non hai bisogno di scrivere! 

  • http://www.facebook.com/profile.php?id=1049412987 Corrado Marianelli

     Molto interessante, condivido assolutamente l’appello al futuribile ministro dell’istruzione_

  • http://www.facebook.com/domenico.laruccia Domenico Laruccia

    salve Federico, da che eta’ si dovrebbe cominciare a programmare ? quali sono i riferimenti ? come e dove avvicinare i bimbi alla programmazioni, oltre che via Coderdojo ? Vivo tra Bologna e Bari e ho 3 bellissime gemelle e effettivamente condivido quanto scrivi. Il non saper programmare e’ un mio grande cuccio, altrimenti molte idee possono o potrebbero trovare sfogo e realizzazione concreta;  non saper programmare oggi giorno e’ come amputarsi una mano, per persone creative o imprenditoriali.

    • http://www.facebook.com/unlucio Luciano Lucio Colosio

      io ho iniziato a 4 anni 😛
      E’ un po’ come leggere, scrivere e far di conto: se hai una persona che sappia guidarti prima cominci e meglio e’ :)

    • http://twitter.com/cloudify Federico Feroldi

      Salve Domenico, in realtà non c’è un età minima per imparare i concetti di base… molti dei concetti di destrutturazione di un problema in problemi più semplici si possono già imparare giocando con i Lego, cercando di costruire oggetti complessi e poi passando ai Mindstorms.
      Ci sono inoltre dei tool per imparare a programmare in modo visuale (Scratch, Alice), qui trovi una panoramica: http://scratch.mit.edu/

  • napolux

    Non capisco perchè ci sia tutta questa “foga” nell’insegnare a programmare. Non tutti possono (per limiti mentali/attitudinali)  e/o vogliono saper programmare.

    A guardar bene nemmeno se ne sente questo gran bisogno. Distinguiamo il “saper usare bene il computer” dal “saper programmare”, sono concetti ben distinti e il primo dovrebbe essere insegnato sin dalle elementari IMHO, non il secondo.
    Preferisco “un’elite” di programmatori (e sono tanti già oggi, credete a me, sul mio treno vedo più gente parlare di SAP, PHP e responsive design che di biscotti, economia e altro) ben preparati ad un milione di programmatori che sanno solo “programmicchiare” perché glielo hanno insegnato a scuola.Ogni volta che si parla di programmazione si vende il saper programmare come “facile da apprendere” e simili. Decine di riviste in edicola “insegnano” a programmare.Se proprio dobbiamo, allora voglio che si insegni nelle scuole anche a tirar su muri, a cucinare e a fare le saldature.

    • http://www.facebook.com/unlucio Luciano Lucio Colosio

      Il fatto che nelle scuole si insegni matematica e fisica non rende tutti dei matematici e dei fisici (purtroppo), cosi’ come fare arte o suonare il flauto dolce non rende tutti musicisti pittori o scultori. Cio’ non ostante l’entrare in contatto con queste materie ci da la possibilita’ di sviluppare skills che possono rivelarsi molto utili nella nostra vita.
      Allo stesso modo avere un’idea piu’ approfondita di cosa diavolo ci sia in un calcolatore e come lo si programma puo’ dare un vantaggio non indifferente e permettere da un lato agli utenti di essere piu’ efficaci nell’utilizzo degli strumenti informatici con vantaggi (e risparmi economici!!!) a vari livelli.
      Pensa solo a  quanto si potrebbe risparmiare gia’ solo sgravando chi fa help desk dalle domande piu’ idiote che giornalmente gli utonti pongono (ci sono blogs interi).
      Insegnare l’arte della programmazione, cosi’ come insegnare la pittura ecc, non trasformera’ tutti in programmatori ma dara’ migliori basi per poter sfruttare meglio questi strumenti del demonio :)

    • http://www.facebook.com/unlucio Luciano Lucio Colosio

      Secondo il tuo ragionamento allora dovremmo essere tutti pittori, scultori, musicisti fisici teorici ecc.
      Sinceramente credo che dare un minimo di infarinatura dell’arte della programmazione, cosi’ come per le altre arti, possa solo arricchire il bagaglio culturale di una persona con evidenti vantaggi.
      Pensa solo a quanto si risparmierebbe togliendo tutte le domande idiote da utonto che vengono rivolte giornalmente agli help desk in giro per il globo. Ci sono interi blogs su queste cose, noi ci ridiamo sopra ma all’atto pratico causano problemi piu’ o meno impattanti.
      Dare un bagaglio culturale minimo su come diavolo funzionano e si programmano i vari oggetti che ogni giorno di piu’ invadono la nostra vita puo’ solo avvantaggiare persone che, per forza di cose, non potranno far a meno di utilizzarli.

      PS: A si’, e magari darebbe un senso a ‘sta orda di startupper da sbarco che partono da pitch e ricerca di finanziamenti senza avere idea di come realizzare quello che hanno in mente ;P

      • Carmelo Presicce

        Straquoto il PS! :)

      • napolux

        Rispondo a te per rispondere a tutti… Credo che abbiamo problemi più urgenti (tipo l’analfabetismo di ritorno) rispetto all’insegnamento della programmazione nelle scuole. http://www.lindro.it/cultura/cultura-news/cultura-news-italia/2013-03-06/72942-ombra-analfabetismo-di-ritorno-in-italia

    • http://twitter.com/kiaroscuro ivan vaghi

      E’ diverso. Saper programmare e’ una leva per le tue capacita’ cognitive. In un business dove il materiale e’ informazione, saper programmare vuol dire rendere x10, x100 o oltre rispetto a chi non lo sa fare.  

  • Carmelo Presicce

    Grazie Federico per aver portato la discussione anche qui in Italia.

    Sviluppo app da qualche anno e recentemente ho avuto l’opportunità di insegnare le basi della programmazione android ad alcuni ragazzi neodiplomati o che hanno abbandonato gli studi universitari. E’ stata un’esperienza fantastica, sia per me che (a quanto dicono!) per loro.

    D’altra parte, c’è tanta richiesta di sviluppatori “mobile” sia qui che all’estero e ci sono tanti ragazzi in gamba che non vedono l’ora di cominciare a lavorare. Non tutti diventeranno sviluppatori professionisti, ma non tutte le aziende hanno bisogno di rockstar.

    Credo che soltanto “allenando le giovanili” si possa creare un ecosistema in grado di innalzare il livello tecnico medio e di sfornare talenti, è pura statistica, quindi ben vengano le iniziative di formazione e i video motivazionali, anche se un po’ esagerati 😉

    PS: bella l’iniziativa di coderdojo, sabato faccio un salto a Milano e se riesco provo a replicarla qui a Bologna!

  • http://twitter.com/EmaWebDesign Emanuele Calì

    Sono d’accordo con Napolux. Da un pò di tempo a questa parte si spaccia il saper programmare come la soluzione di tutti i mali. Assurdo.

    Insegnare programmazione nelle scuole va bene…nelle scuole a indirizzo informatico per tutti gli studenti che vogliono diventare programmatori e che, soprattutto, hanno capacità per poter diventare programmatori visto che non tutti possono esserlo.

    Lo dimostra la miriade di pseudo-programmatori che fanno questo lavoro senza esserci portati, senza avere quelle qualità che o ce le hai o nisba. Magari, si sono “buttati” a fare questo mestiere per pura curiosità o peggio ancora necessità…ma tutto questo danneggia i clienti e il mercato tutto.

    Avete presente quei clienti che non investono in prodotti di qualità realizzati da professionisti perchè hanno il figlio dell’amico che smanetta col codice e fa siti web per pochi spiccioli? Quanti di questi volete tirare su? Per fare cosa?

    Consiglierei di concentrare idee e sforzi su altri obiettivi…sulle vere priorità.

    CULTURA DIGITALE.

    Nelle scuole si devono insegnare le basi, i fondamenti dell’informatica e dell’uso del web e delle tecnologie. Siamo nel 2013 e ci sono fin troppe persone che a stento sanno accendere un computer o che si fanno fregare da una mail di phishing. Persone che se dici parole come browser o driver strabuzzano gli occhi.

    In Italia c’è effettivamente un problema. Non è la mancanza di programmatori. E’ la mancanza di cultura digitale.

    Buona serata a tutti.

  • honeels

    Mi sembra una contraddizione in termini: se il software automatizza tutto non vedo perchè anche scrivere software non sarebbe automatizzabile. IBM Watson, prima o poi farà anche questo: non è che i programmatori facciano qualcosa di trascendentale.

Altri articoli di: Federico Feroldi

Federico Feroldi
Tutto su Federico

Potrebbero interessarti anche

in by Federico
+
+
Impostazioni Articolo
Dimensione dei caratteri
aA
aA
aA
Sfondo:
Giorno
Notte
Testo:
Moderno
Classico
Alta leggibilità
ok