¿Empezarías a aprender Smalltalk? [cerrado]


82

¡Mis preguntas son simples!

  1. ¿Empezarías a aprender Smalltalk si tuvieras tiempo? ¿Por qué? Por qué no?
  2. ¿Ya conoces Smalltalk? ¿Por qué recomendarías Smalltalk? Por qué no?

Personalmente soy programador de Ruby on Rails y me gusta mucho. Sin embargo, estoy pensando en Smalltalk porque leo varios blogs y algunas personas llaman a Ruby algo así como "Smalltalk Light". La segunda razón por la que estoy interesado en Smalltalk es Seaside .

¿Quizás alguien haya hecho la misma transición antes?

EDITAR: En realidad, lo que más me entusiasmó de Smalltalk / Seaside es el siguiente episodio de WebDevRadio: Episodio 52: Randal Schwartz en Seaside (entre otras cosas)

Respuestas:


61

Si te gusta Ruby, probablemente te gustará Smalltalk. IIRC Seaside ha sido transferido a Gemstone VM, que es parte de su Gemstone / S OODBMS. Esto tiene un soporte de subprocesos mucho mejor que Ruby, por lo que es un mejor back-end para un sistema de alto volumen. Esta podría ser una buena razón para examinarla de cerca.

Razones para aprender Smalltalk:

  • Es un entorno de programación realmente agradable. Una vez que lo hayas comprendido (suele ser un choque cultural para las personas acostumbradas a C ++ o Java), descubrirás que es un entorno realmente bueno para trabajar. Incluso una pequeña charla realmente cutre como la Los antiguos de Digitalk que utilicé son un sistema muy agradable de usar. Muchos de los viejos tipos de gurú de XP y OO como Kent Beck y Martin Fowler se cortaron los dientes con Smalltalk en el pasado y ocasionalmente se les puede escuchar anhelando los buenos viejos tiempos en público (gracias a Frank Shearer por la cita, +1) - El desarrollo ágil se originó en esta plataforma.

  • Es una de las plataformas de desarrollo más productivas de la historia.

  • Existen varias implementaciones maduras y hay una base de código sorprendentemente grande por ahí. En un momento se puso bastante de moda en los círculos de los mercados financieros, donde la productividad de los desarrolladores y el tiempo de comercialización son un gran problema. Hasta mediados de la década de 1990, era más o menos el único juego en la ciudad (con la posible excepción de LISP) si querías un lenguaje de alto nivel con soporte comercial que fuera adecuado para el desarrollo de aplicaciones.

  • La implementación es fácil: simplemente coloque el archivo de imagen en el directorio apropiado.

  • No es realmente una razón, pero el Libro de la Banda de los Cuatro usa Smalltalk para algunos de sus ejemplos.

Razones para no aprender Smalltalk:

  • Es una especie de nicho de mercado. Puede tener problemas para encontrar trabajo. Sin embargo, si está produciendo algún tipo de aplicación .com donde es propietario de los servidores, esto podría no ser un problema.

  • Muchos lo consideran un sistema heredado. Hay relativamente poco desarrollo nuevo en la plataforma (aunque Seaside parece estar impulsando un renacimiento).

  • Tiende a no funcionar bien con los sistemas de control de fuente tradicionales (al menos a principios de mediados de los 90 cuando lo usé). Este puede ser el caso o no.

  • Es algo insular y le gusta jugar solo. Python o Ruby están diseñados para integrarse desde cero y tienden a ser más promiscuos y, por lo tanto, más fáciles de integrar con software de terceros. Sin embargo, varios otros sistemas más convencionales sufren este tipo de insularidad en mayor o menor grado y eso no parece impedir mucho su uso.


1
Ruby también se ha portado a Gemstone: se llama Maglev: infoq.com/news/2008/04/maglev-gemstone-builds-ruby
brian d foy

¿Qué quiere decir con "tiende a no funcionar bien con los sistemas tradicionales de control de fuente"?
detly

4
La forma en que un Smalltalk tradicional almacenaba el código fuente significaba que estaba incrustado dentro de la imagen y las fuentes asociadas y los archivos de cambios. No obtuviste un buen conjunto limpio de archivos de programa como el que obtendrías con (digamos) C.Los sistemas Smalltalk tendían a requerir sistemas especializados de control de fuente con reconocimiento de Smalltalk, que tendían a ser (a) propietarios, (b) costosos y ( c) incompatible con todo lo demás.
ConcernedOfTunbridgeWells

Y, con suerte, Monticello abordará (a) y (b) estos problemas. Squeak ya lo está usando mucho, y SqueakSource tiene muchos proyectos usándolo. Aunque todavía tiene verrugas. Una vez que los proyectos de git-Monticello estén realmente en uso, es de esperar que (c) también se quede en el camino.
Frank Shearar

2
Generalmente me gusta la respuesta, pero Smalltalk funciona bien con software de terceros. El hecho de que no vea muchas API no se debe a que técnicamente no pueda integrarlas, es porque es un nicho (por lo tanto, menos personas necesitan software externo). Una razón secundaria para ese efecto (que tampoco es técnica) es que los smalltalkers preferirán lidiar con los problemas en smalltalk en lugar de en otras tecnologías menos divertidas.
Sebastian Sastre

45

Bueno, ya que me mencionaste por mi nombre, creo que debería intervenir.

Como dije en esa entrevista de podcast, y como he demostrado repetidamente en mi blog en http://MethodsAndMessages.vox.com/ , este es " el año de smalltalk ". Y después de haber hecho defensa de Smalltalk durante los últimos diez meses, puedo ver que realmente está sucediendo. Más clientes están recurriendo a Smalltalk y Seaside, y todos los proveedores de Smalltalk están trabajando arduamente para captar esta nueva afluencia de atención. Se están planificando más conferencias Smalltalk más grandes. Se están publicando más ofertas de trabajo. Se están realizando más publicaciones en blogs.

Si recurre a Smalltalk hoy, no está solo. Hay muchos otros que también están ahí fuera.

Editar

Bueno, varios años después, ahora recomiendo Dart en su lugar. Es un gran lenguaje originado por Google, pero ahora es propiedad de un comité ECMA. Se ejecuta en el lado del servidor en estilo node.js, pero también en el lado del cliente en los navegadores modernos al transpilar a JavaScript. Muchos buenos libros, blogs, canales de ayuda, soporte IDE, pastebin público en vivo . Creo que definitivamente tiene piernas ... lo suficiente como para que esté escribiendo cursos para enseñarlo en el sitio o en línea, y estoy bastante seguro de que hay uno o dos libros míos en proceso. Y Gilad Bracha, un Smalltalker de antaño, es un importante contribuyente al diseño, por lo que hay mucho Smalltalk en Dart.


2
¡Es por eso que Stack Overflow es genial! ¡Gracias por su respuesta!
Christoph Schiessl

Por curiosidad, ¿puede dar más detalles sobre la afluencia de atención, alguna idea de dónde proviene la mente compartida?
ConcernedOfTunbridgeWells

Ruby ciertamente ayudó, creo que Javascript y Objective-C también. Para las personas que no entienden lo puro de OO, esos lenguajes proporcionan un punto de partida familiar desde el cual se puede extrapolar cómo brilla Smalltalk.
Damien Pollet

Luego, los chicos de Seaside hicieron buenas relaciones públicas, Avi Bryant con DabbleDB y el golpe de Maglev en la conferencia de Rails, y Randal también es bastante vocal :) También Lars Bak de Google V8 viene de Self ... hubo muchas señales pequeñas como esa, todas insinuadas en Smalltalk y Lisp, lenguajes extraños del futuro en el pasado :)
Damien Pollet

30

Smalltalk es un buen idioma para aprender, y lo mejor es que solo se necesita un día para hacerlo. Es mucho más que un lenguaje académico. La gente está creando aplicaciones enormes, escalables y replicables que manejan miles de millones de dólares. Simplemente no hablan mucho de eso. Véase, por ejemplo, GemStone y Orient Overseas Container Lines: un estudio de caso de la industria naviera .

Seaside es una buena razón para aprender Smalltalk, pero no creo que lo encuentres mucho mejor que Rails.

Lo que me convenció fue GemStone. Realmente me gusta GLASS de Gemstone (GemStone, Linux, Apache, Smalltalk, Seaside). La parte decisiva de eso es GemStone, que maneja toda la persistencia de objetos por usted principalmente sin que usted lo piense. Ver algunas de sus demostraciones y escuchar lo que la gente está haciendo con GemStone restableció mi idea de lo que significaba "gran aplicación".

La parte que más me molesta de Rails es el mapeo relacional de objetos. Eso no es nada en contra de Ruby porque apesta igual de duro en GLORP (que maneja ActiveRecord para Smalltalk), o Perl, o cualquier otra cosa. Mapear objetos a tablas de bases de datos es simplemente doloroso. Con GemStone, pensar en la base de datos desaparece, por lo que el trabajo con la base de datos también desaparece. Es como si me quitaran una piedra enorme (o una manada de monos) de la espalda.


1
Ojalá pudiera votar dos veces ... Estoy totalmente de acuerdo.
Sébastien RoccaSerra

1
+1 por mostrar la superioridad de ODB sobre ORM. al pasar de una a otra es, sin duda algo que se puede sentir
ryan0

15

> no pude encontrar un entorno de desarrollo de Smalltalk que no costara ni brazos ni piernas

Google - smalltalk gratuito

Cincom Smalltalk, Squeak, GNU Smalltalk


¡Squeak es realmente agradable! Puro OOP, completamente gráfico, interfaz de usuario encantadora, código abierto (algunos no están de acuerdo con esto), más o menos portátil ...
Joe Pineda

1
+1 para Squeak, y tiene una gran comunidad con una buena lista de correo para principiantes.
Sébastien RoccaSerra

+1 para Squeak, el explorador de objetos (o como se llame) es invaluable para aprender cómo funciona el modelo de objetos.
Mauricio Scheffer

3
Pharo es gratuito y tiene todas las herramientas modernas ..
Dafydd Rees

15

Aprender Smalltalk le dará una base en el desarrollo de software orientado a objetos desde la perspectiva del hombre que inventó OO (Alan Kay). La idea de un entorno de ventanas superpuestas provino de Smalltalk.

Un obstáculo para aprender Smalltalk es que es un sistema de paso de mensajes con una sintaxis extraña para el control de flujo como:

i < 60
   ifTrue: [ self walk ]

Tiene una biblioteca de clases muy madura que tiene una consistencia que no he visto en muchos lugares. La biblioteca de clases en todos los entornos (incluso Smalltalks comerciales) tiene una fuente disponible que le permite aprender de los maestros del idioma. Al programar Smalltalk, siempre me pregunto cómo se hace en el entorno.

Smalltalk generalmente se implementa en una imagen que es un entorno en vivo para todos los objetos de su sistema.

El depurador interactivo realmente separa Smalltalk de Ruby.

Seaside es el marco de desarrollo web y ha dado a Smalltalk un nuevo foco de atención. Es un entorno basado en la continuación que permite la depuración intra-hit y una experiencia de desarrollo de tipo Rich Client sin problemas (el flujo de aplicaciones superior se puede diseñar en un solo método). Su integración con script.aculo.us se ha realizado de tal manera que se puede llamar fácilmente desde Smalltalk.


