typestar

Lenguajes

Ruby

El lenguaje diseñado para la felicidad del programador.

Primera versión
1995
Creado por
Yukihiro Matsumoto (Matz)
Tipado
Dinámico y fuerte; todo es un objeto, incluidos los enteros y nil
Extensiones de archivo
.rb

Para qué sirve

La meta de diseño declarada de Ruby es la felicidad del programador, y se nota: los métodos se leen como oraciones, los bloques convierten la iteración en one-liners, y la distancia entre lo que quieres decir y lo que tecleas es inusualmente corta. Rails montó esa expresividad para impulsar una era de la web — GitHub, Shopify, Airbnb y Stripe empezaron sobre él — y Rails sigue siendo el camino más rápido que muchos equipos conocen para llevar un producto de la idea a producción.

El centro de gravedad del lenguaje es Enumerable. Casi cualquier pregunta que puedas hacerle a una colección — filtrarla, agruparla, contarla, plegarla — es un método con nombre que recibe un bloque, y la fluidez en ese vocabulario es casi todo lo que separa al Ruby que canta del Ruby que se arrastra. El segundo pilar son las clases abiertas y los mixins: el comportamiento vive en módulos y se compone dentro, y así es como Rails logra que una fila de base de datos responda a métodos que nadie escribió.

El trueque de Ruby es velocidad de pensamiento a cambio de velocidad de ejecución. Rara vez ganará un benchmark, y la flexibilidad del monkey-patching es una herramienta cargada en una base de código grande. Pero YJIT viene cerrando la brecha de rendimiento desde la 3.1, y para scripts, aplicaciones web y el pegamento diario de un programador en activo, Ruby sigue siendo una de las formas más placenteras de tener algo real corriendo antes del almuerzo.

De dónde viene

Yukihiro Matsumoto mezcló sus partes favoritas de Perl, Smalltalk y Lisp en un lenguaje que publicó en 1995. Su principio declarado — que el diseño de un lenguaje debe optimizar para la felicidad del programador y no para la conveniencia de la máquina — era inusual entonces y sigue siendo la marca de Ruby hoy.

Ruby fue un asunto mayormente japonés hasta principios de los 2000, cuando los primeros libros en inglés y la guía 'pickaxe' de los Pragmatic Programmers lo llevaron a Occidente. La explosión llegó en 2004 con Ruby on Rails, de David Heinemeier Hansson: la convención sobre la configuración hizo que construir aplicaciones web con base de datos fuera asombrosamente rápido, y durante la década siguiente Rails fue el stack por defecto del boom de las startups.

Ruby 1.9 (2007) reconstruyó el intérprete en busca de velocidad; de la 2.0 a la 2.7 lo refinaron. Ruby 3.0 (2020) entregó 'Ruby 3x3' — tres veces más rápido que la 2.0 — más los Ractors para paralelismo, y el compilador YJIT (escrito en Rust desde la 3.2) ha mantenido a los lanzamientos anuales del día de Navidad trayendo mejoras reales de rendimiento desde entonces.

Cómo se siente teclearlo

Ruby se teclea con suavidad: sobre todo palabras en minúscula, puntos y guiones bajos, con el trabajo de signos concentrado en las variables de instancia con @, la interpolación #{} y las barras de bloque alrededor de |argumentos|. Los bloques significan teclear { y } o do y end mucho más seguido que puntos y comas, y los arreglos de palabras %w[] y los atajos &:símbolo premian la precisión con los corchetes. Los fragmentos de Enumerable llevan barras de tres estrellas un poco más bajas donde los bloques encadenados apilan puntuación densa.

Practica Ruby

29 pasos en 1 tours, desde lo básico hasta programas completos.

Los tours

Documentación oficial

Otros lenguajes