Lenguaje de Programacion Smalltalk
Lenguaje de Programacion Smalltalk
Lenguaje de Programacion Smalltalk
DESCRIPCION
Smalltalk es un lenguaje reflexivo de programacin, orientado a objetos y
con tipado dinmico. Por sus caractersticas, Smalltalk puede ser considerado
tambin como un entorno de objetos, donde incluso el propio sistema es un objeto.
Metafricamente, se puede considerar que un Smalltalk es un mundo virtual donde
viven objetos que se comunican entre s, mediante el envo de mensajes.
Un sistema Smalltalk est compuesto por:
HISTORIA
La primera versin de Smalltalk se conoce como Smalltalk-80, aunque hay una gran
cantidad de variantes an utilizadas hoy en da. El primer Smalltalk fue el resultado
del trabajo de una investigacin liderada por Alan Kay, un miembro del equipo de
Xerox PARC. Primero, se desarroll Smalltalk-71, creada por un desarrollador
llamado Dan Ingalls que pens un lenguaje de programacin basado en la idea de
mensajes y que se poda reducir a una pgina de cdigo. Pero estas versiones de
Smalltalk eran bastante diferentes a lo que luego sera el producto final.
Por ende, Smalltalk consiste solamente de objetos. Todos los elementos del
programa son considerados objetos que tienen 4 caractersticas comunes:
Memoria propia
Comunicacin con otros objetos
Posibilidad de heredar las caractersticas de otros objetos
Posibilidad de procesamiento
Sharp Smalltalk
El compilador #Smalltalk implementa Smalltalk
para ejecutarse de forma nativa en el marco
.NET. Fue escrito por John Brant y Don
Roberts y est disponible bajo la licencia Open
Software License versin 1.1.
El compilador #Smalltalk le permite usar clases
de los programas ordinarios de .NET. De
hecho, muchas de las clases ANSI Smalltalk
estndar proporcionadas por #Smalltalk son
simplemente wrappers alrededor de clases
.NET estndar. Por ejemplo, la clase
OrderedCollection es un contenedor alrededor de ArrayList proporcionado por
.NET.
#Smalltalk tiene una biblioteca de clases que es en su mayora compatible con el
estndar ANSI Smalltalk. Por lo tanto, debera ser capaz de ejecutar la mayora
del cdigo Smalltalk compatible con ANSI. Mientras que la biblioteca de clases
incluye clases para el estndar ANSI, no hay muchas clases para otros
elementos. Por ejemplo, actualmente, no hay clases para el desarrollo de
GUI. Est previsto que se aada ese apoyo, pero hasta ahora no se ha
hecho. Qu esperas de unos meses de trabajo?
CARACTERISTICAS
Orientacin a Objetos
Tipado dinmico
Interaccin entre objetos mediante envo de mensajes
Herencia simple y con raz comn
Reflexin computacional completa
Recoleccin de basura
Compilacin en tiempo de ejecucin o Interpretado (dependiendo de la
distribucin o del proveedor)
Mltiples Implementaciones
Smalltalk ha tenido gran influencia sobre otros lenguajes como Java o Ruby, y de
su entorno han surgido muchas de las prcticas y herramientas de desarrollo
promulgadas actualmente por las metodologas giles (refactorizacin, desarrollo
incremental, desarrollo dirigido por tests, etc.).
VENTAJAS DE SMALLTALK
Smalltalk existe desde hace mucho tiempo y en varios sabores y tiene dos
ventajas principales:
Ejemplo 1:
1 + 1
Significa que al objeto "1" le enviamos el mensaje "+" con el colaborador externo,
otro objeto, "1". Este ejemplo entonces resulta en el objeto "2".
Ejemplo 2
En el tpico Hola mundo, el objeto es Transcript, que recibe el mensaje show con
el colaborador externo 'Hola, Mundo!'.
Ejemplo 3
ClaseDelObjeto new
Para crear una instancia de un objeto, slo hay que mandar un mensaje new a
una clase:
Ejemplo 4
Para obtener las vocales de una cadena de texto:
FUENTES:
https://hipertextual.com/archivo/2012/03/historia-del-software-smalltalk/
https://es.wikipedia.org/wiki/Smalltalk
http://www.refactory.com/tools/sharp-smalltalk