"Smalltalk" y la "InterPress" (precursor de PostScript)
Smalltalk es un lenguaje de programación que permite realizar tareas de computación mediante la interacción con un entorno virtual. Fue creada por Alan Kay, Dan Ingalls, Ted Kaehler, Adele Goldberg y otros en los 70 en Xerox PARC. Un sistema Smalltalk está compuesto por:
- Máquina virtual.
- Imagen virtual que tiene los objetos del sistema.
- Lenguaje de programación (Smalltalk).
- Biblioteca de Objetos reusables.
Un programa Smalltalk consiste únicamente de objetos. Todo desde un número natural como el 4 hasta un servidor web es considerado un objeto. Estos objetos tienen características comunes:
- Memoria propia.
- Capacidad para comunicarse con otros objetos.
- Capacidad de heredar características de objetos ancestros.
- Capacidad de procesamiento.
- Se comunican entre sí enviando mensajes.
- un objeto puede proveer muchas operaciones llamadas métodos, La colección entera de métodos de un objeto es llamada protocolo de mensajes o interfaz de mensajes del objeto. Los mensajes pueden ser parametrizados, estos parámetros serán objetos, y el resultado o respuesta del mismo también será un objeto.
Los objetos agrupados bajo una clase son llamados instancias de ella. Las instancias son creadas durante la ejecución de un programa con algún propósito y son barridos automáticamente cuando ya no se usen por el recolector de basura. Exceptuando algunos objetos especiales llamados literales o muy simples (números, cadenas, etc), cada objeto tiene su propio estado local y representa una instancia diferente de su clase.
Smalltalk ha tenido gran influencia sobre otros lenguajes como Java o Ruby.
InterPress: precursor de PostScript:
PostScript es un lenguaje de descripción de páginas, usados en impresoras y como formato de transporte de archivos gráficos en talleres de impresión profesional.
Está basado en el trabajo realizado por John Gaffney en "Evans&Sutherland" en 1976. Posteriormente, continuaron el desarrollo John and Martin Newell en Xerox PARC y fue implementado en su forma actual por John Warnock y otros. El concepto PostScript se diferenció por utilizar un lenguaje de programación completo, para describir una imagen de impresión. Imagen que más tarde sería impresa en una impresora láser o algún otro dispositivo de salida de gran calidad, en lugar de una serie de secuencias de escapes de bajo nivel.
También implementó la composición de imágenes las que se describían como un conjunto de:
- Líneas horizontales
- Píxeles al vuelo
- descripciones por curvas de Bezier
- Tipos de letra (mal llamados fuentes) de alta calidad a baja resolución.
Una de las peculiaridades de PostScript es que usa la “Notación Polaca Inversa” (o RPN en ingles), es decir, los parámetros de un comando se dan antes que el comando. Los comandos se separan con espacios en blanco. Usa operaciones de pila para procesar datos y ejecutar comandos. Hay cuatro pilas disponibles en PostScript:
- La pila de operandos.
- La de diccionario.
- La de ejecución.
- La de estado gráfico.
PostScript también ha encontrado aplicaciones distintas de la impresión en papel, como Display PostScript.