1
La sintaxis no es extraña, en realidad es MUY elegante. Debe leerse como: hey, cualquiera que sea el resultado de "i <60", aquí hay un fragmento de código (objeto de código pasado como argumento), para ser evaluado si cree que es cierto. Lo curioso es que, incluso funciona, si "i <60" devuelve un resultado estadístico difuso.
blabla999

... y esa cosa estadística borrosa puede decidir (como método) cómo lidiar con eso. No hay un solo operador integrado o estructura de control que no pueda redefinirse de esta manera.
blabla999

10

Nigel, una cita que tengo es esta:

Aunque hace mucho tiempo que no hice nada con él, nomino a Smalltalk, todavía no me he encontrado con nada parecido para poder transferir pensamientos al código de computadora. No es solo el idioma: es el maravilloso entorno del navegador, las bibliotecas y la cultura de escribir código claro y bien diseñado tan rápido como cualquier otra cosa puede producir espaguetis. Cuando los participantes de JavaOne ensalzaban cómo Java era mucho más productivo que cualquier otra cosa, necesitaba una bolsa de papel marrón. Bueno, volvamos a ordenar mis rutas de clases ... - Martin Fowler (Revista de desarrollo de software, enero de 2001)

Lo encontré aquí .


9

No estaría de acuerdo con el póster que cree que no usarías Smalltalk para aplicaciones grandes; ahí es precisamente donde brilla. Pero también he creado aplicaciones prototipo bastante maravillosas (nota en minúsculas) en menos de una semana.

Aprendí OO en ST a partir del 92, increíblemente contento de haberlo hecho. Me dio una experiencia real en OO. Pensando en clases. Sin tipos. ST tiene un énfasis real en la mensajería. Si quieres saber algo, envía un mensaje a un objeto y obtén una respuesta. En mi humilde opinión, el espíritu y el IDE realmente te animan a hacer lo correcto con tu acoplamiento y cohesión.

En mi trabajo diario de Java, estoy atrapado con archivos, genéricos, IDE como eclipse que son órdenes de magnitud menos productivos que cualquier ST IDE. Estaba usando ST la única vez que terminé un desarrollo antes de lo previsto. De hecho, fue tan productivo y obtuvimos tanta reutilización que tuve que mudarme a otro proyecto, ¡ya que no tenía nada que hacer! (Ok, tal vez podría haber pasado tiempo aprendiendo a estimar ...)

Descarga Squeak, encuentra un buen libro y juega. El único inconveniente es que si su trabajo diario está usando Java o C #, terminará deseando poder usar ST. Llegarías a casa antes.

Chris Brooks


9

Recomiendo a todos que aprendan Lisp (Scheme) o Smalltalk.

Smalltalks tiene IDE maravillosos que no querrá perderse una vez que haya superado el choque cultural. Y sí, hay más de uno gratis: Squeak, Dolphin, Smalltalk / X y Visualworks (No Comercial).

Sin embargo, Lisp puede ser incluso más limpio en su base matemática.

Saludos

PD: ¡en realidad recomiendo aprender ambos!


8

No conozco a Ruby ..

Smalltalk es un lenguaje puro de OO. Si siente la necesidad de comprender realmente OO, y no solo el OO simulado de los lenguajes 'OO' más populares (como C ++, Java, etc.), entonces le recomendaría que juegue con smalltalk.

En smalltalk todo es un objeto, con atributos, comportamiento y meta. En las simulaciones tienes tipos de datos que usas en tus objetos.

Yo diría que juega con él, solo te beneficiarás.


1
En SmallTalk, incluso las "clases" son objetos, instancias de la clase Class !!! ¡Esto me volvió loco hasta que lo asimilé!
Joe Pineda

1
Ruby también es un lenguaje OO puro en el sentido de que incluso las clases son objetos. También lo son los bloques, los métodos y la referencia de un puntero nulo.
Alan

4
Ruby toma (Matz lo expresará libremente) muchas ideas de Smalltalk. En muchos sentidos, puede verse como un lenguaje "pragmático" (disculpas a Hunt y Thomas) parecido a Smalltalk.
ConcernedOfTunbridgeWells

7

Estoy totalmente en tus zapatos. Estoy usando RoR y mirando la tierra de Smalltalk. Aquí hay algunos pros y contras que considero importantes:

Pros:

  • Entorno maduro y estable
  • Ciclo de desarrollo rápido
  • Te hace pensar más y escribir menos

Contras:

  • Requiere un pensamiento diferente
  • Todavía no lo entendí del todo

Es bastante curioso cómo llegué a conocer Smalltalk. Era esto lo que seguía apareciendo en los resultados de Google cuando se buscaban cosas de Lisp y Erlang. Un día lo comprobé y me sorprendió el agradable entorno de Windows. Pocos momentos después encontré el framework Aida / Web. Me enganché y comencé a aprender Smalltalk a través del desarrollo web con este marco.

Todavía no estoy del todo bien, pero es tan interesante que no puedo quedarme quieto ... :-) Me estoy divirtiendo de nuevo.


5

No empezaría a aprenderlo si tuviera tiempo. Por qué no? Porque sería más productivo y lucrativo económicamente aprender C # o Java.

Por otro lado, si eres un aficionado y te gustaría realizar una excavación arqueológica, te sugiero que dediques un tiempo a mirar el qué, cuándo, por qué y cómo de smalltalk investigando a Alan Kay. Una historia fascinante y una persona increíble (después de todo, ganó el Turning Award). Entonces tal vez juegue un poco con chirriar para tener una idea del idioma. Después de esto, es posible que tenga un nuevo respeto / comprensión de los bloques, cierres y principios orientados a objetos.

Conozco y uso Smalltalk, lo tengo desde hace unos 15 años, todavía lo mantengo , y no recomendaría Smalltalk a un amigo. Por qué no? Es bueno tener empleo y seguir consiguiendo. Aunque puede aprender mucho de Smalltalk, no puede convertirlo fácilmente en un empleo remunerado en esta época.

Además, parecía estar emocionado con Seaside y yo asumiría la asociación Seaside / GemStone. He usado GemStone durante bastante tiempo y los dos juntos son muy atractivos. Espero que puedan obtener la participación de mercado y el impulso necesarios para tener éxito.


5

¡No lo hagas! Si realmente comienzas a aprenderlo, es posible que ya no quieras programar en otra cosa.

Esto puede no ser cierto si es un programador lisp.


4

¡Por supuesto, aprende Smalltalk! Estamos en 2015 y Smalltalk está aumentando nuevamente, gracias a Pharo . Pharo es GRATIS. Pharo está evolucionando rápidamente hacia una poderosa herramienta empresarial. En la versión 4.0, que pronto será 5.0, ¡ha madurado mucho en solo cuatro años!

Luego está Amber , que es Smalltalk para la web. También es GRATIS y evoluciona rápidamente.

A pesar de la reputación de Smalltalk , este no es Smalltalk de tu padre. Modern Smalltalk es emocionante y prometedor.

Es cierto que los trabajos de Smalltalk no son (todavía) abundantes. Pero si suficientes de ustedes se agregan a una nueva ola de Smalltalkers, entonces la industria se adaptará y veremos una adopción más amplia de Smalltalk en los negocios. La pregunta es, ¿tienes la visión?


3

Me enseñaron Smalltalk en uno de los primeros cursos de programación de objetos orientados a nivel universitario (alrededor de 1988). El profesor pensó que lo mejor era comenzar con un lenguaje de OO "puro", antes de pasar a uno más moderno (hicimos un poco de C ++ al final del semestre).

Según esa medida, es mejor comenzar con OO puro, aunque en estos días tenemos Java y C #, los cuales son OO "casi puros", lo suficientemente cerca como para ignorar las características que no son OO. y limitarse al subconjunto Pure-OO de los idiomas.



3

