Lenguaje de programación orientado a objetos
Squeak es un lenguaje de programación reflexivo , basado en clases y orientado a objetos . Fue derivado de Smalltalk -80 por un grupo que incluía a algunos de los desarrolladores originales de Smalltalk-80, inicialmente en Apple Computer , luego en Walt Disney Imagineering , donde se pensó para su uso en proyectos internos de Disney. El grupo luego recibió el apoyo de HP Labs , SAP y, más recientemente, Y Combinator .
Squeak se ejecuta en una máquina virtual (VM), lo que permite un alto grado de portabilidad. El sistema Squeak incluye código para generar una nueva versión de la VM en la que se ejecuta, junto con un simulador de VM [2] escrito en Squeak.
Desarrolladores
Dan Ingalls , un importante colaborador del proyecto Squeak, escribió el artículo [3] sobre el cual se construyó Squeak y construyó la arquitectura para cinco generaciones del lenguaje Smalltalk.
Alan Kay es un colaborador importante del proyecto Squeak, y Squeak incorpora muchos elementos de su concepto propuesto , Dynabook .
Marcos de interfaz de usuario
Squeak incluye cuatro marcos de interfaz de usuario :
- Una implementación de Morphic , el marco de interfaz gráfica de manipulación directa de Self . Esta es la interfaz principal de Squeak.
- Scripts de programación visual limitados basados en mosaicos en Etoys , basados en Morphic.
- Una nueva interfaz experimental llamada Tweak . En 2001, quedó claro que la arquitectura Etoy en Squeak había llegado a sus límites en lo que la infraestructura de interfaz Morphic podía hacer. El investigador de Hewlett-Packard, Andreas Raab, propuso definir un "proceso de script" y proporcionar un mecanismo de programación predeterminado que evita varios problemas más generales. [4] Esto dio como resultado una nueva interfaz de usuario, propuesta para reemplazar la interfaz de usuario Morphic de Squeak en el futuro. Tweak agregó mecanismos de islas, mensajería asincrónica, jugadores y disfraces, extensiones de lenguaje, proyectos y scripts de mosaicos. [5] Su sistema de objetos subyacente está basado en clases, pero para los usuarios, durante la programación (scripting), actúa como si estuviera basado en prototipos . Los objetos Tweak se crean y ejecutan en ventanas de proyecto Tweak.
- La interfaz modelo-vista-controlador (MVC) fue la interfaz de usuario principal en las versiones 3.8 y anteriores de Squeak. Se derivaba del marco de interfaz de usuario original Smalltalk-80, que introdujo y popularizó por primera vez el patrón arquitectónico MVC. [6] MVC toma su nombre de las tres clases principales del marco. Por lo tanto, el término "MVC" en el contexto de Squeak se refiere tanto a uno de los marcos de interfaz de usuario disponibles como al patrón que sigue el marco. MVC todavía se proporciona para aquellos que desean utilizar este tipo de interfaz más antiguo.
Usos
Muchos colaboradores de Squeak colaboran en Open Cobalt , un navegador de mundo virtual y un kit de herramientas de construcción gratuito y de código abierto creado en Squeak.
La primera versión de Scratch se implementó en Squeak. [7]
OpenQwaq , un sistema de colaboración y conferencias virtuales, se basa en Squeak. [8]
Squeak también se utiliza en el sistema operativo Nintendo ES. [9]
Licencia
Squeak 4.0 y versiones posteriores se pueden descargar sin costo, incluido el código fuente, como una imagen de máquina virtual preconstruida bajo la licencia MIT , con la excepción de parte del código original de Apple, que se rige por la licencia Apache .
Squeak fue lanzado originalmente por Apple bajo su propia Licencia Squeak . Si bien el código fuente estaba disponible y se permitían modificaciones, la Licencia Squeak contenía una cláusula de indemnización que impedía que se lo calificara como software verdaderamente libre y de código abierto .
En 2006, Apple relicenció Squeak dos veces. Primero, en mayo, Apple utilizó su propia Licencia de Código Público de Apple , que satisface el concepto de Licencia de Software Libre de la Free Software Foundation [10] y ha obtenido la aprobación oficial de la Iniciativa de Código Abierto [11] como Licencia de Código Abierto. Sin embargo, la Licencia de Código Público de Apple no cumple con las Pautas de Software Libre de Debian . Para permitir la inclusión de Etoys en el proyecto One Laptop Per Child , se realizó una segunda relicencia utilizando la Licencia Apache. En este punto, también se hizo un esfuerzo para abordar el problema del código contribuido por miembros de la comunidad Squeak, que no estaba en poder de Apple relicenciar unilateralmente.
Para cada contribución realizada bajo la Licencia Squeak desde 1996, se obtuvo una declaración de renegociación autorizando la distribución bajo la licencia MIT , y finalmente en marzo de 2010, el resultado fue publicado como Squeak 4.0, ahora bajo licencias combinadas MIT y Apache. [12]
Véase también
Referencias
- ^ "Tim: Squeak Smalltalk" . Consultado el 28 de febrero de 2016 .
- ^ Miranda, Eliot; Béra, Clément; Gonzalez Boix, Elisa; Ingalls, Dan (2018). "Dos décadas de desarrollo de máquinas virtuales smalltalk: desarrollo de máquinas virtuales en vivo mediante herramientas de simulación". Actas del 10.º Taller internacional ACM SIGPLAN sobre máquinas virtuales y lenguajes intermedios (PDF) . Biblioteca digital ACM. págs. 57–66. doi :10.1145/3281287.3281295. ISBN 9781450360715. S2CID 53116661. Archivado (PDF) del original el 2022-10-09 . Consultado el 2020-11-09 .
- ^ Ingalls, Dan; Kaehler, Ted; Maloney, John; Wallace, Scott; Kay, Alan (1997). "Regreso al futuro: la historia de Squeak, un Smalltalk práctico escrito en sí mismo". Avisos SIGPLAN de la ACM . 32 (10). Biblioteca digital de la ACM: 318–326. doi : 10.1145/263700.263754 .
- ^ "Tweak: OriginalTweakMemo". Tweakproject.org. 2001-07-06. Archivado desde el original el 2011-10-02 . Consultado el 2011-06-12 .
- ^ "Tweak: Whitepapers". Tweakproject.org. Archivado desde el original el 2011-10-02 . Consultado el 2011-06-12 .
- ^ Burbeck, Steve (4 de abril de 1997). "Cómo utilizar el modelo-vista-controlador (MVC)". St-www.cs.uiuc.edu. Archivado desde el original el 1 de agosto de 2009. Consultado el 12 de junio de 2011 .
- ^ "Scratch". wiki.squeak.org . Consultado el 23 de marzo de 2022 .
- ^ "Avanzando en la colaboración inmersiva". 3 de mayo de 2011.
- ^ Sheffield, Brandon (4 de diciembre de 2007). "Dentro del sistema operativo de código abierto ES de Nintendo". Desarrollador de juegos . Consultado el 5 de marzo de 2024 .
- ^ "Opinión de la FSF sobre la licencia de código público de Apple (APSL) 2.0". Gnu.org. 2011-05-07 . Consultado el 2011-06-12 .
- ^ "Aclaración de la APSL: comunicados de prensa OS aclara el estado de la APSL". Opensource.org. 1999-03-17 . Consultado el 2011-06-12 .
- ^ "Squeak 4.0 lanzado - ahora bajo licencia MIT/Apache". The H Open. 16 de marzo de 2010. Consultado el 12 de junio de 2011 .
Enlaces externos
Wikimedia Commons alberga una categoría multimedia sobre Squeak .