0% encontró este documento útil (0 votos)
21 vistas6 páginas

Resumen Programacion en Ruby

resumen de ruby
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 PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
21 vistas6 páginas

Resumen Programacion en Ruby

resumen de ruby
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 PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

LENGUAJE DE PROGRAMACION RUBY

ANTECEDENTES

Ruby es un lenguaje de programación dinámico y de código abierto que fue creado a mediados de
la década de 1990 por Yukihiro "Matz" Matsumoto en Japón, con el objetivo de combinar la
programación funcional con la orientación a objetos.

creó Ruby buscando un lenguaje que se ajustara a sus necesidades. Buscaba que fuera
sintácticamente simple, completamente orientado a objetos y portátil. Al no encontrar algo que se
ajustara a estas características, decidió crear un lenguaje propio. Matz liberó la primera versión
pública de Ruby (0.95) en 1995, aunque tenía trabajando en ella desde 1993

CARACTERÍSTICAS

Ruby se destaca por su sintaxis legible y su enfoque en la productividad del desarrollador. Está
inspirado en varios lenguajes de programación, como Perl, Smalltalk y Lisp, y combina características
de programación orientada a objetos con características de programación funcional

Aquí tienes la información organizada y presentada de manera más clara:

Características de Ruby

 Sintaxis Legible: Ruby se destaca por su sintaxis clara y fácil de leer, lo que mejora
la productividad del desarrollador.
 Inspiración de Otros Lenguajes: Se inspira en varios lenguajes de programación,
como Perl, Smalltalk y Lisp.
 Programación Orientada a Objetos: Combina características de programación
orientada a objetos con elementos de programación funcional.
 Tipado Dinámico: Ruby utiliza un sistema de tipado dinámico, lo que permite mayor
flexibilidad en el manejo de datos.
 Sin Puntos y Comas: La sintaxis de Ruby no requiere el uso de puntos y comas al
final de las líneas.
 Todo es un Objeto: En Ruby, todo, incluidas las clases y los módulos, es considerado
un objeto.
 Reescritura del Lenguaje: Los desarrolladores pueden modificar o extender el
lenguaje según sus necesidades.
 Altamente Productivo: Ruby está diseñado para maximizar la productividad del
desarrollador.
 Interpretado: Es un lenguaje interpretado, lo que significa que el código se ejecuta
directamente sin necesidad de un proceso de compilación.

PRINCIPALES USOS

Desarrollo web: especialmente en combinación con el framework Ruby on Rails.

Automatización de tareas: la sintaxis legible de Ruby y su capacidad de manipular archivos y realizar


operaciones en el sistema facilitan la automatización de procesos repetitivos.
Prototipado rápido: Es una excelente opción para el prototipado rápido de aplicaciones. Permite a
los desarrolladores crear con rapidez prototipos funcionales para probar ideas y conceptos.

Análisis de datos: cuenta con bibliotecas y frameworks, como Rubygems y SciRuby, que facilitan el
análisis y la manipulación de datos.

Desarrollo de juegos: especialmente para juegos independientes y juegos en 2D. Las bibliotecas
como Gosu proporcionan capacidades gráficas y de entrada para el desarrollo de juegos en Ruby.

Automatización de pruebas: las bibliotecas como RSpec y Cucumber permiten escribir pruebas
automatizadas en un formato legible; esto facilita la creación y ejecución de pruebas de calidad.

OBJETIVOS

Ruby es un lenguaje de programación centrado principalmente en la simplicidad y la productividad,


diseñado con el objetivo de lograr que la programación sea más fácil y divertida, fomentando la
creatividad y la eficiencia en el desarrollo de software

VENTAJAS DE RUBY

1. Es de propósito general, ya que está diseñado para usarse para cualquier tipo de
aplicaciones de servicio web
2. Es ágil, ya que permite que las aplicaciones desarrolladas funcionen con rapidez y sin
presentar
3. demasiados errores
4. Es dinámico y flexible, ya que ofrece algunas estrategias como la meta-programación, que
permite escribir programas que manipulan a otros
5. Es natural, Ruby ha sido un cambio en la perspectiva del lenguaje de programación, debido
a que es bastante natural, pero no es simple.
6. Contiene un lenguaje muy dinámico, debido a que permite toda clase de cambios que
desee hacer el usuario libremente
7. Algo que lo caracteriza entre las demás alternativas de programación, es que es nuevo e
innovador
8. Contiene una gran diversidad de funciones y herramientas que se pueden utilizar de forma
gratuita