He sido ingeniero de software desde hace bastantes años. He escuchado a la gente mencionar Smalltalk varias veces, y ciertamente Smalltalk ha existido desde aproximadamente 1980, pero es uno de esos lenguajes que parece que nunca se convirtió en el software principal. Algo así como Objective C, CLIPS, PL / I, etc., algo de lo que quizás haya oído hablar, pero algo en lo que la mayoría de la gente nunca ha programado.

Probablemente no me tomaría el tiempo para aprender Smalltalk a menos que lo necesite para un trabajo en particular. Miré algunos tutoriales y ejemplos de Smalltalk brevemente hace unos años, y parece que tiene algunas ventajas claras para ciertos aspectos de la programación de OO (como si el concepto de mensaje parece genial). Pero, lamentablemente, no es una corriente principal y no parece estar ganando mucho impulso.


3
Objective-C ... no creo que la declaración todavía se mantiene en 2012 :)
sjas

@sjas ¡Qué verdad! Todo lo que Smalltalk necesita ahora es que un desarrollador importante cree un nuevo nicho de mercado de dispositivos y especifique Smalltalk como el lenguaje de facto para escribir aplicaciones para el dispositivo.
Ogre Psalm33

2

Este hilo se ha vuelto muy actual para mí. Estoy planeando una migración de software a una aplicación web. Es un software basado en bases de datos. Estoy revisando especialmente las alternativas 1) Raíles 2) Junto al mar

Si puedo obtener las cifras de Gemstone / S como base de datos, lo consideraré también. Entonces, para mí, significa que tengo que aprender Smalltalk (mejor) que antes. Porque podría ser que sea mi trabajo durante los próximos 15 años. Trabajaría (y no debería) con software que no le gusta durante tanto tiempo ;-). Tengo la impresión de que Gemstone / S es una de las aplicaciones "asesinas". Pero la persistencia de los objetos sigue siendo un campo muy difícil ...


2

1) ¡Sí! Siempre es bueno aprender un idioma. Si va a aprender un idioma, conviértalo en un idioma poderoso e influyente que se pueda aprender fácil y rápidamente.

Smalltalk sigue siendo un lenguaje y un entorno preeminentes para el aprendizaje de conceptos orientados a objetos.

Son todos los objetos, hasta el final. Esto lo convierte en un enfoque de trabajo realmente coherente.

Los enteros son instancias de Class Integer. Las cadenas son una colección de objetos de carácter. Las clases son objetos de instancia singleton para la clase que definen.

Las estructuras de control funcionan enviando mensajes get a instancias de Class Boolean.

Incluso los métodos anónimos (bloques de código, también conocidos como bloques) son objetos.

Todo se hace enviando un mensaje a un objeto. La sintaxis se puede colocar en una postal.

La claridad de los conceptos y su implementación en Smalltalk significa que puede desarrollar formas de pensamiento que se transfieren directamente a Java, Ruby y C #. Supongo que también es cierto para Python.

Es tan bueno para aclarar los conceptos que una importante universidad del Reino Unido utilizó Smalltalk para capacitar a 5.000 personas al año en informática orientada a objetos.

Squeak 5, acaba de ser lanzado. Ha obtenido importantes aumentos en el rendimiento de su nueva máquina virtual Cog / Spur, que cuenta con recolección de basura progresiva.

Pharo 4 tiene un hermoso tema de escritorio de aspecto limpio. La próxima versión, Pharo 5, se lanzará pronto. Pasará a usar Cog / Spur VM, tendrá alrededor de 5,000 clases en la versión y paquetes adicionales de clases están disponibles en la red a través de la herramienta Configuration Browser.

Squeak 5 funciona incluso en Raspberry Pis de primera generación, y es casi un 50% más rápido en el nuevo Raspberry Pi zero de $ 5. $ 99 le compra una Raspberry Pi 2, pantalla y carcasa, con un IDE maduro y con todas las funciones.

