Ruby es un lenguaje de programación interpretado, reflexivo y orientado a objetos, creado por el programador japonés Yukihiro «Matz» Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995. Combina una sintaxis inspirada en Python y Perl con características de programación orientada a objetos similares a Smalltalk. Comparte también funcionalidad con otros lenguajes de programación como Lisp, Lua, Dylan y CLU. Ruby es un lenguaje de programación interpretado en una

Ver en Wikipedia

Noticias que mencionan Ruby

Un repositorio satírico repasa los defectos crónicos de YAML

El desarrollador Geoffrey Huntley (ghuntley.com) ha publicado un repositorio en GitHub que funciona como una crítica humorística a YAML, el lenguaje de serialización de datos ampliamente utilizado en pipelines de DevOps, Kubernetes y archivos de configuración. El archivo principal está escrito delib

Objetos duraderos sin Cloudflare, sobre la base de datos que ya ejecutas

Solid Objects es una biblioteca de código abierto, publicada bajo licencia MIT, que reproduce el modelo de programación de los Durable Objects de Cloudflare —un objeto monotarea por identidad, con estado persistente y buzón de mensajes— pero sin necesidad de ejecutarse en la infraestructura de un pr

Añadir compilación JIT a un intérprete de juguete con libgccjit

En el mundo de los lenguajes de programación, la compilación en tiempo de ejecución (JIT) permite que un programa se traduzca a código máquina mientras se ejecuta, lo que puede mejorar notablemente el rendimiento. Este tutorial, cuarta parte de una serie, explica cómo añadir esta capacidad a un inté

Por qué OpenTelemetry avanza tan despacio: un análisis de datos

OpenTelemetry (OTel) es el estándar abierto de observabilidad más ambicioso del ecosistema CNCF, pero su ritmo de avance genera frustración en los equipos que migran desde SDKs de proveedores. Este análisis examina por qué el proyecto parece no estar terminado a pesar de los años transcurridos y reú

Kino: un servidor web Ractor de alto rendimiento para Ruby 4.0

Kino es un servidor web experimental para Ruby 4.0 o superior que aprovecha los Ractors —unidades de ejecución paralela del lenguaje— para evitar el modelo tradicional de fork por núcleo, muy costoso en memoria. Su arquitectura combina un front-end en Rust (Tokio + Hyper) encargado de la red, trabaj

Los obstáculos reales que impiden reemplazar al lenguaje C

El lenguaje C no solo es un estándar sintáctico: es todo un ecosistema de herramientas, compiladores, analizadores estáticos y soporte multiplataforma consolidado durante décadas. Sustituirlo exige que la alternativa aporte mejoras tangibles que justifiquen rehacer la cadena de producción. Este artí

Acelerando los hashes pequeños de Ruby con búsqueda SWAR

