PDF de programación - Squeak. Un Smalltalk del siglo XXI

Imágen de pdf Squeak. Un Smalltalk del siglo XXI

Squeak. Un Smalltalk del siglo XXIgráfica de visualizaciones

Publicado el 6 de Abril del 2019
725 visualizaciones desde el 6 de Abril del 2019
722,3 KB
22 paginas
Creado hace 17a (09/12/2006)
Universidad Católica Nuestra Señora de la Asunción

Teoría y aplicaciones de la informática II



Squeak. Un Smalltalk del

siglo XXI



Humberto Aquino


2006


Tabla de Contenidos
1) Introducción

2) Como se inició todo

3) Qué es Smalltalk

4) Squeak es Smalltalk

5) Qué no es Squeak

6) Qué es interesante de Squeak

7) Cómo se inició Squeak

8) Filosofía

9) Licencia y Soporte

10) Características

12) Proyectos en Squeak

13) Repositorios

14) Referencias



Introducción
Squeak es una implementación del lenguaje de programación y ambiente Smalltalk. Es
moderna, altamente portable, rápida y de código abierto.

Smalltalk fue creado en Xerox PARC (Palo Alto Research Center) por un grupo de
investigadores liderado por Alan Kay durante la década de los 70. Estas investigaciones
tuvieron como resultados notables Smalltalk/71, Smalltalk/72, Smalltalk/76 y
Smalltalk/80.

En esa época, el mismo definió el termino orientación a objetos, y es el primer lenguaje
en el cual todo esta construido a partir de objetos, los cuales se comunican a través del
paso de mensajes.

Smalltalk está inspirado por las ideas de Simula, Sketchpad y Lisp, e inclusive hoy en
día Smalltalk guía a los lenguajes y ambientes orientados a objetos dinámicos de tipo
fuerte.

El kernel de Squeak posee:

Un lenguaje y librería base extensa compatible con Smalltalk-80 y el ANSI

Smalltalk X3J20.

Una máquina virtual rápida escrita con un subconjunto de Squeak apodado

SLang.

Una memoria de objetos compacta de 32-bits “bit identical”.

Un recolector de basura eficiente.

Un sistema de plugin para la máquina virtual

Una ejecución Bit-identical incluyendo gráficos en la mayoría de las plataformas

populares y sus respectivas versiones.

Por encima de esto se encuentra la librería de clases y los plugins de la máquina virtual
para multimedia de avanzada incluyendo gráficos anti-aliased 2D, gráficos 3D
acelerados, sonido de tiempo real y sinterización de música, video MPEG2 y mucho
más. Además, Squeak tiene uno de los ambientes de desarrollo mas avanzados,
totalmente reflectivos jamás creados, con más de 650 paquetes adheribles disponibles a
un click para su fácil instalación.


¿Como se inicio todo?
El Dynabook fue un sistema conceptual propuesto por Xerox PARC a finales de 1960 y
comienzos del 1970. Las ideas del Dynabook permitieron el desarrollo del prototipo
Alto, que poseía todos los elementos de interfaz gráfica alrededor del año 1972. El
componente de software de esta investigación era Smalltalk, que cobró vida propia y
prácticamente se independizo del concepto del Dynabook.



El concepto del Dynabook describía lo que ahora es una laptop pero mas parecida a una
Tablet PC, con una batería casi eterna y un software para brindar a los niños la
oportunidad de expresión con todos los medios digitales disponibles. Los adultos
podrían usar el Dynabook pero la audiencia serian los niños, y el software “crecería con
ellos”.

Alan Kay fue el precursor principal del concepto del Dynabook. Cuando apareció
Microsoft con su tablet PC Alan dijo: “El Tablet PC de Microsoft… la primera
computadora Dynabook-like suficientemente buena para criticar”, un comentario que
había aplicado antes a las Macintosh de Apple.

El hardware en el cual corría era relativamente irrelevante.

En los 90s, Alan Kay empezó a trabajar en un sistema de programación llamado
Squeak, un ambiente Smalltalk de código abierto que se podría ver como la
continuación del concepto del Dynabook.


Que es Smalltalk?
Smalltalk es un lenguaje orientado a objetos puro, simple y uniforme. Smalltalk ha
influenciado a la mayoría de los lenguajes “modernos” de programación, a pesar de que
la mayoría del tiempo, estos pierden la elegancia y simplicidad de Smalltalk.



La filosofía fundamental de Smalltalk es la de completa apertura. Todo está disponible
para ser visto, entendido, modificado y extendido.

La librería de Smalltalk ha inspirado librerías muy conocidas como la de Java debido a
su robustez. Esto se debe a que tiene más de 30 años de “depuración”.

La sintaxis de Smalltalk cabe en una hoja, y el modelo de objetos es simple:

Todo es un objeto, inclusive las clases.

Los objetos se comunican a través del paso de mensajes.

En las clases se describe el estado del objeto a través de las variables de

instancia, y el comportamiento es descrito por los métodos de la clase y sus
instancias.

Cuando un objeto recibe un mensaje, el método correspondiente es buscado en
la clase y súper clases del receptor hasta ser encontrado. En caso que esto no se
cumpla, se envía al mismo receptor un mensaje doesNotUnderstand.

