100% encontró este documento útil (1 voto)
135 vistas17 páginas

Ruby

Ruby es un lenguaje de programación creado en 1993 por Yukihiro Matsumoto. Es un lenguaje orientado a objetos, de código abierto y multiplataforma. Ruby on Rails es un popular framework para desarrollo web que ha contribuido a la popularidad de Ruby.

Cargado por

Mariat Trujillo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
135 vistas17 páginas

Ruby

Ruby es un lenguaje de programación creado en 1993 por Yukihiro Matsumoto. Es un lenguaje orientado a objetos, de código abierto y multiplataforma. Ruby on Rails es un popular framework para desarrollo web que ha contribuido a la popularidad de Ruby.

Cargado por

Mariat Trujillo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 17

Lenguaje de programación “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

Universidad del Cauca


Facultad de Ingeniería Electrónica y Telecomunicaciones

Popayán, 21 de Septiembre de 2020


HISTORIA

Ruby es un lenguaje de programación creado por el Japonés Yukihiro Matsumoto, más

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,

Smalltalk, Eiffel, Ada, y Lisp).

Desde su liberación pública en 1995, Ruby ha atraído devotos desarrolladores de todo el

mundo. En el 2006, Ruby alcanzó reconocimiento masivo, formándose grupos de usuarios

activos en las ciudades más importantes del mundo y llenando por completo las conferencias

relacionadas a Ruby. El índice TIOBE, que mide el crecimiento de los lenguajes de

programación, ubica a Ruby en la posición #13 del ranking mundial. Refiriéndose a su

crecimiento, y según ellos, “Todo indica que Ruby llegará a estar entre los 10 primeros en

menos de 6 meses”. Gran parte de su crecimiento se atribuye a la popularidad alcanzada por

aplicaciones desarrolladas con Ruby, en particular por el Framework de desarrollo web Ruby

on Rails.

Ruby es un lenguaje de programación dinámico Open Source, es decir de código libre y el

cual puedes modificar a tu gusto sin necesidad de tener una licencia. Está enfocado en la

productividad y por ello te ofrece muchísimas ventajas.

Su creador expresa que Ruby es un lenguaje de programación diseñado para la productividad

y diversión del programador siguiendo el principio de la menor sorpresa, lo que significa que

minimiza la confusión al usarlo.


En sí Ruby es un lenguaje donde todo o casi todo es tomado como un objeto, los

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

mucho más rápido.

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

igual que sus foros e innumerables recursos para aprender Ruby.

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

experimentados y no experimentados. Matz ha dicho que su principal objetivo era hacer un

lenguaje que le divirtiera a él mismo, minimizando el trabajo de programación y la posible

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

con mucha libertad viene mucha responsabilidad.

La primera versión estable de Ruby fue publicada en 1998. En ese tiempo, Ruby todavía

estaba solamente en japonés.

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

del desarrollo web.

Características de Ruby

Vamos a ver las características principales 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

enteros, booleanos, y nil).

● Manejo de excepciones: Ruby tiene una serie de clases, exception y sus hijas, que

ayudan a manejar los errores que pueden ocurrir.

● Es un lenguaje interpretado, es decir, no es compilado, se necesita que el intérprete

de Ruby evalué el código y lo traduzca en lenguaje de máquina entendible por un

ordenador, pero no existe un proceso previo de compilación como en C o Java.


● Es dinámico y flexible. Con estrategias como la meta programación (escribir

programas que escriben o manipula otros programas). Incluso se puede utilizar el

propio lenguaje Ruby para alterar el código en tiempo de ejecución.

● Es de alto nivel, significa que está lejos del lenguaje de máquina y es muy cercano al

inglés, a veces parecerá que simplemente se está escribiendo en inglés.

● Es de software libre (Open Source) y multiplataforma, se puede descargar totalmente

gratis de la página oficial y ejecutarlo en diferentes sistemas operativos.

● Iteradores y clausuras (pasando bloques de código): un bloque es una forma de

agrupar instrucciones, y sólo puede aparecer después de usar un método, el bloque

empieza en la misma línea que usa el método.

