Programacion

Smalltalk-xx Smalltalk es el primer lenguaje de Programacion “Orientado a Objetos” designado asi por su creador Alan Kay. Este Lenguaje se desarrollo en los departamentos de Xerox PARC (Palo Alto Research Institute) por el ano 1969, apareciendo publicamente alrededor de 1980.

Smalltalk se creo pensando en la Educacion como principal objetivo haciendo de este lenguaje Accesible para todas las edades, fueran ninos o adultos, ya que su interface era bastante entendible y simple de usar, este lenguaje buscaba expresar “que la Programacion seria cuestion de una charla informal (de ahi el nombre Smalltalk)” generando un entorno apto para el aprendizaje, la imaginacion, la creacion, la investigacion y la experimentacion del usuario.

Este lenguaje que es en un 100% orientado a objetos, se creo a partir de Simula, Sketchpad y LISP entre otros, siendo utilizado como base para la primera “Computadora Portatil” que no tuvo mucho exito pero que genero la base para los que hoy llamamos Notebooks y tablet PC. De este modo Smalltalk no se ve en muchos lugares pero al ser el primer lenguaje orientado a objetos se convirtio en la base de lenguajes como Java, Objetive-C, Python, Ruby y AppleScript principalmente. Un sistema Smalltalk se compone por: Maquina virtual *

Lo sentimos, pero las muestras de ensayos completos están disponibles solo para usuarios registrados

Elija un plan de membresía
Imagen virtual que contiene los objetos del sistema * Lenguaje de programacion * Biblioteca de Objetos Todo lo que existe o se cree en Smalltalk es un objeto, ya sea un numero o un servidor Web, de esta forma cada objeto dentro del entorno de Programacion Smalltalk cumple con las caracteristicas que estos poseen. * Poseen una memoria propia. * Se pueden comunicar con otros objetos. * Pueden heredar caracteristicas de objetos Padres. * Poseen capacidad de procesamiento.

Todos los objetos que se creen se Intercomunican mediante mensajes, un objeto pide una operacion a otro objeto mediante este mensaje, y esta operacion es denominada metodo que puede ser paramentado o no dependiendo de lo que se necesite o requiera el objetos que envia el mensaje, asi mismo el mensaje tambien es considerado un objeto dentro de este Lenguaje. Implementaciones: Smalltalk tiene una gran cantidad de implementaciones siendo nombradas por el ano en que se crearon. He aqui algunas: Smalltalk 72: En 1972, Smalltalk era un programa de Basic de mil lineas capaz de resolver 3+4. En diciembre de ese mismo ano se pasa a codigo de maquina. Daniel Ingalls era el jefe de la implementacion. · Smalltalk-74: Esta version ya contaba con una interfaz basada en ventanas, un editor de textos operado por mouse, un graficador , un sistema de sonido y un sistema de animaciones. En 1973 se incorporaba al equipo, Adele Goldberg. Este sistema sirvio como una base para la ensenanza de programacion orientada a objetos en la escuela secundaria.

En 1974 se crea la clase (BitBlt) que permitia el solapamiento de ventanas (y los menus popup), permitiendo por primera vez en la historia de la computacion este tipo de interfaces graficas, de uso masivo en la actualidad en sistemas operativos tales como Windows o Unix (XWindow). · Smalltalk-76: Aqui se agrego la idea de herencia, ausente en las versiones anteriores, y se creo el concepto de bytecodes. Smalltalk-76 fue usado diariamente por mas de 20 personas, durante 4 anos. En 1980 surgio una nueva implementacion, Smalltalk-80, la primera que Xerox daria a conocer fuera de Xerox PARC.

Se publicaron 3 libros: El libro Azul, que describia el lenguaje y su implementacion. El libro naranja, que describia la interface al usuario y el libro verde, describia el sistema para el uso de los implementadores, pero nunca se publico. Xerox invito a cuatro empresas a evaluar la portabilidad de Smalltalk: Apple Computer, Digital Equipment, Hewlett Packard y Tektronik. Este proceso dio a conocer una serie de errores que fueron corregidos en una nueva version, la VI2, en 1983, que fue destinada a una mayor comunidad. En la actualidad, existen varias implementaciones Smalltalk: · Visualworks, Visual Smalltalk y

