Un lenguaje de programación es un sistema esructurado y diseñado para que los ordenadoresse entiendan entre si y con los humanos. Está formado por un conjunto de órdenes o instrucciones generadas de manera ordenada.

Los lenguajes de programación constan de:

a) Léxico. Conjunto de palabras que pertenecen a ese lenguaje de programación, y la manera en que se escriben.

b) Sintaxis. Indica cómo se tienen que combinar las palabras en ese lenguaje de programación.

c) Semántica. Todo lo relativo al significado de la frase que se construye en ese lenguaje de programación.

Scratch es un lenguaje de programación. Cada una de las órdenes de este lenguaje está representada por un bloque. Uniendo estos bloques se crean programas. Es un entorno de programación gráfico. Es un software creado por Mitchel Resnick del MIT para enseñar a programar. Además es social de forma que está orientado a compartir y aprender junto a otros usuarios.

Se utiliza la metáfora de “piezas encajables” para animar objetos que se encuentran en la pantalla, con un uso muy sencillo e intuitivo. Scratch se utiliza desde un “entorno de desarrollo” que muestra de un sólo golpe de vista todos los elementos necesarios: escenario, objetos y elementos del lenguaje.
 
Podemos tener tantos escenarios y objetos como deseemos, utilizando aquellos que ya están disponibles con la instalación estándar de la herramienta, o bien creando los nuestros.
Los elementos disponibles no son únicamente dibujos, sino también sonidos. Podemos utilizar los que vienen por defecto, añadir sonidos nuevos desde la web del proyecto, o incorporar nuestras propias grabaciones, bien a través de la grabadora incorporada en el entorno, bien a través de cualquier otra herramienta externa.
 
Prácticamente todo se lleva a cabo arrastrando y soltando elementos con el ratón, y modificando con el teclado únicamente valores numéricos, textos…