lunes, 22 de noviembre de 2010

Smalltalk

Laboratorio de Lenguajes de Programación

Smalltalk es un lenguaje de programación que permite realizar diferentes tareas de computación mediante la interacción con un entorno de objetos virtuales. Smalltalk es como un mundo virtual donde viven objetos que se comunican mediante el envío de mensajes.
 
Un sistema Smalltalk está compuesto por: 
  • Máquina virtual
  • Imagen virtual que contiene todos los objetos del sistema
  • Lenguaje de programación (Smalltalk)
  • Biblioteca de Objetos reusables
  • Opcionalmente un entorno de desarrollo que funciona como un sistema en tiempo de ejecución.
 
Un programa Smalltalk consiste solamente de objetos, un concepto que se utiliza universalmente dentro de todo sistema Smalltalk. Todo, desde un número natural como el 4 hasta un servidor web es considerado un objeto. Los objetos Smalltalk tienen ciertas características:
  • Tienen una memoria propia.
  • Poseen capacidad para comunicarse con otros objetos.
  • Poseen la capacidad de heredar características de objetos ancestros.
  • Tienen capacidad de procesamiento.
 
Los objetos se comunican entre sí mediante el envío de mensajes. Un objeto puede hacer muchas operaciones. 
 
Las definiciones de estas operaciones en los objetos son llamadas métodos. Un método define la reacción de un objeto cuando recibe un mensaje que es dirigido a ese método. La resolución de un mensaje a un método es dinámica. La colección entera de métodos de un objeto se llamada protocolo de mensajes o interfaz de mensajes del objeto. 

Características
 
Smalltalk se considera como el primero de los lenguajes orientados a objetos (OOP), aunque en realidad el primero en implementar programación orientada a objetos fue Simula. En Smalltalk todo es un objeto, incluidos los números reales o el propio entorno Smalltalk.
 
 Como lenguaje tiene las siguientes características: 
  • Orientación a Objetos Pura
  • Interacción entre objetos mediante envío de mensajes
  • Herencia simple y con raíz común
  • Reflexión computacional completa
  • Recolección de basura
  • Compilación en tiempo de ejecución o Interpretado
  • Diversas Implementaciones

 

1 comentario: