Por qué Ruby

Post on 29-Jun-2015

2.628 views 2 download

description

Basada en la presentación The Top 10 Reasons The Ruby Programming Language Sucks! pero en Español

Transcript of Por qué Ruby

El Lenguaje de Programación Ruby

No debe haber librerías

• Ruby cuenta con:

• 96 librerías estandar

• Ruby Application Archive (RAA) cuenta con más de 1,200 aplicaciones y librerías

• RubyForge hospeda más de 800 proyectos open sources

• RubyGems tiene más de 900,000 gems, las librerías de Ruby

96 librerías estándar

Read/WriteRead/Write CSV XML YAML

Talk toTalk to Email FTP Web

ServeServe Code Servlets XML-RPC

Work withWork with MathTemplate

sThreads

Tools forTools forDebuggin

gDocs Testing

No debe tener soporte• Documentación

• Ruby Core está 100% documentado

• La documentación de las librerías Standard library está en progreso

• Tutoriales disponibles en diferentes niveles de dificultad

• E-Books de Ruby

• Comunidades

• Listas de correo en diferentes lenguajes

• Usenet groups

• Foros

Nadie lo utiliza ¿no?• Compañias que actualmente utilizan Ruby

• HP, Intel, NASA

• Usos para Ruby

• Simulación, generación de código, procesamiento de imágenes, prototipado y más.

• Aplicaciones finales

• Ruby on Rails

• Web services como Basecamp y Blinksale lo utilizan

Sintáxis Opcional

• No se necesita el ;

• Paréntesis opcionales

Sintáxis de Objetos

• obj.atributo = metodo

• dangerous! y query? metodos

Sintáxis simple y flexible

• Declaraciones simples:

• local_var = ...

• @instance_var = ...

• do...end or {...}

• Manejo de excepciones como en Java

• Interpolación de código Rugy dentro de un String cualquier código dentro de #{...}

Una comparación con otros lenguajes

• Ruby: puts “Hello world!”

• Java: tresLargasLíneas.queEsperamosNoHaberTipeado mal...

• Perl: #$<!&;

• Lisp: ((a(((b)))(c)))

Ciclos en Ruby

La MayoríaLa Mayoría RubyRuby

while { ... }until { ... }

while ... enduntil ... end

do { ... } whiledo { ... } until

begin ... end while

begin ... end untilforeach { ... } each do ... end

for(...;...;...) { ... }

Iteradores

• Los Objetos saben recorrerse a sí mismos

• No más errores de “N + 1”

Las Clases están abiertas

• Se pueden agregar métodos a las clases en cualquier momento

• Inclusive a las clases base de Ruby

• Sobrecarga de operadores