¿Por qué es Ruby mainstream?

Traté de abordar un problema similar con respecto a PHP en la respuesta de Panicz Godek a Si Lisp es un lenguaje tan bueno, ¿por qué no se usa más en el desarrollo de software?

No conozco a Ruby, pero una vez le pregunté a mi amigo cómo describiría el espíritu de programación en Ruby, y él dijo “bueno, Ruby tiene cuatro espíritus diferentes”.

En términos de popularidad, Ruby se ubica de manera similar a Perl. Creo que lo que esos dos idiomas tienen en común es que ambos son eclécticos, para complacer a grupos de usuarios con diferentes antecedentes. “Por favor” significa aquí que pueden hacer su trabajo sin tener que aprender nuevas formas de hacer las cosas, aunque la forma en que están acostumbrados puede ser ineficiente, propensa a errores o defectuosa de alguna otra manera.

Ciertamente puede haber algún valor en popularidad. Por ejemplo, la popularidad de Python o Java agrega una gran cantidad de bibliotecas que están listas para usar, lo que aumenta su poder como programador. La popularidad de C facilita la búsqueda de respuestas a problemas comunes en Stack Overflow.

Sin embargo, no es la popularidad en sí misma lo que vale la pena, sino esos factores adicionales, que en realidad aumentan su poder como programador.

Personalmente tengo la impresión de que esta popularidad de Ruby no viene con estos factores. (Es similar para Perl, pero el proyecto comunitario de Perl llamado CPAN solía ser un gran avance).

Prefiero decir que Ruby es un lenguaje de nicho, y no espero que gane más popularidad. Incluso hay un término “Ruby hipster” para describir (en broma) la figura del programador Ruby. “¿Por qué querrías usar Ruby si Python tiene mejores herramientas y bibliotecas?”, Se podría preguntar. Y, de hecho, parece no haber una respuesta razonable.

Ruby toma prestadas funciones de LISP, Smalltalk, … todos los idiomas no son tan populares hoy

Python y Ruby ponen mucho esfuerzo en su sintaxis, mientras que Lisp y Smalltalk intentan mantenerlo lo más mínimo posible.

La sintaxis mínima es increíble cuando realmente comienzas a usar el lenguaje, pero no causa una buena primera impresión.

Julia evita este problema de una manera interesante, ya que agrega algo de sintaxis, pero está diseñado para que puedas resolverlo en cualquier momento que desees (en realidad no conozco a Julia, pero estaba interesado en su declaración sobre que sea homoicónico, lo que resultó en que leyera un poco al respecto).

Yo diría que hay una razón: Rails.

TIOBE – La empresa de calidad de software

Comprueba ese aumento en la popularidad de Ruby, es aproximadamente un año después del lanzamiento de Rails.

Rails en ese momento era un gran problema, hacía que hacer muchos tipos diferentes de sitios web fuera bastante fácil y era bastante adecuado para principiantes.

Creo que sin Rails, Ruby sería mucho más un jugador de nicho de lo que es ahora.

Ruby está bien diseñado, no es tan difícil como Lisp o Smalltalk. En cambio, es similar a la mayoría de los principales idiomas de alto nivel. Es una pena que Ruby se use en gran medida en la programación web, no es popular en otros campos.