Los métodos son públicos.

Las variables de instancia son privadas.

El tipo de herencia es simple.

Palabras reservadas: nil, true, false, self, super, thisContext (solo en Squeak) y

Smalltalk.

El siguiente es un ejemplo de Smalltalk (usando una clase de GUI Morphic de Squeak)
que crea una elipse, cambia su color a azul y muestra en la pantalla.

EllipseMorph new color: Color blue; openInWorld.



Squeak es Smalltalk?
Squeak es una implementación abierta, altamente portable de Smalltalk-80, cuya
maquina virtual esta escrita enteramente en el mismo. Lo que hace fácil su corrección
(debugging), análisis y cambio. Squeak añade características a Smalltalk aunque se trata
de mantenerlo compatible.

Para logar un performance práctico, el traductor produce un programa equivalente en C
cuyo performance es comparable a un Smalltalk comercial.

Otros aspectos notables de Squeak incluyen:

* Sonido de tiempo real y sintetización de música. Todo escrito en Smalltalk.

* Extensión de BitBlt para manejar color de cualquier profundidad. Además se puede
rotar y escalar imagen anti-aliased.

* Soporte de acceso a las redes, que permite una construcción simple de servidores y
otros programas útiles que necesiten interconectarse.

* Corre de manera bit-identical en muchas plataformas (Windows, MacOS, Unix, y
otras).

* Un simple aunque efectivo recolector de basura incremental para punteros directos de
32-bits.

Muchas veces se menciona a Squeak como el ambiente y a Smalltalk como el lenguaje.
Aunque ya sabemos que el lenguaje y ambiente son Squeak, que posee en su gran
mayoría características Smalltalk.



Que no es Squeak
El sistema Smalltalk Squeak no tiene ninguna relación con el lenguaje diseñado por Rod
Pike y Luca Carnelli en 1985. Tampoco tiene relación su sucesor “Newsqueak”.

Qué es interesante en Squeak

Squeak extiende la filosofía fundamental de Smalltalk al incluir una maquina virtual. Es
una genuina, completa, compacta, eficiente y robusta implementación de un ambiente
Smalltalk. No es especializada para ninguna plataforma hardware o sistema operativo en
particular.

El equipo principal de Squeak incluye a Dan Ingalls, Alan Kay, Ted Kaehler y Scott
Wallace. Todo esto ha atraído a muchos de los mejores y más experimentados
programadores de Smalltalk en el mundo.

Squeak se utiliza como un Smalltalk practico en donde desarrolladores, investigadores,
profesores o estudiantes motivados pueden examinar código fuente de cada parte del
sistema, incluyendo las primitivas de los gráficos, e inclusive la maquina virtual. Uno
puede realizar cambios inmediatamente sin tener que ver o involucrarse con otro
lenguaje aparte de Smalltalk. Squeak corre imágenes bit-identical en todas las
plataformas, facilitando la colaboración en diversos ambientes. Cualquier archivo de
imagen podrá correr en cualquier intérprete inclusive si fue guardado en un hardware
diferente, con un sistema operativo diferente (O sin un sistema operativo!).

Squeak es un ambiente persistente. Cuando se guarda la imagen, todo es guardado en
ella, todo el contexto y datos. Es como realizar una fotografía del sistema actual.

Squeak s un IDE. Se puede codificar, correr y debuguear en el mismo ambiente.

Squeak usa compilación incremental. Una vez que se guarda el código, este esta
disponible para ser corrido de manera eficiente. O sea, se compila a bytecodes este se
interpreta por la maquina virtual, la cual puede realizar compilaciones JIT para un mejor
desempeño.


Y como se inicio Squeak?
Squeak comenzó muy simple, por la necesidad de un grupo de investigación en Apple.
Se quería un sistema tan expresivo e inmediato como Smalltalk para diferentes
propósitos (prototipo de software educacional, experimentos de interfase de usuario).
Como se puede leer en el paper OOPSLA ("Back to the Future”), se dio la idea de
escribir un interprete de Smalltalk en un subconjunto de Smalltalk, junto a un traductor
de este subconjunto a código C eficiente.


Que posee la versión actual
La versión actual del intérprete de Squeak combina intérprete de bytecodes Smalltalk
clásico con una simple pero eficiente memoria 32-bits de punteros a objetos y un
recolector de basura incremental.

También incluye un sistema de gráficos llamado BitBlt que soporta 1, 2, 4, 8-bits de
color indexado además de 16 y 32 bits de colores RGB, todo con un “warp drive” que
soporta rápidas rotaciones y transformaciones. También soporta simple anti-aliasing.

Otra notable capacidad de Squeak es que incluye entrada y salida de sonido de 16-bits, y
soporte de sockets y acceso general a redes.

La portabilidad y compatibilidad de Squeak, junto con su maleabilidad, han creado un
gran interés en la comunidad académica, y lo que uno llamaría la “independiente”
comunidad de ciencias de la computación. Con esta frase se quiere incluir a personas
que no están atadas a un lenguaje, o un sistema operativo, sino a quienes tienen una
pasión en particular (análisis numérico, gráficos, computación distrib
  • Links de descarga
http://lwp-l.com/pdf15667

Comentarios de: Squeak. Un Smalltalk del siglo XXI (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad