2010-05-27 10 views
16

Estoy tratando de aprender algo de Smalltalk. Primero se encontró Squeak, pero como ha sido removed from Gentoo ebuild tree because of security problem, decidí buscar una alternativa.¿Es Pharo solo un reenvasado/cambio de marca de Squeak?

Luego encontré Pharo a través de Seaside project, después de descargar el paquete Pharo 1.0, ¡en realidad hay un SqueakVM dentro!

Entonces, mi pregunta es: ¿Pharo es solo un reempaquetado/cambio de marca de Squeak? ¿Y aún se aplican a Pharo los problemas de seguridad de Squeak (bundle unsecure libs)?

Gracias!

Respuesta

15

Pharo comenzó como un tenedor de Squeak para orientar el desarrollo de Smalltalk "práctico". Los dos entornos usan la misma máquina virtual, el mismo formato de imagen y comparten casi todas las bibliotecas de clases de bajo nivel. Usan los mismos sistemas de control de versiones, y (la última vez que revisé) compartió el mismo formato fileIn/fileOut también.

Al mismo tiempo, no creo que sea justo decir que Pharo es simplemente un cambio de marca. Los dos proyectos están tomando direcciones cada vez más diferentes: mientras que Squeak no muestra señales de querer eliminar sus paquetes educativos y de investigación, Pharo se enfoca estrechamente en crear un ambiente pequeño y liviano adecuado para el desarrollo corporativo y comercial. Mientras Squeak está preocupado por mantener la compatibilidad con versiones anteriores, Pharo ha estado dispuesto a romper la compatibilidad en nombre de adelgazar cosas, acelerar las cosas y simplemente simplificar el sistema de la biblioteca. Los dos sistemas ahora tienen diferentes compiladores, pronto tendrán diferentes interfaces FFI (código nativo) y sistemas de ventanas cada vez más divergentes.

Por estos y otros motivos, considero a Pharo en mi mente como un Smalltalk actualmente compatible con Squeak, y no como un simple "rebanding" de Squeak. A medida que pasa el tiempo, espero que la situación se acerque cada vez más a Emacs/XEmacs, donde es posible crear programas que se ejecutan en ambos sistemas, pero la mayoría de las personas se dirigen a uno u otro.

No tengo ni idea de qué problema de seguridad estás mencionando, así que no tengo idea si la situación es mejor que Pharo. Sería útil si pudieras resumir lo que tienes en mente.

+1

Gracias por la respuesta detallada. En cuanto a la preocupación de seguridad, el mantenedor de Gentoo encontró que Squeak incluía las versiones jpeg y pcre con vulnerabilidades conocidas, http://bugs.gentoo.org/show_bug.cgi?id=247363 – number5

+2

Interesante. Esos errores están en la máquina virtual, por lo que se aplicarán a Pharo, Squeak, Cog y cualquier otra Smalltalk que use la máquina virtual de Squeak. Mientras tanto, a pesar de un montón de quejas sobre cómo los desarrolladores de Squeak no lo arreglarán y se muestran obstinados con tu error vinculado, no veo ningún error para ninguna de esas tres vulnerabilidades en el rastreador de errores de Squeak, y no mencionamos el error en el lista de correo. Probablemente valga la pena dejar que el equipo de desarrollo de Squeak sepa que hay un problema. –

+2

En este momento hay un debate en la lista de vm-dev sobre cómo abordar el problema. David T Lewis también publicó un informe de error: http://bugs.squeak.org/view.php?id=7539 –

5

No soy un experto, pero por lo que he leído, Squeak tiene bastante material (educativo, etc.). Pharo era una bifurcación que intenta eliminar muchos de los bits adicionales y hacer que sea más comercial.

Pharo About
Otra article discutir este

+0

Quieres decir Squeak, no Smalltalk en general :) –

+0

Sí, lo siento, me refiero a Squeak donde tengo Smalltalk. Gracias por señalar que – Justin

5

Aunque totalmente de acuerdo con Benjamin's answer, no hay nada que impida que las dos horquillas vuelvan a ser idénticas en el futuro.

Ambos proyectos apuntan a un pequeño kernel con un conjunto de paquetes cargables. La principal diferencia (al menos de lo que puedo ver, en las discusiones en squeak-dev es en la filosofía de cómo alcanzar ese objetivo.

Alguna gente ha sugerido que en el futuro la principal diferencia entre Pharo y Squeak sería entonces qué paquetes vienen cargados de manera predeterminada.

+0

Excepto que la gente de Pharo explícitamente no quiere preocuparse demasiado por la compatibilidad con versiones anteriores, porque es una de las principales obstáculo para la simplificación y limpieza de la biblioteca central, y porque consume demasiados ciclos para una pequeña recompensa (los paquetes no actualizados se vuelven obsoletos de todos modos). Entonces, no hay ninguna garantía de compatibilidad a largo plazo, incluso si el interés de la comunidad global es preservar un cierto nivel de compatibilidad ... –

Cuestiones relacionadas