2009-04-11 14 views
9

Ahora llevo un par de meses en mi viaje de aprendizaje Smalltalk. Sabía, desde el principio, que Smalltalk tiene varios "dialectos" (tal vez "dialecto" no es la mejor palabra) pero con esto me refiero a VisualWorks, Squeak y Dolphin por mencionar solo tres. Hasta ahora, he limitado mi incursión en Visualworks y Squeak. Pero ahora descubrí que Squeak parece metamorfosearse (¡juego de palabras!) En varias otras variantes, p. Tweak, Pharo, Cobalto y Croquet.Actividad actual de desarrollo Smalltalk

¿Podría alguien explicar: a) por qué estas iniciativas (Tweak, Pharo, Croquet y Cobalt) han surgido? b) ¿debo tomarme tiempo para estar al tanto, teniendo en cuenta que soy un neófito de Smalltalk? c) ¿Cómo es que un lenguaje tan poco popular tiene un conjunto tan vibrante de desarrollos? d) ¿Hay otras iniciativas de las que deba tener conocimiento? (como un principiante, no como un investigador informático)

Respuesta

6

Un poco de fondo podría ser útil: Tweak fue un esfuerzo de investigación tratando de llevar algunas de las mejores cosas de Etoys al nivel del sistema (es decir, la arquitectura player-costume, el modelo de concurrencia, "events everywhere", asincrónico notificaciones, etc.). Tweak era un enfoque de "plano azul" para gráficos, composición y secuencias de comandos, y de alguna manera nunca tuvo la intención de ser una herramienta de producción. Que se convirtiera en uno fue su caída porque no estaba lo suficientemente pulida para un uso amplio y al convertirse en una herramienta de producción se hizo inviable implementar algunos de los cambios radicales que se habrían requerido para prepararlo para el dominio mundial ;-)

Croquet tenía un objetivo completamente diferente. Necesitábamos Croquet porque necesitábamos una maquinaria de computación replicada idéntica. Croquet calcula bit idénticamente en todas las plataformas que requirieron modificaciones en la máquina virtual y algunas bibliotecas (como el punto flotante). Cobalt es un spin-off de Croquet que toma el SDK y crea una aplicación a partir de él. En este sentido, Cobalt no es realmente una bifurcación, es el enfoque actual de la comunidad Croquet.

+0

Muchas gracias por su respuesta. ¿Tengo razón en entender que Tweak, Croquet y Cobalt son para Smalltalkers experimentados? ¿Debería un principiante concentrarse en Squeak o quizás en Pharo? – KHWP

+0

Realmente importa muy poco donde se inicia, ya que los sistemas son muy similares. Tweak probablemente no sea un buen punto de partida, ya que tiene algunos cambios de sintaxis que ya no son "Smalltalk" y que pueden confundirte o (incluso peor) volverse adictos a ellos. (¡diría más sin límite estúpido!) –

4

Esto solo muestra cómo es un lenguaje inspirador Smalltalk y qué tan sólidas y diseñadas están las raíces. Inspira a las personas de la academia a la industria para que intenten extender y construir nuevos "dialectos", que a menudo se combinan en cierta medida entre sí para que, al final, todos nos beneficiemos.

Es por eso que me gusta Smalltalk y su comunidad/comunidades, incluso que a veces sientes tensiones allí. Pero cada progreso necesita primero una tensión.

Pharo es el resultado de tal tensión, por ejemplo. Pharo es un tenedor de Squeak, por un grupo de Squeakers con un fuerte liderazgo y trabajo/habla menos mentalidad, que ya muestran los resultados y seguramente moverá Squeak si no todo Smalltalk un paso más allá.

5

No conozco las otras iniciativas que mencionas, pero Pharo es una bifurcación que apunta a producir una versión de Squeak sin todo el cruft (como EToys, por ejemplo), mejor soporte para desarrolladores y uso de modernos (? ?) tecnologías como fuentes TrueType. Merece la pena descargar la imagen actual y echarle un vistazo: me parece un poco lenta en mi hardwate antiguo, pero tengo la intención de vigilarla.

9

En cuanto a "¿Cómo es posible que un lenguaje tan impopular tenga un conjunto tan vibrante de desarrollos?", Debo decir que la "popularidad" no se correlaciona con la utilidad o la productividad. Un contrario le dirá que la mayoría es siempre mal.

Cuando eres mordido por el error Smalltalk, tiendes a permanecer mordido. Hay muchos ex Smalltalkers que se ganan la vida trabajando en otros idiomas que extrañan el idioma y aprovecharían la oportunidad de ganarse la vida en Smalltalk nuevamente.

Este fenómeno representa la comunidad vibrante.

Personalmente, me parece que estoy en mi trabajo más productivo en Smalltalk. Las herramientas y el lenguaje trabajan juntos para hacer que la brecha entre idea y ejecución sea muy pequeña. En Smalltalk cuando me enfrento al uso de una nueva biblioteca, puedo usar el depurador para 'paracaidismo' en el medio de la acción, viendo el estado y el código en una sola herramienta. No puede duplicar esa experiencia leyendo código y estudiando archivos de registro ...

Smalltalk tiene sus peculiaridades y las peculiaridades mantienen a Smalltalk fuera de la corriente principal. Pero algunas de las peculiaridades son las que hacen que Smalltalk sea un entorno productivo para trabajar, lo que puede significar que nunca será convencional.

Pero con una comunidad activa y activa que admite Smalltalk (en una variedad de dialectos) ¿Importa si Smalltalk es mainstream o no?

2

Creo que hay iniciativas o tenedores porque la comunidad puede hacerlo :) Esta pequeña comunidad de smalltalk está llena de tipos inteligentes que saben lo que hacen. Hay suficiente conocimiento sobre máquinas virtuales, diseño de lenguaje y demás. Por otro lado, es como cualquier otra comunidad, también. Hay personas con opiniones diferentes. Por lo tanto, es solo cuestión de tiempo hasta que algunas personas comiencen "algo ligeramente diferente" para verificar sus ideas. Y lo hacen porque pueden.

Cuestiones relacionadas