06.10.2026 · Signal Titans Editorial
Yukihiro Matsumoto creó Ruby alrededor de una idea radical: programar debería sentirse bien.

Yukihiro “Matz” Matsumoto no empezó Ruby porque una empresa le entregara una lista de requisitos de mercado. Empezó porque los lenguajes de programación que tenía a su alcance no le parecían adecuados. En su propio relato posterior, Ruby “nació” el 23 de febrero de 1993, durante una conversación sobre la posibilidad de crear un lenguaje de scripting orientado a objetos. Quería algo práctico para las tareas cotidianas, pero también auténticamente orientado a objetos y agradable de utilizar.
Un lenguaje nacido de la insatisfacción, no de un plan de negocio
Matsumoto ya conocía Perl y Python, pero ninguno coincidía con lo que buscaba. Admiraba la rapidez de expresión de los lenguajes de scripting, aunque quería un modelo de objetos más coherente y un diseño en el que la orientación a objetos no pareciera un añadido posterior. La historia oficial de Ruby explica que tomó ideas de lenguajes que apreciaba —Perl, Smalltalk, Eiffel, Ada y Lisp— en lugar de intentar inventarlo todo desde cero. La originalidad estaba en la combinación y, sobre todo, en aquello que decidió optimizar.
Ese objetivo era poco habitual: el programador. Matsumoto ha descrito muchas veces su meta como “hacer felices a los programadores”. En una entrevista de 2003 explicó que los lenguajes de programación son interfaces entre humanos y computadoras, por lo que la parte humana también debe importar. No perseguía la simplicidad como valor absoluto. La propia documentación de Ruby resume una de sus ideas recurrentes: hacer que el lenguaje resulte natural, no solamente simple, aunque la implementación interna tenga que ser más compleja.
Dos años antes de la publicación
La primera idea no se convirtió de inmediato en un lenguaje famoso. Matsumoto pasó meses hasta conseguir que el intérprete funcionara y siguió refinando el diseño prácticamente fuera del foco internacional. En una retrospectiva publicada en 1999 en la lista ruby-talk, escribió que Ruby 0.95 se difundió en grupos de noticias japoneses en diciembre de 1995. Ruby 1.0 llegó en diciembre de 1996. Durante varios años, buena parte de la comunidad y de la documentación siguió concentrada en Japón.
Ese comienzo lento importa porque es fácil reescribir la historia tecnológica como una cadena de éxitos instantáneos. Ruby no tenía ninguna garantía de adopción mundial. Era un proyecto de diseño personal que fue encontrando usuarios poco a poco. Su sintaxis ofrecía flexibilidad. Los valores se trataban de forma coherente como objetos. Los bloques, iteradores, garbage collection, excepciones y un sistema rico de clases permitían escribir programas pequeños con mucha expresividad sin impedir el crecimiento hacia aplicaciones mayores.
“Programmer happiness” se convirtió en una restricción de ingeniería real
La frase puede sonar blanda, pero produjo decisiones concretas. Matsumoto buscó que el código permaneciera cerca del modelo mental del programador. Valoró la concisión, la posibilidad de resolver un problema de varias maneras y unas API que hicieran cómodo el camino recomendado en vez de imponerlo mediante reglas rígidas. En entrevistas también insistió en el oficio: leer código, aprender otros lenguajes, comprender los fundamentos y prestar atención a las interfaces.
La filosofía de Ruby se volvió mucho más visible internacionalmente cuando creció su ecosistema, especialmente con Ruby on Rails y la expansión de las bibliotecas distribuidas como gems. El sitio oficial de Ruby habla hoy de más de 200.000 gems y atribuye a la comunidad la expansión del lenguaje más allá de lo que una sola persona podría construir. Esa distinción es importante: Matsumoto creó el lenguaje, pero su permanencia dependió de quienes hicieron frameworks, bibliotecas, herramientas, documentación y comunidades locales.
Una filosofía que sobrevivió al problema original
Ruby nunca fue la única respuesta al desarrollo de software, ni esa era la ambición de Matsumoto. Su aporte más profundo es la idea de que la experiencia del desarrollador no es decoración añadida al final de la “verdadera” ingeniería. La sintaxis, el comportamiento de los errores, las bibliotecas y las convenciones influyen en cómo piensa la gente, en la velocidad con la que transforma una idea en código y en si programar se siente como luchar contra una máquina o expresar una intención.
Tres décadas después de sus primeras versiones públicas, Ruby sigue mantenido, utilizado y discutido. Han aparecido nuevos lenguajes, el hardware cambió enormemente y el desarrollo de software aborda problemas que apenas existían en 1993. Sin embargo, la pregunta detrás de Ruby sigue vigente: cuando diseñamos un sistema técnico, ¿la experiencia de quién estamos optimizando? La respuesta de Matsumoto fue inusualmente clara. La máquina importa, pero también importa la persona que la utiliza.