DESVENTAJAS DE RUBY

1. Velocidad de ejecución: Ruby es conocido por ser un lenguaje interpretado, lo que puede
resultar en una menor velocidad de ejecución en comparación con lenguajes compilados
como C++ o Java
2. Consumo de memoria: El consumo de memoria de Ruby es relativamente alto en
comparación con otros lenguajes.
3. Escalabilidad: Aunque Ruby ofrece una gran flexibilidad y productividad para el desarrollo
web, puede enfrentar problemas de escalabilidad en aplicaciones de gran tamaño y tráfico
intenso
4. Documentación: Aunque la comunidad de Ruby es bastante activa y hay una amplia
cantidad de recursos disponibles, la documentación puede no ser tan extensa o clara como
en otros lenguajes

TIPOS DE DATOS

Numeros (Numeric)

Integer: Representa números enteros

Float: Representa números decimales

Cadena de Texto (String) Representan secuencias de caracteres. Las cadenas en Ruby pueden
definirse usando comillas simples o dobles.

Booleanos (Boolean) Este tipo de dato solo tiene dos posibles valores: true (verdadero) o false
(falso). Se utiliza para representar condiciones lógicas.

Arreglos (Array) Los arreglos son listas ordenadas de elementos, que pueden ser de cualquier tipo
de dato. Los elementos se almacenan entre corchetes [] y se separan por comas

Hashes (Hash) Los hashes son colecciones de pares clave- valor, donde cada clave está asociada a
un valor. Se definen con llaves {} y las claves pueden ser cualquier tipo de dato.

Nil nil es un valor especial que representa "nada" o "vacío". Es similar a null en otros lenguajes de
programación.

Rango (Rangue) Los rangos representan un intervalo de valores, y son útiles para iteraciones o
verificaciones de inclusión. Se definen con dos puntos .. o tres puntos ... (excluye el último valor).

Numeros racionales (Rational)

Representan números racionales (fracciones), como 3/4.

Numero complejos (Complex)

Representan números complejos, que incluyen una parte real y una imaginaria

DECLARACIÓN DE VARIABLES

En Ruby, simplemente asignas un valor a una variable para declararla. No es necesario especificar
el tipo de dato, ya que Ruby lo detecta automáticamente:

Reglas para las variables:

Deben comenzar con una letra minúscula o un guion bajo (_). Son sensibles a mayúsculas y
minúsculas.

Se pueden cambiar dinámicamente de un tipo a otro:

ENTRADA Y SALIDA EN RUBY

Entrada
gets: Permite recibir entradas del usuario desde la consola. Lo que se ingresa siempre será una
cadena (String).

Para eliminar el salto de línea que agrega gets al final de la entrada, se usa chomp.

Salida de Datos

pust: imprime el valor con un salto de linea

print: imprime el valor sin un salto de línea

Conversión de Tipos de Datos

Convertir de String a Integer: to_i

Convertir de String a Float: to_f

En Resumen

puts: Imprime y agrega un salto de línea. print: Imprime sin agregar un salto de línea. gets: Recibe
entrada del usuario (siempre como una cadena).

chomp: Elimina el salto de línea de la entrada de gets.

Conversiones: to_i (a entero), to_f (a flotante),

to_s (a cadena).

CONCEPTOS CLAVE DE POO EN RUBY

Clase: Es un molde o plantilla a partir de la cual se crean objetos. Define las características (atributos)
y el comportamiento (métodos) que los objetos de esa clase

Objeto: Es una instancia de una clase. Un objeto tiene atributos (datos) y métodos (funcionalidades).

Atributos: Son las propiedades o características que pertenecen a un objeto. En Ruby, los atributos
se definen usando variables de instancia (que comienzan con @).

Métodos: Son las acciones o comportamientos que un objeto puede realizar. En Ruby, los métodos
se definen con def.

