[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