Ruby
Ruby
Presentado por:
Michel Andrea Gutiérrez
Mannuel Granoble Pino
Maria Teresa Trujillo Camacho
Ana Ximena Quijano Gutiérrez
Nathalia Ruiz Meneses
Presentado a:
MSc. Wilson Ortega
Estructuras De Lenguajes
conocido en el mundo del internet como "Matz". Sus inicios se remontan al año de 1993,
donde el 24 de febrero del mismo año empieza la elaboración de este lenguaje, para que
posteriormente en 1995 fuera publicado. El nombre de este surgió como una burla en el
grupo de amigos de Matsumoto aludiendo a Perl(perla en Español), el cual fue uno de los
lenguaje que Matsumoto mezcló para formar Ruby, ya que este no es más que la mezcla de
varias partes sus lenguajes de programación favoritos de esa época, como lo son: (Perl,
activos en las ciudades más importantes del mundo y llenando por completo las conferencias
crecimiento, y según ellos, “Todo indica que Ruby llegará a estar entre los 10 primeros en
aplicaciones desarrolladas con Ruby, en particular por el Framework de desarrollo web Ruby
on Rails.
cual puedes modificar a tu gusto sin necesidad de tener una licencia. Está enfocado en la
y diversión del programador siguiendo el principio de la menor sorpresa, lo que significa que
primitivos como int, string o incluso los operadores de suma y resta son tomados como
objetos.
Los símbolos son una peculiaridad distintiva, ya que son cadenas no mutables, pues a
diferencia de las cadenas String no pueden cambiar su valor. Es decir, en el caso de los
String, cada vez que creamos una cadena el programa no puede darse cuenta si lo que
agregamos a dicha cadena es lo mismo que hemos agregado en una anterior a esta,
provocando así una ocupación de espacio de memoria innecesaria para las cadenas repetidas
y es ahí donde entran a jugar los símbolos pues estos analizan el contenido de los nuevos
símbolos a ocupar espacio de memoria y si esta ya existe, en vez de añadirlo y ocupar espacio
innecesario lo que hacen es que crean una referencia al símbolo ya existente con el mismo
contenido, por esta razón la ejecución de un programa que este desarrollado con símbolos es
Su rapidez, facilidad y otras ciertas características hacen que Ruby sea actualmente uno de
los lenguajes de programación para crear Webs más utilizados en el mundo, esto también con
la ventaja de su gran comunidad a nivel mundial, la cual siempre está dispuesta a ayudar, al
Finalmente cabe destacar que Ruby sigue el principio de la menor sorpresa, lo que significa
que el lenguaje debe comportarse de tal manera que minimice la confusión de los usuarios
confusión ya que según él: la gente A menudo, especialmente los ingenieros en computación,
se centran en las máquinas. Ellos piensan que, "Haciendo esto, la máquina funcionará más
rápido. Que haciendo esto, la máquina funcionará de manera más eficiente. O que haciendo
esto ocurrirán mil cosas..." Ellos están centrados en las máquinas, pero en realidad
necesitamos centrarnos en las personas, en cómo hacen programas o cómo manejan las
aplicaciones en los ordenadores. Nosotros somos los jefes. Ellos son los esclavos. Y con bien
lo dice la página oficial. Ruby es el mejor amigo de un desarrollador”. Y es que fue diseñado
por Matz para la felicidad del programador. Es decir que el enfoque no fue en la rapidez de
ejecución del lenguaje o en la facilidad de uso, sino de ser el “mejor amigo” del programador.
Esto hace que programar en Ruby sea un verdadero placer, ya que Ruby da al programador
toda la libertad que ese puede necesitar. De hecho, eso es una espada de doble filo, porque
La primera versión estable de Ruby fue publicada en 1998. En ese tiempo, Ruby todavía
En 2001, el primer libro en inglés sobre Ruby fue publicado: Programming Ruby, de Dave
Thomas. Eso permitió hacer que Ruby sea mucho más accesible a mucha más gente.
En 2005, Ruby se volvió muy popular, gracias al framework web Ruby on Rails, que hasta
ahora es el programa más importante en Ruby. Ruby on Rails revolucionó muchos aspectos
Características de Ruby
● Orientado a objetos: Ruby está orientado a objetos, todos los tipos de datos son un
objeto, incluidas las clases y tipos que otros lenguajes definen como primitivas, (como
● Manejo de excepciones: Ruby tiene una serie de clases, exception y sus hijas, que
● Es de alto nivel, significa que está lejos del lenguaje de máquina y es muy cercano al
Ruby, como lenguaje, tiene algunas implementaciones diferentes como MRI (“Matz’s
Ruby Interpreter”) o CRuby (ya que está escrito en C), pero también hay otros. Ellos son
entornos de desarrollo.
trabajo .NET”.
La verdad es que no se encuentran muchas frameworks creadas con Ruby, lo que limita
un poco el desarrollo de aplicaciones para la web. Sin embargo, una de las mejores y más
conocidas frameworks que tiene Ruby es Ruby on Rails, muy aceptada por la comunidad de
Ruby on Rails es un marco para implementar las aplicaciones web que el desarrollador
escribe usando Ruby. También es capaz de trabajar en diferentes plataformas, incluidas Linux
y Windows. Rails facilita que el desarrollador escriba código más potente, expresivo y
legible; escribir y ejecutar pruebas automatizadas; y mucho más. Cuando se trata del tiempo
de desarrollo y la eficiencia, Ruby on Rails está muy por delante de muchos otros marcos e
Ruby, el lenguaje de programación que forma su base y la gran colección de código fuente
1. Aptana Studio
que tengan experiencia en Ruby. Permite a los desarrolladores probar sus aplicaciones web
2. Net Beans
NetBeans es un IDE de código abierto y una plataforma que ayuda a los desarrolladores a
dispositivos móviles. Suspendieron el soporte a Ruby en 2011, debido a que Oracle introdujo
un nuevo kit de Java Dev, pero lo trajeron de vuelta otra vez para el disfrute de todos los
programadores que usan este lenguaje. En realidad, Net Beans está pensado para desarrollar
en Java aunque también es compatible con JavaFX, PHP, JavaScript, Ruby & Ruby on Rails,
3. RubyMine
JetBrains RubyMine IDE proporciona un completo editor de código Ruby el cual ofrece
capacidades para el análisis de código. Fácil configurar a la hora de crear un proyecto, cuenta
también con gestión automática de gemas, soporte de Rake... Tiene todo lo que un
para mala edición de HTML, CSS y JavaScript y herramientas avanzadas para el desarrollo
web.
4. Komodo
Komodo es un IDE profesional para los principales lenguajes web, incluyendo Python,
PHP, Ruby, Perl, HTML, CSS y JavaScript. El set de herramientas completo de Komodo
5. Arcadia
Arcadia es un entorno de desarrollo (IDE) para Ruby escrito en Ruby, ofrece la edición de
La sintaxis de Ruby es similar a la de Perl o Python. 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
de la instancia y las acciones son conocidas como métodos. La orientación a objetos pura de
En muchos lenguajes, los números y otros tipos primitivos no son objetos. Ruby sigue la
influencia del lenguaje Smalltalk pudiendo poner métodos y variables de instancia a todos sus
tipos de datos. Esto facilita el uso de Ruby, porque las reglas que se aplican a los objetos son
Variables
A pesar de que Ruby utiliza la puntuación muy limitadamente y se prefieren las palabras
clave en inglés, se utiliza algo de puntuación para decorar el código. Ruby no necesita
declaraciones de variables. Se utilizan convenciones simples para nombrar y determinar el
los roles de las variables. También se hace innecesario el uso del self. como prefijo de todos
Símbolos
:nombre_símbolo
● Cadenas no mutables
Cuando creamos una cadena, el programa no tiene manera de saber si lo que está escrito
en ella, tambien este en otra variable que esté creada en memoria, por lo tanto se da el caso
que se crean cada vez mas y mas cadenas, que solo ocupan mas espacio en memoria, en
cambio si creamos un símbolo y escribimos lo que sea dentro de ella cuando creemos otro
símbolo que tenga el mismo contenido de otra que fue previamente creada, no se creará un
nuevo símbolo en memoria sino que se hará una referencia al símbolo con el mismo
contenido que se haya creado primero por esto la ejecución de un código con símbolos es
Como todo lenguaje de programación, Ruby tiene una lista de palabras que están
reservadas (es decir, que no pueden ser invocadas como nombre de una variable, por
ejemplo) para su uso exclusivo. La siguiente tabla muestra las palabras que caen en dicha
La expresión def h inicia la definición del método. Le dice a Ruby que estamos definiendo
un método, anteriormente: puts "Hola Mundo". Finalmente, la última línea end le dice a Ruby
que terminamos de cuyo nombre es h. La siguiente línea es el cuerpo del método, la misma
Ejemplo 1
Ejemplo 2
Ejemplo 3
Ejecutar un método en Ruby es tan fácil como sólo mencionar su nombre. Si el método no
requiere parámetros para ejecutarse, eso es todo lo que necesitas. Puedes agregar paréntesis
Bloques
Los bloques de Ruby son también vistos como una fuente de gran flexibilidad. El
desarrollador puede anexar una cláusula a cualquier método, describiendo cómo debe actuar.
para los recién llegados a Ruby que vienen de otros lenguajes imperativos como PHP o
Visual Basic.
Los métodos pueden llevar bloques de código para su ejecución. El método recibe el
Creación de páginas web: Principalmente Ruby se conoce porque es uno de los lenguajes
de programación más usado para la creación de páginas web y fue uno de los motivos por lo
que se dio a conocer este lenguaje a través de “RUBY ON RAILS” que es un framework de
Hay muchas herramientas creadas con Ruby que son muy conocidas a nivel mundial para
Android, IOS y algunas para Windows, pero principalmente para Android e IOS.
1. Twitter. Quizá sea una “trampa” en la lista, pero había que mencionar a esta enorme red social.
Millones de usuarios de todo el mundo la utilizan a diario. En sus inicios, se creó sobre Ruby,
aunque a día de hoy cambió a Scala para gestionar mejor la gran cantidad de mensajes en tiempo
real.
3. Hulu. Es un sitio web de pago, apoyado por publicidad, streaming de programas de televisión y
películas de NBC, FOX, y muchas otras redes y estudios. Actualmente sólo se ofrecen a los
usuarios en los Estados Unidos. Es una plataforma muy parecida a Netflix o HBO.
6. Soundcloud. El YouTube del sonido. La plataforma sueca gestiona 175 millones de visitas
únicas al mes y la subida de doce horas de audio por minuto, y se ha convertido en una referencia
tanto para los usuarios como para los creadores. Originalmente fue escrita en Ruby, pero al igual
que Twitter más tarde adoptó Scala para ciertas partes de la aplicación, aunque R sigue presente
en el código de SoundCloud.
DESVENTAJAS DE RUBY
Comunidades y soporte
Lenguajes como PHP y C#, dos de los lenguajes de codificación más populares, tienen
amplias comunidades de soporte en línea y libros publicados. Por otro lado, la comunidad de
soporte de Ruby no es tan grande como las comunidades de PHP. Los libros sobre
programación Ruby tampoco están tan extendidos como los de C#. Según msdn.com, un blog
Procesamiento lento
Varios sitios web a los que regularmente ponen a prueba los tiempos de respuesta de los
programación más lentos. Tim Bray, un desarrollador canadiense que fue director de
tecnologías web de Sun Microsystems desde el 2004 al 2010, fue citado en 2008 diciendo que
Ruby es demasiado lento, y puede ser 20 veces más lento que Java al procesar.
Nuevo lenguaje
desventaja porque tienen que tomarse un tiempo considerable sólo en aprender el lenguaje
antes de usarlo. Dado que el aprendizaje Ruby es como aprender otro idioma, muchos
Desarrollo
Desde julio de 2011, la última versión de Ruby es la versión 1.9, con algunas
y las actualizaciones son más lentas. PHP, se desarrolló dos años más tarde que Ruby, y ya se
veces al año. Ruby on Rails, la plataforma de programación basada en la web con Ruby, ni
VENTAJAS DE RUBY
1. Ruby quiere facilitarte la vida. Su filosofía se basa en el Don’t repeat yourself (DRY) y
la Convención sobre Configuración. El objetivo, no repetir código una y otra vez de manera
innecesaria, ni preocuparte por especificar cada pequeño detalle a través de un sin fin de
archivos de configuración.
2. Te permite codificar lo que es específico de tu app, dejando las demás cosas triviales y
rápida y con mucho menos esfuerzo que con otros frameworks o tecnologías. Es uno de los
4. Los perfiles senior y junior de Ruby on Rails son de los más solicitados para trabajar en
promedio para un desarrollador de Ruby está en más de $90K al año y es el cuarto lenguaje
5. Por tratarse de un framework gratuito y con el que puedes escribir menos código, el
WEBGRAFÍA
1. Ruby https://es.wikipedia.org/wiki/Ruby#:~:text=Soporta%20introspecci
%C3%B3n%2C%20reflexi%C3%B3n%20y%20metaprogramaci%C3%B3n,interfaz
%20de%20la%20clase%20padre
2. Qué es Ruby y sus características, escrito por Julio García el 20 de Octubre de 2017.
https://openwebinars.net/blog/que-es-ruby/
%C3%B3n_Ruby
4. Ruby en 20 minutos.
https://www.ruby-lang.org/es/documentation/quickstart/4/
https://es.slideshare.net/AlexanderEcheverra/lenguaje-de-programacin-ruby-
69781302
6. Las desventajas de programar con Ruby, Por Steve Johnson.
https://techlandia.com/desventajas-programar-ruby-info_205683/
https://justcodeit.io/8-razones-anadir-ruby-on-rails-a-tu-arsenal/
https://programacion.net/articulo/los_5_mejores_ides_para_ruby_on_rails_1077