[Soci SLIP] imparare a programmare nel 2017

Lucio Crusca lucio a sulweb.org
Ven 28 Lug 2017 13:20:59 CEST


Ciao a tutti,

mio figlio di 11 anni (12 a settembre) mi chiede da un po' se gli 
insegno a programmare. Lo farei molto volentieri, ma ho paura di partire 
con gli strumenti sbagliati e fargli passare la voglia prima ancora che 
gli venga davvero.

Dico questo perché abitualmente insegno in corsi 
HTML/PHP/JavaScript/Java e quant'altro e noto che la maggior parte degli 
studenti abbandona perché si rende conto che le cose sono più complicate 
di come se le erano immaginate. E loro comunque ci investono tantissime 
ore, molte di più di quelle che avrebbe a disposizione mio figlio.

Quando avevo io 11 anni iniziai a programmare da autodidatta su uno ZX 
Spectrum 48K. Quello era sicuramente lo strumento giusto per imparare 
all'epoca: lo accendevi ed eri subito nell'ambiente BASIC, avevi 
l'editor sintattico, con un tasto provavi il programma, avevi libri in 
italiano e riviste in edicola con listati da trascrivere e provare.

Oggi la situazione è molto diversa: devi prima capire cosa sia una rete 
ed il modello client-server per capire cosa sia una pagina web. Poi 
praticamente tutta la documentazione aggiornata è solo in inglese su 
internet.

Se invece tenti di partire da un linguaggio semplice senza tante 
pretese, tipo vari cloni del Basic, mancano degli ambienti di sviluppo 
semplici da utilizzare che non siano essi stessi un problema prima 
ancora del linguaggio di programmazione.

Scratch lo escludo perché è troppo elementare e troppo limitato per un 
ragazzo di 12 anni nativo digitale figlio di programmatore: ha già un 
paio di app simili a Scratch sul tablet ed è già arrivato ad annoiarsi 
con quel tipo di programmazione.

Python non lo conosco, ma mi sembrava di aver sentito dire che fosse un 
buon punto di partenza dal punto di vista didattico. Sembra esserci 
anche qualche libro tradotto in italiano specifico per ragazzi.
Ho cercato un IDE per Python che fosse semplice. Ninja IDE sembra quello 
ideale. L'ho installato e ovviamente non funziona (crash immediato alla 
partenza, arcani problemi con modulo QtWebKit). Non è che non possa 
mettermi lì a capire perché, ma cercavo qualcosa di adatto ad un ragazzo 
di 12 anni che non creasse problemi invece che risolverne.

Ho quindi provato Eric, che dev'essere un IDE davvero completo, ma ha 
addirittura disorientato me: non sono riuscito a creare un nuovo 
progetto (non mi si accende il tasto OK nella finestra di dialogo del 
nuovo progetto e non capisco cos'altro vuole che gli compili oltre a 
tutto quello che c'è di visibile...).

Ci sarebbe anche l'opzione HTML+CSS+Javascript+JQuery senza database e 
senza webserver, ma anche così la curva di apprendimento mi sembra 
terribilmente in salita all'inizio per ottenere qualunque cosa che sia 
vagamente tangibile.

Insomma, prima che dica a mio figlio che è meglio se lascia perdere 
subito, sapete dirmi se esiste un linguaggio di programmazione che abbia 
le seguenti caratteristiche?

1) libero
2) con IDE libero
3) con IDE libero e funzionante
4) con IDE libero, funzionante e che non richieda una laurea per essere 
usato
5) adatto ad imparare ed alla didattica a livello di hobby (quindi che 
non obblighi ad imparare prima come configurare un database o un 
webserver o trentasette linguaggi da interfacciare fra loro)
6) general purpose, senza particolari limiti tecnologici a la Scratch
7) disponibile su Linux



Maggiori informazioni sulla lista Soci