mooc booklet smalltalk squeak pharo

booklet - Squeak o Pharo para el comienzo Smalltalker?



pharo syntax (8)

Soy un Rubyista que está empezando a incursionar en Smalltalk y estoy tratando de elegir una implementación para experimentar. Parece que Squeak o Pharo serían una buena opción, pero estoy teniendo problemas para encontrar la información actual que ayude a decidir cuál sería mejor. Mucho de lo que encuentro a través de las búsquedas de Google es de hace un par de años y es posible que ya no sea relevante.

¿Hay un claro favorito en estos días? Si no, ¿cuáles son los pros y los contras de cada uno?


Aunque no es estrictamente una implementación de Smalltalk, uno no debe pasar por alto Newspeak. Todavía no es un entorno de producción, pero si te has sentido dividido entre Alan Kay y Nicolas Wirth como expertos en idiomas Newspeak es como Smalltalk y Modula2 combinados.


Estoy haciendo una serie de tutoriales sobre cómo usar Squeak desde el principio, así que, naturalmente, estoy predispuesto a favor de Squeak. Por supuesto, no tengo miedo de utilizar una horquilla diferente para mostrar paquetes específicos más fácilmente. Por ejemplo, utilizo la imagen del muelle con un solo clic para presentar Seaside and Pier y básicamente es Pharo.


Hasta cierto punto, es una cuestión de gusto personal. Pharo es un tenedor de Squeak que pretende convertirlo en la versión más moderna de Smalltalk, a veces a expensas de no mantener la compatibilidad con Squeak.

Pharo es un tenedor, también significa que comparten mucho en común, desde la VM hasta grandes partes de la biblioteca de la clase. Muchos agregan paquetes de trabajo con ambos, y algunos se desarrollan con Squeak como plataforma primaria de desarrollo y supongo que un número un poco mayor de ellos se desarrollan en Pharo (Seaside, Pier, etc.). Ambas variantes tienen libros de introducción gratuitos: Squeak por ejemplo y Pharo por ejemplo, pero Pharo uno parece más actualizado.

Personalmente prefiero Pharo ya que me da una sensación más limpia y más moderna.


Hay varios puntos de partida posibles interesantes:

  • Seaside-one-click para hacer desarrollo web;
  • MOOSE hace un clic para hacer reingeniería de software y crear navegadores modelo y visualizaciones;
  • Pharo hace un clic para seguir el libro de Pharo por ejemplo (más actualizado que el chirrido) con una biblioteca más depurada;
  • Cuis para un modelo de gráficos limpios (Morphic);
  • EToys con un solo clic si le interesan los aspectos educativos;
  • Haga un clic para un entorno con una gran cantidad de herramientas y juguetes interesantes.

Explique más acerca de lo que quiere lograr y podemos ayudarlo a mejorar


La mayor tracción ahora es disfrutada por Pharo , así que iría allí. El segundo puesto es Visual Works . Solo ten cuidado, ningún dialecto de Smalltalk está teniendo mucha tracción en este momento.

Mi razonamiento es el siguiente. Hoy, Smalltalk se usa para dos cosas: programación web e investigación. Para ambos, Pharo tiene la sartén por el mango (Seaside usa Pharo como su plataforma predeterminada, y la Universidad de Lille saca la mayor cantidad de artículos de Smalltalk, todos basados ​​en Pharo).

Lo tercero para lo que se usa Smalltalk, aunque cada vez es menos, es el desarrollo de software bancario. Allí, VW sigue siendo popular. Además, VW tiene el mejor inspector de objetos.


Otra opción para aprender Smalltalk es Cuis .

De la descripción:

Cuis se diferencia de otras variantes de Squeak en que adopta una actitud activa hacia la complejidad del sistema: a medida que los sistemas crecen, por lo general se vuelven más complejos. Las nuevas características se agregan como capas encima de lo que está debajo, a veces sin entenderlo realmente, y casi siempre sin modificarlo. ... La única forma de evitar esto es comprender el sistema completo y rediseñar todo el sistema todo el tiempo. Manteniéndolo simple y consistente.

El código está en Github. Los archivos de imagen más recientes están here .

Cuis tiene alrededor de 600 clases. Esto hace que sea muy factible que una sola persona entienda todo. Más adelante, es posible que desee cambiar a Squeak, Pharo u otro Smalltalk ya que la gran mayoría de las clases y métodos son compatibles.


Puede haber un claro favorito, pero tienes que desarrollarlo por ti mismo.

Pharo y chirrido tienen grandes partes en común. Pero como pharo es un tenedor de chirrido, también significa que divergen el uno del otro.

Si miras desde el ángulo de aprendizaje de smalltalk, ambos son iguales. Si miras desde el ángulo de las tecnologías compatibles, entonces la situación podría ser un poco diferente. La mayoría de los desarrolladores son squeakers o pharoers. Y los desarrolladores crean bibliotecas y marcos de soporte tecnológicos. Si el desarrollador de una biblioteca es un pharoer, esperaría que la biblioteca se mantenga mejor en pharo que en chirrido (y viceversa).

Probablemente deberías echarle un vistazo a ambos y probar lo que quieres lograr. En la mayoría de los casos, la experiencia será la misma. Tan pronto como deja de ser lo mismo, es posible que ya conozcas tu favorito.


También está VisualAge (VAST) por Instantiations y una edición reciente es Smalltalk / X, que comparten una interfaz similar, que a su vez es muy diferente de Pharo o Squeak. Uso Pharo para mis investigaciones, proyectos de mascotas y algunas pruebas de conceptos. Mi paquete de software corporativo se realiza en VAST / VASmalltalk / VisualAge, el nombre que prefiera. Además, recuerda, GNUSmalltalk.