2010-12-14 12 views
14

¿Conoce alguna buenas implementaciones de Smalltalk que cumplan los siguientes criterios:¿Hay alguna buena implementación de Smalltalk de código abierto?

  1. son de código abierto (y gratis)
  2. son listo para la empresa - que puedo hacer aplicaciones comerciales en él
  3. obras en OS X

Estoy preguntando esto porque escuché mucho sobre smalltalk, y quiero aprenderlo, solo por diversión. Pero parece ser difícil encontrar las herramientas y los libros correctos para este idioma.

+1

s/Is/Are/por favor y gracias. – blueberryfields

+0

seguro, mi mal: P – andreiursan

Respuesta

15

Me complace desarrollar aplicaciones web comerciales en una Mac en Pharo. El desarrollo multiplataforma es fácil e indoloro. Trabajo junto con un desarrollador basado en Windows y lo implementamos en Ubuntu. Allí utilizamos el sistema comercial Gemstone (OODB) en su versión gratuita. Usamos Monticello como un sistema de control de versiones distribuidas. Le enseñé a un alumno los conceptos básicos de smalltallk y Seaside con James Foster's tutorial. Una explicación más detallada está en Seaside book

Al crear modelos de dominio, Glamour es un fantástico conjunto de herramientas para crear navegadores, lo que permite la navegación y la visualización del modelo. Es parte de Moose, un sistema de reingeniería de software, también basado en Pharo.

Por supuesto, también hay debilidades: Pharo cambia mucho. Haga un seguimiento de los cambios que están ocurriendo en el rastreador de problemas y la lista de correo. Permanecer cerca de un mes detrás del borde sangrante es lo correcto para nosotros. La integración con sistemas heredados es más fácil con los servicios o archivos web REST. Smalltalk tiende a usar mucho menos XML (SOAP) que .NET y Java. No hay un buen soporte de 64 bits. Hay imágenes de 64 bits, pero no se han probado lo suficiente y se sabe que tienen problemas.

7

Pharo cumple todos sus criterios. Es de código abierto y gratuito, se bifurcó de Squeak especialmente para el desarrollo profesional y porque Squeak nació bajo el paraguas de Apple, es compatible con OS X a la perfección.

+0

genial, gracias. Es bastante joven, tal vez es por eso que no apareció en mis búsquedas de google :). – andreiursan

+0

He estado usando Pharo para desarrollar aplicaciones para pequeñas empresas durante un año y no me ha decepcionado. Tiene una comunidad sólida y vibrante (mejor que la mayoría de la asistencia comercial: irc, listas de correo y conferencias que le dan acceso a desarrolladores principales) y la posibilidad de conectarse a otros idiomas (las bibliotecas más fácilmente) si es necesario. Y si estás haciendo aplicaciones web, definitivamente echa un vistazo a [Seaside] (http://www.seaside.st/), que se ejecuta directamente en tu imagen Pharo (u otra Smalltalk). –

+0

Andrej, también consulte http://www.world.st para obtener más información sobre "El mundo" de Smalltalk :) –

6

Squeak. Como Janko mencionó, Squeak engendró a Pharo. Desde el principio, Squeak ha experimentado una serie de cambios significativos y está (en mi opinión al menos) tan preparado para la empresa como Pharo.

(Existe una gran cantidad de polinización cruzada entre las comunidades Squeak y Pharo. Incluso comparten la misma máquina virtual.)

1

Pharo si su enfoque es el desarrollo web solamente. Squeak si quieres más cosas con las que jugar y no te importa si estás un poco retrasado con las últimas novedades de desarrollo web que usan Seaside y no te importa si hay bibliotecas que la gente no ha probado desde hace tiempo. Cobalto (basado en chirrido) u OpenQwaq si desea tener un mundo 3D multiusuario distribuido robusto disponible en 3D. Raspe si desea tener un entorno de programación listo para niños listo para usar.

Todos estos se basan en squeak.

Tiene varios sabores de VM disponibles con cada uno de los anteriores. Cog y CogMT están diseñados para ser máquinas virtuales aceleradas que usan un compilador justo a tiempo para una velocidad extra.

También hay GUI experimentales, como Cuis, y hay una máquina virtual independiente llamada "SqueakNOS" que se utilizará en lugar de un sistema operativo host como Mac OS o Linux.

En unos pocos meses, debe haber disponible un sistema multinúcleo masivamente escalable llamado SiliconSqueak que implementa Squeak VM en hardware.

Sin duda me he perdido algunas cosas. Squeak es una herramienta de investigación para muchas personas en el mundo de la informática y algunos implementan productos comerciales que lo utilizan.

+0

Seaside 3.0 funciona bien en Squeak, o fue la última vez que lo verifiqué. –

+0

¡Muchas gracias por su respuesta! ¡Realmente lo aprecio! Espero que en un futuro cercano agregue algunos proyectos de miniaturas a mi "cartera". – andreiursan

0

Uso #Pharo para desarrollo comercial.

Espacio de aplicación: tablero y equipo de red.

Herramienta muy sólida, se ejecuta rápidamente.

Ahora en Pharo 3.0.

Herramientas de línea de comandos creadas con CommandLineHandlers. Aplicaciones web con Seaside y con Apache.

VM monitorizadas con monit.

CI con Jenkins.

Toda la fuente Código de Smalltalk administrado en git.

Lo mejor es la velocidad de desarrollo y la facilidad de depuración. Nunca he tenido una experiencia tan buena. Procedente de Java, PHP y algunos de C.

Cuestiones relacionadas