Ruby no implementa sus hashes pequeños como tablas hash propiamente dichas: cuando un objeto Hash tiene ocho entradas o menos, su clase lo representa internamente mediante una estructura llamada ar_table, que en esencia es un array plano de pares clave-valor más un array de hints (el byte bajo del h

Desarrollo impulsado por la culpa: cómo evitar sentirte mal por tus errores

El ingeniero Markus Eliasson narra cómo una falsa alarma de producción en Midsummer le provocó una intensa sensación de culpa y reflexiona a partir de ahí sobre por qué los desarrolladores deberían evitar entregar software que les genere remordimiento. Describe esa culpa como ondas que se propagan c

Cómo reducir el consumo de memoria de los hashes en Ruby

Los hashes son el tipo de objeto que más memoria consume en las aplicaciones Ruby, muy por encima de alternativas como Struct o los llamados PORO (Plain Old Ruby Objects). Un hash vacío ocupa 160 bytes en Ruby 4.0.6, hasta cuatro veces más que un Struct del mismo tamaño, una diferencia que se mantie

Archaeopteryx: un generador de MIDI escrito en Ruby

Archaeopteryx es un generador de MIDI creado por Giles Bowkett, artista, músico y desarrollador Ruby. La herramienta se presentó en la conferencia RubyFringe, un encuentro de carácter vanguardista dedicado a proyectos y tecnologías emergentes dentro del ecosistema Ruby. Bowkett ofreció una demostrac

El creador de Artichoke Ruby archiva el proyecto tras seis años de trabajo

Artichoke Ruby, una implementación experimental del lenguaje Ruby escrita en Rust, ha sido archivada por su creador principal, quien entre el 3 de noviembre y finales de ese mes de 2025 también archivó la mayoría de los repositorios de la organización @artichoke en GitHub. El proyecto nació en 2019

Concurrencia, interactividad y mutabilidad: solo puedes elegir dos

En ingeniería de software existe un compromiso difícil de resolver: no se pueden mantener a la vez la concurrencia, la interactividad y la mutabilidad de los datos sin pagar un precio considerable. Cada una de estas propiedades resuelve un problema real. La concurrencia permite ejecutar varios hilos

Cómo tres mensajes en frío cambiaron mi vida

Zach Holman repasa tres episodios en los que una iniciativa de contacto no solicitado transformó su trayectoria: conseguir plaza en Carnegie Mellon tras ser incluido en lista de espera —la universidad admite apenas entre un 1% y un 10% de quienes esperan en esa lista—, incorporarse a GitHub en sus p

Más allá de MINASWAN: DHH, Lütke y la crisis de valores de la comunidad Ruby

El lema “Matz Is Nice And So We Are Nice” (MINASWAN) ha definido durante años la cultura de la comunidad Ruby, pero un análisis crítico reciente sostiene que esa amabilidad nunca fue real y que hoy está rota. Yukihiro Matsumoto, creador de Ruby, nunca alentó explícitamente esa idea: su carácter rese

Creen un foro común para el ecosistema open source de Ruby

Los responsables de proyectos open source del ecosistema Ruby han puesto en marcha un foro compartido con el objetivo de reducir la fragmentación actual, en la que cada iniciativa mantiene su propio espacio de discusión (foros propios, GitHub Discussions o canales privados) y los debates relevantes

Trifle, una navaja suiza de herramientas Ruby para analítica y logs

Trifle es una colección de gemas para Ruby descrita por su autor como una 'navaja suiza' de pequeñas herramientas orientadas a resolver problemas habituales en el desarrollo de aplicaciones. La documentación, publicada bajo licencia MIT, está organizada en cinco módulos principales: Trifle::Docs, un

Cómo detectar consultas con escaneo completo de tabla en SQLite

SQLite ofrece, a través de su API de estado de sentencias preparadas, una forma directa de saber si una consulta ha realizado un escaneo completo de tabla ("full table scan") sin necesidad de recurrir a EXPLAIN. El programador Aaron Patterson, conocido en la comunidad Ruby por su trabajo en Rails y

Primate, un framework web que no se ata a un frontend ni a un runtime

Primate es un framework web diseñado para poseer toda la pila sin imponer un único frontend, un único lenguaje de backend ni un único runtime. Su creador lo presenta como heredero del enfoque integrado de frameworks PHP clásicos como Yii o Laravel, donde enrutamiento, renderizado, datos, validación,

Rescate técnico de 7.234 GIFs antiguos del Ibiblio Icon Browser

El desarrollador Dan Q describe cómo logró rescatar 7.234 archivos GIF de iconos del Ibiblio Icon Browser, una colección de miles de iconos curada en la década de 1990 por Gioacchino La Vecchia. La iniciativa surgió a partir del trabajo del usuario GlitchyZorua, que intentó archivar una copia comple

Una 'app' que pudo ser una página web: así la reconstruí

Un desarrollador relata cómo, ante la obligación de instalar la aplicación 'Travelbound' para consultar el itinerario de un viaje familiar a Disneyland, decidió revertir el problema y construir él mismo una página web equivalente. Su argumento central es claro: la app solo aporta dos funciones que u

PostHog FOSS: el espejo solo lectura del código abierto de PostHog

PostHog FOSS es un repositorio espejo de solo lectura en GitHub que contiene la versión de código abierto de PostHog, sin el código propietario del producto. El repositorio se sincroniza de forma automática desde el repositorio principal de PostHog, por lo que las incidencias y pull requests deben d

Por qué las dependencias deberían venir directamente del repositorio

La gestión de dependencias en software es un aspecto crítico para la seguridad y mantenibilidad. En este artículo, un desarrollador con experiencia en Go y Ruby argumenta que el modelo de "publicar un paquete" es inherentemente inseguro y propone que las dependencias se obtengan directamente desde e

SecretSpec 0.13 lleva SDKs nativos para Python, Node.js, Go, Ruby y Haskell

SecretSpec ha publicado la versión 0.13, que incorpora SDKs nativos para cinco lenguajes de programación: Python, Node.js/TypeScript, Go, Ruby y Haskell. Hasta ahora, las aplicaciones escritas en esos lenguajes solo podían resolver los secretos declarados en el manifiesto `secretspec.toml` recurrien

Cómo leer un formato binario de videojuegos en Ruby con unpack

Un programador documenta cómo construyó, íntegramente en Ruby puro y sin dependencias externas, un lector del formato BIGF de Codemasters, el contenedor que almacena los datos de inteligencia artificial del juego TOCA Race Driver (2003) y de otros tres títulos de la saga. El artículo, publicado en T

Los archivos de texto como interfaz de usuario

Este artículo de Dave en su 'Virtual Box of Cards' propone una idea sencilla pero potente: usar archivos de texto plano como interfaz de usuario para programas de línea de comandos, en lugar de desarrollar costosas TUI (interfaces de usuario textuales) desde cero. La técnica se basa en lanzar el edi

Por qué los patrones de diseño suelen sobrar en el software moderno

Los patrones de diseño, popularizados por el libro de 1994 de la «Banda de los Cuatro» (Gamma, Helm, Johnson y Vlissides), se concibieron como plantillas reutilizables y agnósticas al lenguaje para resolver problemas recurrentes de diseño. Con el tiempo, señala el autor, se han convertido en dogma:

LuaJIT 3.0 abre el debate sobre sus extensiones sintácticas

Mike Pall, responsable de LuaJIT, ha abierto el issue #1475 en el repositorio oficial del proyecto como punto central para definir las extensiones de sintaxis que incluirá la futura versión 3.0 del compilador. El hilo funcionará como documento vivo: la descripción recoge la propuesta inicial y un co

Explorando la gestión automática de buffers con io_uring

UringMachine, una gema de Ruby para realizar operaciones de E/S mediante io_uring —la interfaz de Linux para E/S asíncrona de alto rendimiento—, está incorporando un sistema de gestión automática de buffers inspirado en el mecanismo de buffer rings del kernel. ¿Qué es io_uring y por qué importa? i

Un análisis de las heurísticas de inlining en compiladores JIT

Los compiladores, especialmente los JIT para lenguajes dinámicos como Ruby y Python, se enfrentan al problema de los métodos pequeños: al operar sobre unidades de código reducidas, carecen del contexto necesario para optimizar eficazmente. El inlining, que consiste en copiar el cuerpo de la función

Herramienta aislop limpia código generado por asistentes de IA

El desarrollador Scanaislop ha presentado aislop, una herramienta de línea de comandos diseñada para depurar el código generado por asistentes de programación impulsados por inteligencia artificial. Este problema surge cuando herramientas como Claude Code o Cursor escriben código funcional que pasa

Lone: intérprete de Lisp en C desde cero

Lone es un intérprete de Lisp escrito en C que se distingue por su desarrollo 'desde cero' sin utilizar librerías estándar como libc. Su sistema de gestión de memoria, conocido como el 'heap', es el tema central de esta explicación y representa un caso de estudio valioso sobre cómo se construyen los

Terraform no declaraba estado, los ingenieros observaban a mano

El artículo propone una reevaluación fundamental de la gestión de infraestructura: tradicionalmente, herramientas como Terraform o Chef no "declaraban estado", sino que actuaban como receptores de observaciones manuales escritas por humanos. Dado que los agentes de estas herramientas no podían obser

Java destaca en comparativa de lenguajes para plugins de IA

Un desarrollador ha desarrollado un plugin para la plataforma de inteligencia artificial Claude destinado a procesar documentos DOCX utilizando tres lenguajes de programación distintos: Ruby, Java y TypeScript. Esta comparación se centra en la capacidad de cada tecnología para manejar archivos zip y

Zjit optimiza código con nuevo asignador de registros

El equipo de desarrollo de Ruby ha implementado un nuevo asignador de registros en ZJIT (Just-In-Time compiler) para optimizar el rendimiento de la ejecución de código. Esta mejora es relevante porque la gestión eficiente de los registros de la CPU es crucial, ya que estos son mucho más rápidos que

La consistencia en lenguajes mejora la IA en programación

Jacob Young, consultor técnico de Sancho Studio, sostiene que la consistencia en los lenguajes de programación es determinante para el rendimiento de los modelos de lenguaje grande (LLM) en tareas de codificación. Según su análisis, los ecosistemas fragmentados, como los de JavaScript o Python con m

PyYAML bug converts country codes to boolean values

El 12 de enero de 2026, la librería de Python PyYAML expuso un fallo crítico conocido como el "problema de Noruega", donde el código de país "NO" se interpreta erróneamente como el valor booleano "false" en lugar de una cadena de texto. Este incidente afecta a la popularidad de YAML como lenguaje de

Nueva serie rescata la historia olvidada de Visual Basic

EvilGeniusLabs.ca presenta un ambicioso proyecto historiográfico sobre Visual Basic, el lenguaje de programación que revolucionó el desarrollo de aplicaciones para Windows en los años 90. El autor, un desarrollador que escribió su primera aplicación en VB1 en 1991, explica que las historias existent

Hatchbox y AppSignal facilitan el monitoreo de Rails

Hatchbox y AppSignal han anunciado una integración que simplifica la gestión de servidores Ruby on Rails, ofreciendo a los desarrolladores una visibilidad más profunda y accesible de su infraestructura. Anteriormente, la gestión de servidores a menudo generaba ansiedad debido a la dificultad de dete

Spinel: Nuevo compilador acelera Ruby significativamente

Un nuevo compilador de Ruby llamado Spinel está logrando mejoras significativas en la velocidad de ejecución. Desarrollado por Matz, el compilador convierte el código fuente de Ruby en ejecutables nativos independientes, eliminando la necesidad de un entorno de ejecución Ruby tradicional. Spinel uti

Ruby on Rails: encuesta explora el impacto de la IA

La comunidad de desarrolladores Ruby on Rails está llevando a cabo una encuesta para investigar el impacto de la inteligencia artificial (IA) en los flujos de trabajo de desarrollo. La encuesta, impulsada por Planet Argon, busca comprender cómo la IA se está integrando en las aplicaciones Rails y su

SQLite ahora con pub/sub: extensión Honker revoluciona

Un desarrollador ha creado 'Honker', una extensión para SQLite que añade capacidades de publicación/suscripción (pub/sub) al estilo de PostgreSQL, sin necesidad de un servidor externo como Redis o Celery. Honker permite la creación de colas de tareas, flujos de eventos y notificaciones entre proceso

orígenes del código: los 'ur-lenguajes' revelados

Este artículo explora un concepto fundamental en el desarrollo de software: los "ur-lenguajes" (lenguajes ancestrales). La idea central es que, aunque existen miles de lenguajes de programación, muchos comparten patrones básicos de construcción y organización, agrupándose en familias o "ur-lenguajes

Intercom agiliza CI y ahorra recursos con optimización

Ingenieros de Intercom han optimizado significativamente el tiempo de configuración de su sistema de integración continua (CI), logrando ahorros sustanciales en recursos computacionales. El problema principal era el tiempo de preparación de los procesos Ruby para ejecutar pruebas, un cuello de botel

Byterun: Intérprete de Python en 500 líneas

Este artículo de Allison Kaptur, ingeniera de Dropbox, explora Byterun, un intérprete de Python escrito en Python. El objetivo principal es desmitificar el funcionamiento interno de un intérprete, demostrando que su estructura fundamental puede caber en un código relativamente corto (menos de 500 lí

C se acelera: Nuevo sistema añade JIT a intérpretes

Investigadores han desarrollado un sistema llamado 'yk' que permite transformar intérpretes de código C en máquinas virtuales (VM) con compiladores JIT (Just-In-Time) con una mínima modificación del código existente. Esto abre la posibilidad de mejorar el rendimiento de lenguajes como Lua, Ruby y Py

Emprendedor gestiona varias empresas con $20 al mes

Un emprendedor, Steve Hanov, ha revelado una estrategia para operar múltiples empresas con un costo técnico mínimo, alrededor de $20 al mes. El enfoque se centra en la eficiencia y el bootstrapping, evitando la búsqueda de financiación externa y la infraestructura costosa típica de las empresas tecn

Bevy: Guías de referencia para desarrolladores de juegos

Bevy es un motor de juego de código abierto escrito en Rust, y `taintedcoders.com` ofrece una colección de guías y tutoriales para aprender a desarrollarlo. La página web, creada por Nolan Tait (también conocido como nolantait), se ha convertido en una referencia similar a las guías de Rails para el

Foxguard: Escaneo de seguridad ultrarrápido para desarrolladores

PwnKit Labs ha lanzado Foxguard, una nueva herramienta de escaneo de seguridad local diseñada para ser extremadamente rápida, buscando solucionar la lentitud de los escáneres tradicionales que a menudo impiden su uso frecuente por parte de los desarrolladores. Foxguard completa un escaneo en tan sol

Agente IA optimiza código, mejora rendimiento en IA

Un agente de codificación ha logrado optimizar el código de Flash Attention en llama.cpp en un 15% para x86 y un 5% para ARM, gracias a la incorporación de una fase de investigación previa a la codificación. El equipo de SkyPilot, utilizando la herramienta autoresearch (y su versión generalizada, pi

Ruby Native: HTML unifica frameworks JavaScript

El desarrollador Joe Masilotti ha creado Ruby Native, una gema de Ruby que busca unificar la experiencia de desarrollo entre diferentes frameworks de JavaScript como ERB, React y Vue. La clave de su enfoque radica en el uso de HTML como base común: la aplicación nativa detecta elementos HTML con atr

Ruby más simple: experimento con sintaxis Lisp

Este proyecto, llamado 'rubysyn', es un experimento para simplificar y clarificar la sintaxis de Ruby, utilizando una alternativa basada en Lisp. El objetivo no es cambiar la semántica de Ruby, sino ofrecer una sintaxis más fácil de analizar y más 'limpia', eliminando 'azúcar sintáctico' innecesario

Shopify acelera TruffleRuby: más velocidad para Ruby

Shopify continúa impulsando el desarrollo de TruffleRuby, una implementación de alto rendimiento del lenguaje de programación Ruby. Originalmente un proyecto de investigación iniciado en Oracle Labs en 2013, TruffleRuby utiliza el compilador dinámico Graal y el framework de intérprete Truffle AST pa

OpenTelemetry Profiles: Alpha pública para optimizar apps

OpenTelemetry ha anunciado que su funcionalidad 'Profiles', destinada a la creación de un estándar industrial para el perfilado continuo en producción, ha entrado en fase Alpha pública. Esto permite a la comunidad probar y proporcionar retroalimentación sobre la nueva señal, que complementa las capa

IA en código: desarrollador siente frustración

Un desarrollador, Nelson Figueroa, ha expresado sentimientos de frustración y engaño tras crear su primera solicitud de extracción asistida por inteligencia artificial para el proyecto de código abierto Chroma, utilizado en el generador de sitios Hugo. Aunque la contribución fue aceptada y fusionada

Fin de una era: TechEmpower cesa benchmarks de frameworks

TechEmpower ha anunciado el cese de actividad del proyecto Framework Benchmarks, una iniciativa que durante más de una década ha servido como referencia para la industria del desarrollo web. El proyecto, lanzado en 2013, ha cubierto cientos de frameworks en diversos lenguajes de programación como Go

Python: El operador que sacudió al lenguaje

Este artículo narra la controvertida introducción del 'walrus operator' (:=) en Python 3.8, un evento que llevó a la renuncia de Guido van Rossum, el creador y líder de facto del lenguaje durante tres décadas. ¿Qué es y por qué es importante? El walrus operator es una nueva forma de asignar valore

Rails resurge: ¿por qué este framework vuelve?

Este artículo explora el resurgimiento de Ruby on Rails (Rails) en el panorama del desarrollo web, a pesar de su relativa impopularidad actual. El autor, un desarrollador con experiencia en infraestructura y DevOps, redescubrió el placer de construir aplicaciones web de la manera tradicional utiliza

Axlsx: Biblioteca Excel para Ruby cambia de manos

La popular biblioteca Ruby `axlsx`, utilizada para generar archivos de Excel, ha sido transferida a una nueva organización comunitaria en GitHub. Esta migración busca asegurar la sostenibilidad y el mantenimiento continuo del ecosistema `axlsx`, que permite a los desarrolladores crear hojas de cálcu

Fuente 'Z80 Sans' traduce código a símbolos

Un desarrollador ha creado una fuente innovadora, llamada Z80 Sans, que traduce instrucciones de ensamblaje Z80 en glifos legibles. La fuente utiliza la Tabla de Sustitución de Glifos (GSUB) y la Tabla de Posicionamiento de Glifos (GPOS) de OpenType para lograr esta conversión, transformando secuenc

Sem: Nueva herramienta revoluciona el control de versiones

Ataraxy Labs ha lanzado 'Sem', una nueva herramienta de código abierto que revoluciona la forma en que se realiza el control de versiones. A diferencia de las herramientas tradicionales que se centran en las líneas de código, Sem ofrece 'diffs' a nivel de entidad, identificando cambios específicos c

µJS: Biblioteca agiliza navegación web sin frameworks

Un nuevo proyecto llamado µJS (pronunciado 'micro JS') simplifica la navegación AJAX para sitios web, permitiendo a los desarrolladores crear experiencias de usuario más rápidas y fluidas sin la complejidad de frameworks JavaScript. La biblioteca, disponible en un único archivo de aproximadamente 5

Errores en software: clasificados y mejor gestionados

En el desarrollo de software, la gestión de errores es crucial para la experiencia del usuario y la fiabilidad del sistema. Evan Hahn, en su artículo, propone una clasificación fundamental de los errores en dos categorías: **errores esperados** y **errores inesperados**. Esta distinción, aunque apar

gzpeek: Descubren datos ocultos en archivos gzip

Un desarrollador ha creado una nueva herramienta llamada 'gzpeek' para analizar los metadatos ocultos dentro de archivos comprimidos con gzip. Tradicionalmente se asume que gzip solo sirve para comprimir datos, pero la especificación técnica revela que los archivos gzip contienen información adicion

Claude Code: Herramienta optimiza contexto y ahorra tokens

## Claude Code: Herramienta optimiza contexto y ahorra tokens La creciente popularidad de Claude Code y su ecosistema de herramientas (MCP) ha revelado una limitación crítica: el rápido agotamiento del contexto. Cada interacción con una herramienta, desde capturas de pantalla de Playwright hasta li

Optimizador Toy: análisis de alias para código más eficiente

Este artículo del blog de Bernstein Bear explora una técnica llamada 'análisis de alias basado en tipos' (TBAA) dentro del contexto de un optimizador de código (Toy Optimizer). El objetivo es mejorar la capacidad del optimizador para comprender cómo los diferentes objetos en la memoria interactúan e

Rust: Un Adiós y Reflexiones de un Desarrollador

Este artículo, escrito por Dmitry Kudryavtsev, narra su viaje desde los inicios de la programación con Pascal y C, pasando por la frustración de no poder aplicar sus conocimientos de bajo nivel en el desarrollo web con C/C++, hasta su incursión y posterior abandono de Rust. La historia es una reflex

Foro Ruby: Guía para Empezar

## Temas etiquetados con getting-started: Un punto de encuentro para la comunidad Ruby **1. Introducción: ¿Qué es y por qué es importante?** El contenido presentado es una bienvenida al foro de usuarios de Ruby (Ruby Users Forum). Ruby es un lenguaje de programación dinámico, orientado a objetos y

MiniMax M2.5: IA eficiente para tareas complejas

MiniMax ha anunciado el lanzamiento de su nuevo modelo de lenguaje, MiniMax M2.5, diseñado para aumentar la productividad en tareas del mundo real. El modelo, entrenado con aprendizaje por refuerzo en una amplia variedad de entornos complejos, destaca en programación, uso de herramientas, búsqueda y