Encapsulamiento: Es el principio que sugiere que los detalles internos de los objetos (atributos y
métodos) deben estar ocultos o protegidos. Se puede controlar el acceso a esos atributos usando
getters y setters.

Ruby ofrece los métodos attr_accessor, attr_reader, y attr_writer para manejar el acceso a los
atributos:

Herencia: Es el mecanismo que permite que una clase herede características y comportamientos de
otra clase. Esto ayuda a reutilizar código.

Polimorfismo: Es la capacidad de los objetos de diferentes clases de responder de manera diferente


al mismo método. Esto se logra sobreescribiendo métodos en clases hijas.
Clase: Define la estructura y el comportamiento de los objetos. Objeto: Instancia de una clase.

Atributos: Datos o propiedades de un objeto. Métodos: Comportamientos o acciones de un objeto.

Encapsulamiento: Controla el acceso a los atributos y métodos. Herencia: Reutilización de código


entre clases mediante la relación de clase padre e hija.

Polimorfismo: La habilidad de sobrescribir métodos para que diferentes objetos respondan de


manera única.

FRAMEWORK BASADO EN RUBY

Sinatra es un framework minimalista para el desarrollo web basado en el lenguaje de programación


Ruby. A diferencia de otros frameworks como Rails, que incluyen muchas herramientas
preconfiguradas, Sinatra es simple, ligero y flexible, lo que lo hace ideal para proyectos pequeños o
APIs donde no se necesita toda la funcionalidad de un framework más pesado.

Características

Ligero y minimalista: Sólo incluye lo necesario para manejar solicitudes HTTP.

Flexibilidad: No impone una estructura estricta del proyecto, lo que permite mucha libertad en
cómo organizar el código.

Rutas sencillas: Permite definir rutas fácilmente para manejar diferentes tipos de solicitudes HTTP
(GET, POST, etc.).

Integración fácil con otros sistemas: Puedes integrar fácilmente otros componentes, como bases
de datos, autenticación, entre otros.

Camping es otro framework de desarrollo web basado en Ruby, pero es mucho más pequeño y
minimalista en comparación con otros frameworks como Ruby on Rails o incluso Sinatra. Está
diseñado para tener un núcleo pequeño, pero ser lo suficientemente potente para manejar
aplicaciones web completas

Extremadamente ligero: Todo el framework está diseñado para ocupar menos de 4 KB de código.
Es un framework minimalista por excelencia.

Completamente basado en Ruby: Es compatible con el ecosistema de Ruby y te permite crear


aplicaciones web usando principios de programación orientada a objetos.

Estructura inspirada en Rails: Aunque es minimalista, Camping se inspira en Rails y sigue algunos
de sus principios, como el uso de controladores, vistas y modelos, pero en una forma mucho más
compacta.

Simplicidad en la organización: Permite escribir aplicaciones web en un solo archivo, sin la


necesidad de generar estructuras complejas de directorios, lo cual es útil para proyectos pequeños

Ramaze es un framework ligero, flexible y modular que te permite construir aplicaciones web en
Ruby de manera sencilla. Si bien no incluye tantas herramientas preconfiguradas como Rails, es muy
útil para aquellos que buscan un framework más minimalista pero aún completo. Su soporte para
múltiples motores de plantillas y ORMs lo hace adecuado para aplicaciones personalizadas o ligeras.
Goliath es una excelente opción para aplicaciones web que requieren manejar muchas conexiones
concurrentes o para APIs que necesitan responder de forma rápida y eficiente. Gracias a su
arquitectura no bloqueante basada en EventMachine, Goliath es particularmente adecuado para
aplicaciones de alto rendimiento, como microservicios, APIs RESTful, servicios de streaming en
tiempo real y otras aplicaciones que requieren un manejo eficiente de la concurrencia.

Hanami es un framework web ligero y modular que se enfoca en la simplicidad, la arquitectura


orientada a dominios y la separación de responsabilidades. Esto lo convierte en una excelente
opción para desarrolladores que buscan una alternativa más ligera y estructurada a frameworks
como Ruby on Rails, con mejor rendimiento y modularidad.

También podría gustarte