Scratch est un logiciel de programmation destiné à apprendre la programmation aux enfants, à partir de 7 ans. Construit à partir de Smalltalk et Squeak, il apporte un environnement plus simple et cadré, mais ne permet pas d’aller aussi loin que ce dernier.

Pour programmer dans Scratch, le principe est simple : l’utilisateur met en place un décor, des sprites, et "programme" via des "briques de commande" toutes prêtes.

Ces briques, représentant les différentes commandes du langage Scratch, fonctionne à la manière des briques de lego. Ainsi, si l’on utilise la brique "avance de ’10’ pas", et que l’on clique dessus, le sprite choisi avance de 10 pas. En imbriquant cette commande et la commande "jouer le son ’blip.wav’, celui-ci avancera et jouera le son choisi. Cela permet aux jeunes programmeur en herbe de comprendre visuellement les sections du programme et leur signification. Il existe bien sûr des briques de conditions, de répétition, de variables, et il est possible de créer un programme assez complexe via ce logiciel.

En marge du logiciel en lui-même, le site comprend une galerie à la youtube, où les utilisateurs peuvent partager leurs projets jouables en ligne via une applet java adaptée, et échanger des composants, des scripts via ce système. Cet applet peut également être téléchargée pour être mise sur un autre site.

A première vue, il ne paraît pas à première vue aussi performant et polyvalent que Squeak, et le manque d’optimisation du code et l’absence de scrolling ne lui permettront pas de créer des jeux aussi simplement que le défunt Clik and Play ou Clik and create. Par contre, son approche par briques de commande et surtout la complète francisation de celles-ci le rend accessible beaucoup plus tôt que ces derniers, et on peut penser commencer à l’utiliser pour des petits projets dès que l’enfant sait lire.

Scratch est ainsi un excellent logiciel pour faire découvrir la programmation aux jeunes enfants.