Scratch (informatica)

Da Wikipedia, l'enciclopedia libera.
Scratch
Scratch cat large.png
Autore Mitchel Resnick
Data di origine 2006
Ultima versione 2.0
Utilizzo Educativo
Paradigmi Programmazione a eventi, Programmazione imperativa
Tipizzazione dinamica
Estensioni comuni .sb (Scratch 1.4 and below) .sb2 (Scratch 2.0)
Influenzato da Logo, Smalltalk, HyperCard, StarLogo, AgentSheets, Etoys
Implementazione di riferimento
Sistema operativo Windows, Mac OS X e GNU/Linux
Licenza GPLv2 e Scratch Source Code License
Sito web scratch.mit.edu

Scratch è un linguaggio di programmazione e il suo ambiente di sviluppo e d'autore. Il linguaggio, ispirato alla teoria costruzionista dell'apprendimento e progettato per l'insegnamento della programmazione tramite primitive visive, è adatto a studenti, insegnanti e genitori, ed utilizzabile per progetti pedagogici e di intrattenimento che spaziano dalla matematica alla scienza, consentendo la realizzazione di simulazioni, visualizzazione di esperimenti, animazioni, musica, arte interattiva, e semplici giochi.

Storia[modifica | modifica wikitesto]

Il gruppo Lifelong Kindergarten del MIT Media Lab, guidato da Mitchel Resnick, e la sua società di consulenza con sede a Montreal Playful Invention Company, co-finanziato da quest'ultimo con Brian Silverman e Paula Bonta, ha sviluppato la prima versione desktop di Scratch nel 2003. Dal 2007, i progetti possono essere condivisi online con altri utenti e i progetti condivisi possono essere legittimamente "remixati", salvati con modifiche, dagli altri utenti.

Con l'introduzione della versione 2.0 di Scratch è stato reso possibile definire blocchi utente all'interno di un progetto.[1]

Il nome deriva dalla omonima tecnica dello scratch usata dagli artisti del giradischi, i turntablist, alludendo alla facilità con cui è possibile missare e remixare i progetti Scratch.

Da questa base si sono sviluppate altre esperienze quale è Snap!, per aggiungere altre funzionalità non presenti nella versione di Scratch.[2]

Linguaggio[modifica | modifica wikitesto]

Scratch prevede un approccio orientato agli oggetti (denominati Sprites).

Scratch è un linguaggio di programmazione che consente di elaborare storie interattive, giochi, animazioni, arte e musica. Inoltre permette di condividere i progetti con altri utenti del web.

L'idea di questo linguaggio è che anche i bambini o le persone inesperte di linguaggi di programmazione possono imparare importanti concetti di calcolo matematico, a ragionare in modo sistematico, a pensare in modo creativo e anche a lavorare partecipativamente.

Scratch è caratterizzato da una programmazione con blocchi di costruzione (blocchi grafici) creati per adattarsi l'un l'altro, ma solo se inseriti in una corretta successione, in questo modo si evitano inesattezze nella sintassi.

Ambiente[modifica | modifica wikitesto]

L'ambiente Scratch è disponibile sia via web, sul sito ufficiale, sia come software installabile ed utilizzabile offline, disponibile per le piattaforme Windows, Mac OS X e GNU/Linux. L'ultima versione stabile è la versione 2.0 rilasciata il 9 maggio del 2013.

Interfaccia utente[modifica | modifica wikitesto]

Scratch 2.0 all'avvio

L'area posta in alto a sinistra è il palcoscenico o "stage area", dove compaiono i risultati e il codice prende vita (es. animazioni, grafica, ecc., tutto in dimensioni piccole, normali o a pieno schermo) mentre gli Sprite, gli oggetti grafici su cui agisce il codice, sono elencati in basso.

Selezionando uno Sprite è possibile associarvi i blocchi di codice, selezionabili dall'area Script, dove sono raggruppati per argomento, trascinandoli nell'area del codice. Se uno Spite ha associato del codice questo viene visualizzato nell'area a destra ed è possibile modificarlo. Qualsiasi blocco può essere provato con un doppio clic in modo da vederne in anteprima l'azione.

Categoria Note    Categoria Note
  Movimento Muove gli Sprite e
cambia gli angoli
     Situazioni Blocchi di gestione degli eventi
e da porre come testata.
  Aspetto Controlla la visibilità,
i costumi e l'output
  Controllo Istruzioni se
e striutture ciclo/loop
  Suono Esegue brani audio e
sequenze audio programmabili
  Sensori Sensori per gli Sprite
e input utente
  Penna Supporto al disegno
e alla grafica
  Operatori Operatori matematici e
booleani.
  Variabili e liste Uso di varibili
e assegnazione di valori
  Altri blocchi Procedure personalizzate (blocchi) e controllo di periferiche.
Hello, World! in Scratch

A lato della cartella Script, ve ne sono altre due per Costumi e Suoni. Una barra espandibile a destra è dedicata alla guida.

Le aree sono state riorganizzate nella versione 2.0.[3]

Comunità[modifica | modifica wikitesto]

Lo slogan dellà comunità online di Scratch recita "Immagina, Programma, Condividi", sottolineando l'importanza della condivisione e degli aspetti sociali della creatività nella filosofia alla base di Scratch.

I progetti Scratch, essendo a codice aperto, sono liberamente modificabili e utilizzabili per creare nuovi progetti. I progetti possono essere inviati direttamente dal programma al sito web di Scratch, e qualsiasi membro della comunità può scaricarne il codice per studiarlo o modificarlo in un nuovo progetto. I membri possono inoltre creare gallerie di progetti, commentare , taggare e aggiungere ai preferiti. Tutti i progetti sul sito sono condivisi con licenza Creative commons "Share-Alike" e riprodotti su un browser (utilizzando Flash Player).

Il sito web riceve quasi 10 milioni di visite al mese e al 2 gennaio 2013 i membri registrati sono 1.349.093 (di cui 402.697 hanno condiviso progetti), per un totale di più di 4.200.000 progetti condivisi (più di un progetto inviato al minuto). Il sito web organizza periodicamente il "Scratch Design Studio", competizione per incoraggiare la creazione e condivisione di progetti dalla grafica elementare.

Nel 2008, la piattaforma della comunità online di Scratch (denominata "ScrachR") ha ricevuto una menzione onoraria all'Ars Electronica Prix.

Esiste anche una comunità online per educatori, denominata ScratchEd.

Voci correlate[modifica | modifica wikitesto]

Note[modifica | modifica wikitesto]

  1. ^ Kids’ Programming Tool Scratch Now Runs In The Browser, TechCrunch, May 2013.
  2. ^ BYOB homepage, University of California, Berkeley.
  3. ^ John Maloney, Andrés Hernández, Natalie Rusk, Evelyn Eastmond, Karen Brennan, Amon Millner, Eric Rosenbaum, Jay Silver, Brian Silverman e Yasmin Kafai, Scratch: Programming for All in Communications of the ACM, vol. 52, nº 11, November 2009, pp. 60–67, DOI:10.1145/1592761.1592779. URL consultato il 25 gennaio 2014.

Bibliografia[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]