ruby presentacion

13

Upload: hellmanss

Post on 20-Jun-2015

684 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Ruby presentacion
Page 2: Ruby presentacion

QUE ES RUBY?

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 sola pasada y su implementación oficial es distribuida bajo una licencia de software libre.

Page 3: Ruby presentacion

UN POCO DE HISTORIA:

El lenguaje fue creado por Yukihiro "Matz" Matsumoto, quien empezó a trabajar en Ruby el 24 de febrero de 1993, y lo presentó al público en el año 1995. En el círculo de amigos de Matsumoto se le puso el nombre de "Ruby" como broma aludiendo al lenguaje de programación "Perl" (perla). Diferencias en rendimiento entre la actual implementación de Ruby (1.8.6) y otros lenguajes de programación más arraigados han llevado al desarrollo de varias máquinas virtuales para Ruby. Entre ésas se encuentra JRuby, un intento de llevar Ruby a la plataforma Java, y Rubinius, un intérprete modelado basado en las máquinas virtuales de Smalltalk. Los principales desarrolladores han apoyado la máquina virtual proporcionada por el proyecto YARV, que se fusionó en el árbol de código fuente de Ruby el 31 de diciembre de 2006, y se dió a conocer como Ruby 1.9

Page 4: Ruby presentacion

“Quería un lenguaje que fuera más poderoso que Perl y más orientado a objetos que Python.”

“Ruby está diseñado para hacer que la programación no sólo sea fácil sino también entretenida.”

● Mayormente influenciado por Smalltalk y Perl.

Yukihiro 'Matz' Matsumoto

Page 5: Ruby presentacion

LOS IDEALES DE SU CREADOR

Ruby es un lenguaje con un balance cuidado. Su creador, Yukihiro “matz” Matsumoto, mezcló partes de sus lenguajes favoritos (Perl, Smalltalk, Eiffel, Ada, y Lisp) para formar un nuevo lenguaje que incorporara tanto la programación funcional como la programación imperativa. A menudo ha manifestado que está “tratando de hacer que Ruby sea natural, no simple”, de una forma que se asemeje a la vida real. Continuando sobre esto, agrega: Ruby es simple en apariencia, pero complejo por dentro, como el cuerpo humano.

Page 6: Ruby presentacion

● 1993 – Comienza el desarrollo

● 1995 – Lanzado al público

● 2001 – Programming Ruby 1ra edición (1.6)

● 2004 – Programming Ruby 2da edición (1.8)

● 2004 – El catalizador: Ruby on Rails

● 2008 – Programming Ruby 3ra edición (1.9)

Hitos

Page 7: Ruby presentacion

● Orientado a objetos

● Tipado dinámico

● Herencia simple

● Módulos

● Mixins (casi herencia múltiple)

● Tendencia a la programación declarativa

● Afín a la creación

Características

Page 8: Ruby presentacion

Ruby es orientado a objetos: todos los tipos de datos son un objeto, incluidas las clases y tipos que otros lenguajes definen como primitivas, (como enteros, booleanos, y "nil"). Toda función es un método. Las variables siempre son referencias a objetos, no los objetos mismos. Ruby soporta herencia con enlace dinámico, mixins. A pesar de que Ruby no soporta herencia múltiple, la clases pueden importar módulos como mixins. La sintaxis procedural está soportada, pero todos los métodos definidos fuera del ámbito de un objeto son realmente métodos de la clase Object. Como esta clase es padre de todas las demás, los cambios son visibles para todas las clases y objetos.

Semántica

Page 9: Ruby presentacion

La sintaxis de Ruby es similar a la de Perl o Python. La definición de clases y métodos está definida por palabras clave. Sin embargo, en Perl, las variables no llevan prefijos. Cuando se usa, un prefijo indica el ámbito de las variables. La mayor diferencia con C y Perl es que las palabras clave son usadas para definir bloques de código sin llaves. Los saltos de línea son significativos y son interpretados como el final de una sentencia; el punto y coma tiene el mismo uso. De forma diferente que Python, la indentación no es significativa. Una de las diferencias entre Ruby y Python y Perl es que Ruby mantiene todas sus variables de instancia privadas dentro de las clases y solo la expone a través de métodos de acceso (attr_writer, attr_reader, etc).

Sintaxis

Page 10: Ruby presentacion

'Hola Mundo'.length #=> 10

'Soy un String'.index('u') #=> 4

-1234.abs #=> 1234

1234 + 1 == 1234.+(1) #=> true

1234.to_s #=> '1234‘

1234.to_s.reverse #=> '4321‘

1234.to_s.reverse.to_i #=> 4321

Todo es un objeto

Page 11: Ruby presentacion

Módulos● Los módulos son la forma de agrupar métodos, clases y constantes.

● Proveen 2 funcionalidades:

– Espacio de nombres (namespace)– Compartición de código mediante Mixins

Mixins● Los módulos se pueden incluir dentro de la definición de una clase para que ésta automáticamente incorpore la funcionalidad provista por el módulo.

● Se lo puede ver como una forma de tener herencia múltiple, aunque no es exactamente lo mismo.

Page 12: Ruby presentacion

● NetBeans – www.netbeans.org/products/ruby● Eclipse + RDT – rubyeclipse.sourceforge.net● RadRails – www.aptana.com/rails

IDEs

Page 13: Ruby presentacion

Ruby es totalmente libre. No sólo gratis, sino también libre para usarlo, copiarlo, modificarlo y distribuirlo.