ObjectStudio, de Cincom. · Visual Age for Smalltalk (VAST) de IBM · Squeak, es un Smalltalk gratuito. Tuvo por esponsor a Apple Computer en sus comienzos (1995), luego por Walt Disney Imagineering. Es el Smalltalk que reviste mayor interes debido a que, entre otros puntos, en este proyecto participan varios de los integrantes del equipo original de Smalltalk de Xerox PARC, entre ellos Alan Kay y Daniel Ingalls, y persigue los mismos objetivos de la “Dynabook”. · Dolphin Smalltalk, de Object Arts: es un Smalltalk rapido y de muy bajo costo, que corre solamente en PCs con Windows de 32 bits.

Otros Smalltalks de importancia son: Smalltalk MT, Smalltalk /X, GNU Smalltalk, Gemstone/S y Smallscript (para la plataforma . NET). Self, de Sun Microsystems, es un lenguaje similar a Smalltalk, es considerado en algunos ambitos como una evolucion de este. El Lenguaje: Como en cualquier otro lenguaje, existen palabras reservadas para el mismo. En Smalltalk existen 5 de estas pseudo-variables, las cuales son: Self: En el cuerpo del metodo se encarga de referenciar al receptor del mensaje. Super: En el cuerpo de un metodo tambien referencia al receptor, pero con la implementacion de la super clase.

Nil: Instancia unica de la clase UndefinedObject. Indica un valor no existente en una variable. True: Instancia unica de la clase True. False: Instancia unica de la clase False. Herencia: La herencia en Smalltalk es simple, cada clase tiene solo una superclase (excepto la clase Objeto, que no tiene ninguna) y una clase puede tener cualquier cantidad de sublases. Los metodos de una clase pueden acceder, ademas de a sus propias variables de instancia, a todas las variables de instancia de todas sus superclases; y pueden invocar a todos los metodos definidos en todas sus superclases.

Al enviar un mensaje a una instancia, se ejecuta el metodo que este definido en la clase ubicada en el menor nivel en la jerarquia. No es posible utilizar el mismo nombre para definir una instancia de variable en una clase si esta ya esta definida en alguna de las superclases. Cuando se define un metodo que ya esta definido en alguna clase superior en la jerarquia de clases se dice que el metodo esta sobrecargado. Sintaxis: Smalltalk utiliza algunos simbolos para crear instancias de clases de uso muy habitual. Un entero: 12345.

Si el rango del numero entra en el rango de los enteros cortos es una instancia de SmallInteger. Si no entra en el rango de los enteros cortos, pero si entra en los enteros largos es una instancia de LargeInteger. Un float: 1,1 Un caracter: $a, en este caso para el caracter a. Un String: ‘java’. Que es a su vez una cadena de caracteres, en este caso: $j, $a, $v, $a. Un Symbol: #java. Igualmente una cadena de caracteres. Un Array: #(4 8 15 16 23 42). Arreglo unidimensional con los elementos 4, 8, 15, 16, 23, 42. Ejemplo de Codigo uso de la pseudo-variables self y super:

Si tenemos dos clases llamadas ‘ClienteMinorista’ y ClienteMayorista’, siendo ‘ClienteMinorista’ superclase de ‘ClienteMayorista’, supongamos quedan definidos los siguientes metodos: ClienteMinorista>>initialize self creditoMaximo: 2000 self interesMensual: (0. 20) ^self ClienteMinorista>>creditoMaximo ^creditoMaximo ClienteMinorista>>creditoMaximo: unObjeto creditoMaximo := unObjeto ClienteMinorista>>interesMensual ^interesMensual ClienteMinorista>>interesMensual: unObjeto interesMensual := unObjeto

ClienteMayorista>>initialize super initialize. self creditoMaximo : super creditoMaximo * 1. 25. ^self Bibliografia * http://es. wikipedia. org/wiki/Smalltalk. * PDF de Introduccion a Smalltalk. Departamento de Ingenieria de Sistemas y Computacion. Universidad Catolica del norte Antofagasta Informe de Programacion II: Smalltalk Integrantes: Francisco Avalos. Andres Villalobos. Eduardo Chavez. Alex Sotella. Curso: Programacion II. Profesor: Cristian Miranda. Fecha: 01/09/2009. Sistema de creacion de Software Smaltalk