robot de la enciclopedia para niños

Smalltalk para niños

Enciclopedia para niños
Datos para niños
Smalltalk
Smalltalk Balloon.svg
Alan Kay, Adele Goldberg, Daniel Henry Holmes Ingalls, Jr. y Diana Merry
Información general
Extensiones comunes st
Paradigma orientado a objetos
Apareció en Desarrollo comenzado en 1969. Públicamente disponible en 1980
Diseñado por Alan Kay
Sistema de tipos dinámico
Implementaciones múltiples
Influido por Simula, Sketchpad, LISP
Ha influido a Objective-C, Java, Self, Python, Ruby, AppleScript

Smalltalk es un lenguaje de programación especial. Fue creado pensando en la educación y en cómo las personas podían usar las computadoras de forma más creativa. Es un lenguaje "orientado a objetos", lo que significa que todo en él se organiza como si fueran pequeños bloques llamados "objetos" que se comunican entre sí.

Imagina que Smalltalk es como un mundo virtual donde viven muchos objetos. Estos objetos se hablan enviándose "mensajes". Por ejemplo, un objeto "número" puede recibir un mensaje para sumarse con otro número.

Un sistema Smalltalk incluye:

  • Una Máquina virtual: Es como un programa que permite que Smalltalk funcione en diferentes computadoras.
  • Un archivo especial llamado "imagen": Guarda todos los objetos que forman el sistema.
  • El lenguaje de programación Smalltalk: Las reglas para escribir los programas.
  • Una gran colección de "objetos reutilizables": Piezas de código que ya están hechas y puedes usar.
  • Un entorno de desarrollo: Un lugar donde puedes escribir, probar y organizar tus programas.

Smalltalk es muy querido por los programadores. En 2017, fue el segundo "lenguaje de programación más querido" en una encuesta de desarrolladores de Stack Overflow.

¿Cómo Nació Smalltalk?

La historia de Smalltalk comenzó en los años 70. Un grupo de investigadores, incluyendo a Alan Kay, Dan Ingalls, Ted Kaehler y Adele Goldberg, trabajaron en el centro de investigación Xerox PARC. Su idea era crear un sistema informático que ayudara a las personas a ser más creativas y a experimentar con las computadoras. Querían un entorno donde fuera fácil investigar y crear cosas nuevas.

Entendiendo Smalltalk: Objetos y Mensajes

En Smalltalk, un programa se construye con objetos que se envían mensajes. Piensa en un objeto como una "cosa" que tiene ciertas características y sabe hacer ciertas acciones.

¿Qué es un Objeto?

En Smalltalk, casi todo es un objeto. Un número, una operación matemática o incluso una ventana en la pantalla son objetos. Cada objeto representa una idea, ya sea algo real como una persona o algo más abstracto como un servidor de internet.

Los objetos en Smalltalk tienen estas características:

  • Colaboradores: Son como las "propiedades" del objeto. Por ejemplo, un objeto "persona" podría tener colaboradores como "nombre" o "edad".
  • Reciben mensajes: Cuando un objeto recibe un mensaje, ejecuta una acción (llamada "método") y puede devolver una respuesta. Un mensaje tiene un nombre y a veces necesita información extra (parámetros).
  • Envían mensajes: Mientras un objeto está haciendo algo, puede enviar mensajes a sí mismo o a otros objetos.

¿Qué es una Clase?

Todos los objetos son creados a partir de algo llamado "clase". Una clase es como un "molde" o un "plano" que describe cómo serán los objetos que se creen a partir de ella. Por ejemplo, la clase "Perro" podría describir que todos los perros tienen un nombre, una raza y saben ladrar.

Las clases tienen estas características:

  • Tienen un nombre, como "MiClaseDeEjemplo".
  • Definen las variables que sus objetos usarán para guardar información.
  • Tienen un conjunto de métodos: Son las acciones que los objetos de esa clase pueden realizar cuando reciben un mensaje.
  • Pueden heredar de otras clases: Esto significa que una clase puede tomar prestados los métodos y variables de otra clase más general. Por ejemplo, la clase "Perro" podría heredar de la clase "Animal".

Los objetos se crean cuando el programa está funcionando. Cuando un objeto ya no se necesita, Smalltalk lo elimina automáticamente de la memoria con algo llamado "recolector de basura".

Características Principales de Smalltalk

Smalltalk fue uno de los primeros lenguajes orientados a objetos. Esto significa que se enfoca en organizar el código en objetos que interactúan entre sí.

Algunas de sus características importantes son:

  • Orientación a Objetos: Todo es un objeto.
  • Tipado dinámico: No necesitas decir de antemano qué tipo de información guardará una variable.
  • Comunicación por mensajes: Los objetos se hablan enviándose mensajes.
  • Herencia simple: Las clases pueden heredar características de otras clases.
  • Recolección de basura: La memoria se gestiona automáticamente.
  • Puede ser compilado o interpretado, dependiendo de cómo se use.

Smalltalk ha influido mucho en otros lenguajes de programación populares como Java, Python y Ruby. También ayudó a desarrollar ideas modernas en la programación, como las metodologías ágiles para crear software de forma más rápida y flexible.

El Entorno de Smalltalk

El entorno de Smalltalk es diferente a los programas que usas para programar en otros lenguajes. Es muy gráfico e interactivo. En lugar de escribir todo el código y luego ejecutarlo, en Smalltalk puedes interactuar directamente con el programa mientras está funcionando. Es como si estuvieras dentro del programa, cambiando y probando cosas sobre la marcha. Esto hace que desarrollar software en Smalltalk sea una experiencia muy fluida y experimental.

Ejemplos Sencillos de Smalltalk

En Smalltalk, todo es un objeto y a los objetos se les envían mensajes.

Aquí tienes algunos ejemplos:

Para sumar dos números:

1 + 1

Esto significa que al objeto "1" se le envía el mensaje "+" con el objeto "1" como compañero. El resultado es el objeto "2".

Para mostrar un mensaje en la pantalla (el famoso "Hola, mundo"):

Transcript show: '¡Hola, mundo!'

Aquí, el objeto "Transcript" (que es como una ventana de texto) recibe el mensaje "show:" con el texto '¡Hola, mundo!' como información.

Para crear un nuevo objeto de una clase:

ClaseDelObjeto new

Esto le dice a la "ClaseDelObjeto" que cree una nueva "instancia" (un nuevo objeto) de sí misma.

Para encontrar las vocales en una frase:

'Esto es un texto' select: [:aCharacter | aCharacter isVowel].

Aquí, el objeto que es la frase 'Esto es un texto' recibe el mensaje "select:". Este mensaje le pide que elija (seleccione) cada letra que sea una vocal.

Galería de imágenes

Véase también

Kids robot.svg En inglés: Smalltalk Facts for Kids

kids search engine
Smalltalk para Niños. Enciclopedia Kiddle.