Lenguaje de Programacion Smalltalk

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 5

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:

Una Mquina virtual (Virtual machine)


Un archivo llamado "Imagen", que contiene a todos los objetos del sistema
Un lenguaje de programacin (tambin conocido como Smalltalk)
Una enorme biblioteca de "objetos reusables"
Y generalmente, un entorno de desarrollo que adems puede funcionar como
un sistema en tiempo de ejecucin.

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.

Luego, se lanz la versin Smalltalk-76. Esta versin contena elementos ya


conocidos por todos y que significaron un avance importante. Por ejemplo,
herramientas importantes como una librera y editor de cdigo, metaclases que
mantenan la idea de que todo es un objeto, y ms. Pero Smalltalk-80 fue el primer
lenguaje que se hizo disponible fuera de Xerox PARC, repartido a compaas como
Hewlett-Packard y, por supuesto, Apple, que para ese entonces ya era cercana a
las investigaciones en el Centro.

Por qu es importante Smalltalk en la historia del software? No solamente es


importante, sino que podramos decir que es fundamental para comprender a la
computacin de usuarios como la conocemos hoy en da. El concepto central de
Smalltalk es el de objeto. Cuando ingresamos a un entorno de Smalltalk, no
estamos haciendo una interaccin directa con cdigo sino que lo hacemos en un
entorno de objetos virtuales. Lo que hacemos es enviarles mensajes para esperar
una respuesta. Justo lo que Ingalls imaginaba con su primera versin, que
sorprendentemente fue bocetada en tan slo una maana. As era cmo fluan las
ideas en Xerox PARC.

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

Smalltalk, entonces, es considerado el primer lenguaje de programacin orientado a


objetos, que fue implementado en algunos productos importantes como Squeak,
VisualWorks, Dolphin, y ms. La herencia de Smalltalk es una de las ms
importantes de la programacin, y no debera ser olvidada.

Versiones compatibles con la Plataforma .NET

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

Smalltalk es considerado el primero de los lenguajes orientados a objetos (OOP),


aunque en realidad el primero en implementar programacin orientada a objetos
fue Simula. En Smalltalk todo es un objeto, incluidos los nmeros reales o el
propio entorno Smalltalk.
Como lenguaje tiene las siguientes caractersticas:

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:

1) Smalltalk me pone fuera de la rueda comercial de las grandes compaas que


fabrican y venden herramientas de desarrollo (Microsoft, Sun, IBM, etc) y le da
valor a mis productos y sistemas y no a la herramienta con la que estn
desarrollados.
Es una forma de no dejarse "empujar".

2) Smalltalk, siendo tecnologa de objetos pura (no solamente "orientado a


objetos") es realmente poderoso y flexible para hacer cambios y mantener los
sistemas en cualquier momento.
DESVENTAJAS DE SMALLTALK

Las ms importantes desventajas del smalltalk estan en:

La falta de tipificacin, lo cual es fuente de errores,


La inexistencia de un mecanismo de aserciones),
La baja performance, no contar con un manejo de excpeciones disciplinado,
La falta de control de visibilidad
La no estandarizacin de sus libreras bsicas.

CODIGO EJEMPLOS DE SMALLTALK

Ejemplo 1:

En Smalltalk todo es un objeto, y a un objeto se le envan mensajes. Por ejemplo:

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

Transcript show: 'Hola, mundo!'

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:

'Esto es un texto' select: [:aCharacter | aCharacter


isVowel].

FUENTES:

https://hipertextual.com/archivo/2012/03/historia-del-software-smalltalk/

https://es.wikipedia.org/wiki/Smalltalk

http://www.refactory.com/tools/sharp-smalltalk

También podría gustarte