Squeak es un lenguaje de programación orientado a objetos , basado en clases y reflexivo . Fue desarrollado a partir de Smalltalk -80 por un grupo que incluía a algunos de los desarrolladores originales de Smalltalk-80, inicialmente en Apple Computer y posteriormente en Walt Disney Imagineering , donde se concibió para su uso en proyectos internos de Disney. Más tarde, el grupo recibió el apoyo de HP Labs y SAP .
Squeak se ejecuta en una máquina virtual (VM) de pila, 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 basa 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 Dynabook .
marcos de interfaz de usuario
Squeak incluye cuatro marcos de interfaz de usuario :
- Implementación de Morphic , el marco de interfaz gráfica de manipulación directa de Self . Esta es la interfaz principal de Squeak.
- Programación visual limitada basada en mosaicos en Etoys , basada en Morphic.
- Una interfaz experimental novedosa llamada Tweak . En 2001 quedó claro que la arquitectura Etoy en Squeak había alcanzado sus límites en lo que la infraestructura de la 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 Squeak Morphic en el futuro. Tweak agregó mecanismos de islas, mensajería asíncrona, jugadores y disfraces, extensiones de lenguaje, proyectos y scripting 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 de Tweak se crean y ejecutan en ventanas de proyectos de Tweak.
- La interfaz modelo-vista-controlador (MVC) era la interfaz de usuario principal en las versiones 3.8 y anteriores de Squeak. Derivaba del marco de interfaz de usuario original Smalltalk-80, que introdujo y popularizó 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 dicho marco. MVC aún está disponible para quienes deseen utilizar este tipo de interfaz más antigua.
Usos
Muchos colaboradores de Squeak colaboran en Open Cobalt , un navegador de mundos virtuales y un conjunto de herramientas de construcción gratuitos y de código abierto, basado en Squeak.
La primera versión de Scratch se implementó en Squeak. [ 7 ]
OpenQwaq , un sistema de colaboración y conferencias virtuales, está basado 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 alguno, incluido el código fuente, como una imagen de máquina virtual precompilada con 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 las modificaciones, la Licencia Squeak contenía una cláusula de indemnización que impedía que calificara como software libre y de código abierto verdadero .
En 2006, Apple cambió la licencia de Squeak dos veces. Primero, en mayo, Apple usó su propia Licencia Pública de Código Fuente 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 Open Source Initiative [ 11 ] como Licencia de Código Abierto. Sin embargo, la Licencia Pública de Código Fuente de Apple no se ajusta a las Directrices de Software Libre de Debian . Para permitir la inclusión de Etoys en el proyecto One Laptop Per Child , se realizó un segundo cambio de licencia usando la Licencia Apache. En este punto, también se hizo un esfuerzo para abordar el problema del código aportado por miembros de la comunidad Squeak, que Apple no tenía la potestad de cambiar unilateralmente.
Por cada contribución realizada bajo la licencia Squeak desde 1996, se obtuvo una declaración de relicencia que autorizaba la distribución bajo la licencia MIT y, finalmente, en marzo de 2010, el resultado se publicó 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 09-10-2022 . Recuperado el 09-11-2020 .
- ↑ 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" . ACM SIGPLAN Notices . 32 (10). ACM Digital Library: 318–326 . doi : 10.1145/263700.263754 .
- ↑ "Tweak: OriginalTweakMemo" . Tweakproject.org. 6 de julio de 2001. Archivado del original el 2 de octubre de 2011. Consultado el 12 de junio de 2011 .
- ↑ "Tweak: Libros blancos" . Tweakproject.org. Archivado del original el 2 de octubre de 2011. Consultado el 12 de junio de 2011 .
- ↑ Burbeck, Steve (1997-04-04). "Cómo usar el patrón Modelo-Vista-Controlador (MVC)" . St-www.cs.uiuc.edu. Archivado del original el 2009-08-01 . Recuperado el 2011-06-12 .
- ↑ "Scratch" . wiki.squeak.org . Consultado el 23 de marzo de 2022 .
- ↑ "Impulsando la colaboración inmersiva" . 3 de mayo de 2011.
- ↑ Sheffield, Brandon (04-12-2007). "Dentro del sistema operativo de código abierto ES de Nintendo" . Game Developer . Recuperado el 05-03-2024 .
- ↑ "Opinión de la FSF sobre la Licencia de Código Público de Apple (APSL) 2.0" . Gnu.org. 7 de mayo de 2011. Consultado el 12 de junio de 2011 .
- ↑ "Aclaración de la APSL: comunicados de prensa OS aclara el estado de la APSL" . Opensource.org. 17 de marzo de 1999. Consultado el 12 de junio de 2011 .
- ↑ "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
- Sitio web oficial
- Lenguajes de programación
- Software de Apple Inc.
- Lenguajes de programación basados en clases
- Tecnología Disney
- Lenguajes de programación dinámicos
- Lenguajes de programación de tipado dinámico
- Lenguajes de programación educativa
- Software educativo gratuito
- Lenguajes de programación creados por mujeres
- Familia de lenguajes de programación Smalltalk
- Software que utiliza la licencia MIT.
- lenguajes de programación visual
- Lenguajes de programación de alto nivel
- Lenguajes de programación multiparadigma
- Software libre multiplataforma
- Lenguajes de programación creados en 1996
- Software de 1996