En informática, Strongtalk es un entorno Smalltalk con soporte opcional para tipado estático . Strongtalk puede realizar algunas comprobaciones en tiempo de compilación y ofrecer garantías de seguridad de tipos más sólidas ; de ahí su nombre. No es comercial, aunque originalmente fue un proyecto comercial desarrollado por una pequeña empresa emergente llamada LongView Technologies (que opera como Animorphic Systems ).
David Griswold quería utilizar Smalltalk de forma más extensa, pero las implementaciones existentes en ese momento no eran suficientes para sus necesidades. Quería mejorar el rendimiento, añadir comprobación de tipos y utilizar widgets nativos de interfaz gráfica de usuario (GUI) . [1] Sus esfuerzos dieron como resultado el artículo de 1993 del que fue coautor junto con Gilad Bracha . [2] Esta versión se basaba en añadir comprobación de tipos a la implementación de Smalltalk de ParcPlace Systems . Sin embargo, una implementación comenzada desde cero podría obtener un mejor sistema de tipado.
Se interesó en las mejoras que el equipo del lenguaje Self había logrado, y visualizó los mismos métodos utilizados para mejorar Smalltalk. Urs Hölzle , que trabajó en el poderoso compilador Self, habló con Griswold sobre la implementación de la misma retroalimentación de tipo en un compilador Smalltalk. Griswold, Hölzle, Lars Bak y otros formaron una pequeña empresa (LongView Technologies, que opera como Animorphic Systems) para volver a implementar Strongtalk. El trabajo comenzó en 1994 y completaron una implementación en 1996. La empresa fue comprada por Sun Microsystems en 1997, y el equipo se centró en Java , lanzó la máquina virtual HotSpot , [3] y el trabajo en Strongtalk se estancó.
Sun lanzó la reimplementación de Strongtalk en 1997 como software de código abierto bajo una licencia BSD revisada , incluida la imagen del sistema Strongtalk en 2002 y la máquina virtual en 2006. Strongtalk se promociona como la implementación más rápida de Smalltalk . [3] Strongtalk está disponible para Windows XP ( se están preparando otros puertos ) e incluye un entorno de desarrollo básico.