Se están realizando investigaciones de vanguardia en sistemas OO coordinados y distribuidos en Smalltalk (por ejemplo, Naiad y Spoon).

Algunas de las bases de datos corporativas más grandes del mundo se ejecutan en Smalltalk, incluido el seguimiento del 60% de los contenedores de envío del mundo y los sistemas comerciales del banco más grande del mundo.

Puede usar Smalltalk como una especie de CoffeeScript superpoderoso, escribiendo en Amber Smalltalk y transpirándolo a JavaScript, ejecutándose en el navegador.

Squeak, Pharo y Amber son todos lenguajes y entornos gratuitos, de código abierto y con licencia abierta.

Squeak y Pharo proporcionan funciones de escritura única y ejecución en cualquier lugar para MacOS, Windows y Linux. (Posiblemente también RiscOS).

Dolphin Smalltalk está dirigido firmemente a la apariencia nativa de Windows y le permite compilar .exes cerrados de su trabajo terminado para su distribución a los usuarios finales. El desarrollo adicional de Dolphin por parte del proveedor se ha detenido, pero es completamente funcional y, como todos los Smalltalks, está diseñado para ser extensible de forma masiva. (¿Mencioné que Pharo ahora tiene 5,000 clases, en comparación con las 3,000 de Squeak? Pharo es una bifurcación de Squeak 3.9)

** Hay una guía práctica para instalar e iniciar Squeak, Amber, Pharo, Cuis y Dolphin en: ** http://beginningtosmalltalk.blogspot.co.uk/2015/11/how-to-get-smalltalk- up-and-running.html

El marco web Seaside se ejecuta en Squeak y en Pharo. Es una herramienta madura maravillosa, al igual que el marco AidaWeb más tradicional.

VisualAge, VisualWorks y Gemstone proporcionan sistemas robustos de nivel empresarial. Gemstone proporciona una base de datos de objetos infinitamente escalable con transacciones y persistencia.

2) Sí, ya lo uso.

Lo aprendí a través de la Open University y fui productivo de inmediato en Ruby (una copia del libro Pickaxe y la referencia de la biblioteca a mi lado). Me ayudó enormemente con Java y con Xerox Moo-code.

Acabo de volver a escribir aplicaciones para controlar, administrar y distribuir aplicaciones móviles de gran capacidad y multiplataforma.

Espero que pronto también vuelva a escribir mis aplicaciones móviles de JavaScript utilizando Amber.


1

Realmente no sé lo que estás buscando.

Si está buscando un idioma diferente para escribir, creo que dependería en gran medida de las bibliotecas disponibles. No conozco ni a Ruby ni a Smalltalk, pero parece probable que la forma más eficiente de escribir Ruby on Rails-tipo de aplicaciones no sea Smalltalk.

Si está buscando aprender las ideas detrás de Ruby, esta podría ser una muy buena decisión. No tengo nada cuantitativo, pero siempre me sentí mejor sobre el uso de herramientas (como los sistemas de lenguaje) si sabía más que solo las herramientas, si conocía las ideas detrás de ellas o cómo funcionaban.

Si desea aprender diferentes tipos de lenguajes orientados a objetos, es posible que desee aprender Smalltalk (si difiere significativamente de Ruby), algo como Java o C ++, y quizás también el Common Lisp Object System.

Si solo desea aprender algo diferente, Smalltalk puede ser una buena opción. También sugeriría Common Lisp, y sin duda otras personas tendrán otras sugerencias (¿puedes conseguir un buen sistema Forth hoy en día?).


Está claro que no echaste un vistazo a Seaside. La forma más eficiente de escribir aplicaciones del tipo Ruby-on-Rails es claramente con Seaside.
Stephan Eggermont

No eché un vistazo a Seaside y no he usado Ruby o Smalltalk, así que este es un consejo general. Gracias por señalar Seaside.
David Thornley

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.