Se, come dissi in un mio articolo, Python rende la programmazione democratica, questi due linguaggi la rendono a suffragio universale. Scratch e Snap sono due progetti di due università statunitensi che mirano a creare un linguaggio per la didattica: E ci sono riusciti.
I due linguaggi sono molto simili, entrambi disponibili in italiano: La principale differenza è che l’interprete di Scratch è in Flash, quello di Snap in HTML5, consentendogli di girare su molte piattaforme, iPhone e Android inclusi.Snap è leggermente più potente.
I linguaggi integrano funzioni utilissime in ambito didattico, già usate in linguaggi come il LOGO: In sostanza servono a creare programmi semplici e a insegnare la logica della programmazione a chi non se ne intende. Un buon programmatore, se abile, può fare anche programmi complessi come un emulatore dell’Altair 8800.
In pratica hanno moltissime funzioni sia per operare sul testo, sia per l’input e l’output, salti condizionati e gestione dell’aspetto (essendo un programma per bambini si possono cambiare immagini visualizzate e simile). E si programma spostando blocchi con il mouse, non scrivendo righe di codice. Dietro ai due servizi ci sono molte guide e una folta comunità: A mio parere per far iniziare un bambino sono ottimi per poi spostarsi su linguaggi migliori come il Python.
A breve farò su IS delle guide su questi sistemi di programmazione.