Entornos de desarrollo para Ruby

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

útiles en ciertas situaciones, proporcionan una integración adicional a otros lenguajes o

entornos de desarrollo.

Aquí hay una lista:

● JRuby es Ruby encima de la JVM (Máquina Virtual Java), utilizando los

compiladores JIT de optimización de JVM, recolectores de basura, hilos concurrentes,

ecosistema de herramientas y una vasta colección de bibliotecas.

● Rubinius es “Ruby escrito en Ruby”. Construido sobre LLVM (Máquina Virtual de

Nivel Bajo) la cual también se están construyendo en otros idiomas.

● TruffleRuby una implementación de Ruby de alto rendimiento sobre GraalVM.


● mruby es una implementación ligera del lenguaje Ruby que se puede vincular e

incrustar dentro de una aplicación. Su desarrollo es liderado por el creador de Ruby,

Yukihiro “Matz” Matsumoto.

● IronRuby es una implementación “estrechamente integrada con el marco de

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

desarrolladores ya que favorece la convención antes que la configuración.

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

idiomas debido a varias características y beneficios, como la naturaleza orientada a objetos de

Ruby, el lenguaje de programación que forma su base y la gran colección de código fuente

abierto que la Comunidad Rails tiene para ofrecer.

Los 5 mejores entornos de desarrollo (IDE) para Ruby on Rails

1. Aptana Studio

Aptana Studio 3 es una herramienta de desarrollo de código abierto para programadores

que tengan experiencia en Ruby. Permite a los desarrolladores probar sus aplicaciones web

usando un único entorno.

2. Net Beans
NetBeans es un IDE de código abierto y una plataforma que ayuda a los desarrolladores a

implementar rápidamente páginas web, aplicaciones de escritorio y aplicaciones para

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,

Groovy and Grails y C / C ++.

3. RubyMine

JetBrains RubyMine IDE proporciona un completo editor de código Ruby el cual ofrece

asistencia para la codificación inteligente, la refactorización de código inteligente y otras

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

desarrollador de Ruby necesita en un entorno de desarrollo, además cuenta con un soporte

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

proporciona al desarrollador un entorno libre de distracciones y molestias.

5. Arcadia

Arcadia es un entorno de desarrollo (IDE) para Ruby escrito en Ruby, ofrece la edición de

secuencias de comandos, ejecución y depurado de código, navegación entre carpetas del

proyecto, resaltado de sintaxis, autocompletado de código, cross-platform en cualquier

sistema donde están instalados Ruby, tcl-tk y mucho más.


Sintaxis básica - Ejemplos de código

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

forma diferente que Python, la indentación no es significativa.

Viendo todo como un objeto

En Ruby, casi todo es un objeto. Se le puede asignar propiedades y acciones a toda

información y código. La programación orientada a objetos llama a las propiedades variables

de la instancia y las acciones son conocidas como métodos. La orientación a objetos pura de

Ruby se puede ver en este código.

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

aplicables a todo Ruby.

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

alcance de las mismas.

● var puede ser una variable local

● @var es una variable de instancia.

● $var es una variable global.

Estos detalles mejoran la legibilidad permitiendo que el desarrollador identifique fácilmente

los roles de las variables. También se hace innecesario el uso del self. como prefijo de todos

los miembros de instancia

Símbolos

:nombre_símbolo

● Cadenas no mutables

● Símbolos son diferentes a string

● Empiezan con “:”

● No pueden cambiar su valor

Beneficios de los símbolos tienen un performance mayor que el de un string.

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

mucho mas rapida


Palabras reservadas

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

categoría, dando una breve explicación de cada una.


Métodos

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

expresión que vimos definir el método.

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

vacíos, pero no son necesarios.

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.

La cláusula es llamada bloque y se ha convertido en una de las más famosas funcionalidades

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

bloque de código y lo ejecuta con el comando yield .


USOS DE RUBY

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

aplicaciones web que inició hace 10 años.

Hay muchas herramientas creadas con Ruby que son muy conocidas a nivel mundial para

facilitar el entendimiento y reducir la complejidad. Además de acelerar el proceso de

