¿Por qué hay tantos científicos de datos que usan Python sobre Ruby? ¿Python es realmente mejor que Ruby a este respecto?

Descargo de responsabilidad: no tengo ningún dato científico que respalde mis afirmaciones. Dicho esto, basado completamente en mi experiencia, veo algunas razones:

  1. Python tiene un conjunto sólido de bibliotecas para la manipulación de datos y material científico en general, que son maduras y confiables como NumPy.
  2. Python es un poco mayor, y las personas que provienen de una formación académica tienden a ser más conservadoras sobre sus herramientas de elección. (Algunas personas todavía usan FORTRAN para algunas tareas, lo que dice mucho al respecto).
  3. Hay pocas razones para reinventar la rueda. La manipulación de vectores puros todavía se realiza en FORTRAN por esta razón (pero NumPy se utilizó cada vez más en los últimos 10 años desde su introducción). Y Python comenzó a usarse para esto hace algún tiempo, antes de que Ruby se extendiera en la comunidad.
  4. Python parece tener muchos más seguidores en la academia que Ruby. De hecho, Python nació en la escena académica, como resultado directo de experimentos para introducir conceptos de programación a los niños, antes de que despegara como un lenguaje de programación genérico. Ese tipo de mentalidad generalmente se refuerza a sí mismo (Python es popular en la academia, los académicos usan Python porque es popular allí, y así sucesivamente).

Es posible que Ruby se desarrolle con el tiempo para ser tan popular o más de lo que Python es hoy para esta aplicación. Pero para que esto suceda, algunos nombres importantes tienen que surgir y contribuir con algo tan masivo y significativo como NumPy o SciPy, y eso requerirá mucho tiempo y esfuerzo (como lo hizo para Python).

Si bien puede haber algunas razones técnicas válidas por las que Python es mejor que Ruby (o viceversa), los efectos de red son la razón por la cual los científicos de datos usan Python sobre Ruby. Por alguna razón, las personas inicialmente eligen usar Python para computación científica en lugar de Ruby. Esto condujo al desarrollo de algunas bibliotecas de núcleo sólido que incluyen, NumPy, SciPy y matplotlib. Otros usaron estas bibliotecas centrales para construir otras bibliotecas como Pandas, scikit-learn y Seaborn. En otras palabras, cuantas más personas usan Python para la ciencia de datos, más valioso se vuelve para la ciencia de datos.

La situación se desarrolla a favor de Ruby en otras áreas. En el desarrollo web, Ruby on Rails es más popular que los frameworks Python similares (por ejemplo, Django y Flask). Ruby también es el idioma preferido para las tareas relacionadas con DevOps (por ejemplo, Puppet and Chef).

En esta etapa, sería difícil para un científico de datos usar Ruby ya que su comunidad de ciencia de datos y sus capacidades son limitadas. Uno podría dedicar su tiempo y energía a desarrollar capacidades centrales y comunidad, pero les tomaría mucho tiempo (si alguna vez) ponerse al día con Python.

“Solía ​​poner huevos (desarrollador de Python) antes de comenzar a comer gemas: p”

La pregunta no es válida ahora. Ruby está tratando de florecer en todos los campos.

Prueba SciRuby . No lo he probado personalmente. No sé qué tan diferente es de SciPy .

Ruby equivalente de NumPy

Si desea dibujar sus datos o su jefe perezoso quiere ver la representación visual de los datos. Usa Ruby_GNUPLOT

También te gustaría ver este video: Wicked Good Ruby 2013 – Machine Learning with Ruby

También tiene la gema Ai4R para implementar inteligencia artificial en sus aplicaciones, proyectos.

AI4R es una colección de implementaciones de algoritmos de rubí, que cubre varios campos de inteligencia artificial y ejemplos prácticos simples que los utilizan. Un patio de juegos Ruby para investigadores de IA

Mira más gemas increíbles aquí. Actualmente 7.280.708.448 descargas.


Sobre todo, Ruby es el mejor lenguaje para las pruebas. Las pruebas van de la mano con el desarrollo. Incluso si es un novato, se le enseñará cómo probar su aplicación / proyecto.


También puede crear aplicaciones móviles fácilmente en Ruby con RubyMotion . RubyMotion es muy adictivo, una vez que comienzas a desarrollar aplicaciones usando VIM + RubyMotion. Nunca usarás un IDE (lo prometo).

Me sorprendió ver cuán fácilmente puede diseñar sus aplicaciones en RubyMotion al igual que agregar un montón de reglas CSS .

  • PRECAUCIÓN: No intentes RubyMotion, te enamorarás de él. No me culpes, ya te lo advertí 😉

Construyó un sitio web dinámico con Ruby On Rails. RoR qué más solo el nombre suficiente


NOTA DEL FUTURO: Matz está tratando de resolver el problema de concurrencia con Ruby. Es un lenguaje dinámico y cada lenguaje dinámico (Python, JS, Perl, etc.) tiene el problema de no utilizar todos los núcleos de una CPU multinúcleo. Pero, la próxima actualización de Ruby solucionará este problema y creo que Ruby será el primer lenguaje dinámico para manejar mejor la concurrencia.


Aprender Ruby es fácil, pero Ruby no está destinado a usuarios de Windows. Ruby está diseñado principalmente para Linux, Mac (Unix). Tendrás dificultades más adelante si no aprendes Linux ahora. El procedimiento de aprendizaje para Ruby también es diferente, primero debe aprender GIT para poder ser un desarrollador eficiente de Ruby.

Github es como un segundo hogar para los desarrolladores de Ruby

Ruby tiene la comunidad de desarrolladores más activa. Les gusta trabajar sin ningún beneficio (la mayoría de ellos son científicos y locos que inventan cosas sin ningún beneficio).


Broma: Por encima de todo, es un producto japonés, por lo que puede contar con Japón en cualquier momento. Japón tiene las mentes más brillantes del mundo. Entonces, tu futuro es bastante brillante si eres un desarrollador de Ruby: p

Incluso un niño pequeño en Japón puede escribir escribir mierda que funciona …… jajaja 😀


Conclusión: Python no es mejor. Ambos son parecidos. Son amigos

El único aspecto que Ruby es diferente de Python: Ruby tiene más de una forma de resolver un problema particular al igual que MATHS y todo debido a su rica sintaxis