aprendizaje y rendimiento una de las cuales son:

RubyMotion: Es una herramienta que compila un código a distintas aplicaciones, como

Android, IOS y algunas para Windows, pero principalmente para Android e IOS.

JRuby: Para crear interfaces gráficas como programas de escritorio.

7 DE SUS PÁGINAS WEB BASADAS EN RUBY

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.

2. Airbnb. Se trata de una empresa y una plataforma de software dedicada a la oferta de


alojamientos a particulares y turísticos. El nombre es un acrónimo de airbed and breakfast
(colchón inflable y desayuno). Airbnb tiene una oferta de más de 2.000.000 propiedades en 192
países y más de 33.000 ciudades.

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.

4. Groupon. El gigante de los descuentos a nivel mundial. Lanzado en noviembre de 2008 en


Chicago, su base está realizada en Ruby. Millones de personas de todo el mundo se benefician a
diario de los descuentos en la web.
5. Bloomberg. Fundada en 1981, es una de las mayores corporaciones del mundo dedicada al
mundo de las finanzas, con su propia agencia de noticias y software bursátil y con más de 15.000
empleados, una de las empresas más grandes que recurre a Ruby.

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.

7. Github. No podíamos olvidarnos de la mayor red social de desarrolladores a nivel mundial. El


repositorio de código de Github está construido sobre Ruby, tiene más de 10 millones de usuarios
y almacena más de 25 millones de repositorios.

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

de Microsoft Corporation, a partir de 2006, alrededor de 400 libros sobre C# estaban en el

mercado, mientras que relacionados a Ruby sólo la cantidad de 50.

Procesamiento lento

Varios sitios web a los que regularmente ponen a prueba los tiempos de respuesta de los

lenguajes de programación, describen a Ruby frecuentemente como uno de los lenguajes de

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

En comparación con otros lenguajes de programación, Ruby es bastante nuevo y tiene su

propio lenguaje de codificación único. Algunos programadores consideran esto una

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

programadores prefieren quedarse con lo que ya saben para programar.

Desarrollo

Desde julio de 2011, la última versión de Ruby es la versión 1.9, con algunas

actualizaciones. En comparación con otros lenguajes de programación, el desarrollo de Ruby

y las actualizaciones son más lentas. PHP, se desarrolló dos años más tarde que Ruby, y ya se

encuentra en su versión 5.3, con actualizaciones y correcciones de errores liberadas varias

veces al año. Ruby on Rails, la plataforma de programación basada en la web con Ruby, ni

siquiera es compatible con la versión 1.9 de Ruby.

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

aspectos de configuración en manos del propio framework. Ruby te proporciona un workflow

para estructurar perfectamente tu Código.


3. Ruby es la mejor opción si quieres crear aplicaciones o servicios REST de manera

rápida y con mucho menos esfuerzo que con otros frameworks o tecnologías. Es uno de los

lenguajes más completos y prácticos para desarrollar aplicaciones Web.

4. Los perfiles senior y junior de Ruby on Rails son de los más solicitados para trabajar en

startups y empresas consolidadas, en España y en el extranjero. Según gooroo.io, el salario

promedio para un desarrollador de Ruby está en más de $90K al año y es el cuarto lenguaje

con más demanda en Angellist.

5. Por tratarse de un framework gratuito y con el que puedes escribir menos código, el

coste de desarrollar una aplicación puede verse reducido considerablemente.

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/

3. Lenguaje de Programación Ruby. https://www.ecured.cu/Lenguaje_de_Programaci

%C3%B3n_Ruby

4. Ruby en 20 minutos.

https://www.ruby-lang.org/es/documentation/quickstart/4/

5. Lenguaje de Programación Ruby, Alexander Echeverría, Student at Universidad de

Panamá on Computing Science Engineering.

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/

7. Las 8 razones para añadir Ruby on Rails a tu arsenal.

https://justcodeit.io/8-razones-anadir-ruby-on-rails-a-tu-arsenal/

8. Los 5 mejores IDEs para Ruby on Rails.

https://programacion.net/articulo/los_5_mejores_ides_para_ruby_on_rails_1077

También podría gustarte