Está en la página 1de 14

República Bolivariana de Venezuela

Ministerio del Poder Popular para la Educación


UPTT “Mario Briceño Iragorry”
Trujillo Edo. Trujillo

RUBY

Alumno: José Rojas


C.I: 29.916.601
Trayecto: 2 Trimestre: 1 Sección: 7
Prof. Juan Villegas
Acreditable II
1. ¿QUÉ ES RUBY?

Ruby es un lenguaje de programación interpretado, reflexivo y orientado a


objetos. 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.
2. ORIGEN Y HISTORIA DE RUBY.
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 (en español rubí)
como broma aludiendo al lenguaje de programación Perl (perla en inglés). La
última versión estable de la rama 1.8 es la 1.8.7_p248, de la rama 1.9 es la
1.9.2_p180. La versión en 1.9 que incorpora mejoras sustanciales en el
rendimiento del lenguaje, que se espera queden reflejadas en la próxima versión
estable de producción del lenguaje, Ruby 1.9.0.1 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 esas 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 dio a conocer como Ruby 1.9
3. ¿QUIEN CREO RUBY?
El lenguaje ruby fue creado por el programador japonés Yukihiro "Matz"
Matsumoto, fue un programador autodidacta hasta el final de la secundaria. Se
graduó en ciencias de la computación en la universidad de Tsukuba, donde
ingresó al departamento de investigación sobre lenguajes de
programación y compiladores.
4. VENTAJAS DE RUBY.
 Su propósito es general: Ruby está diseñado para usarse para cualquier
fin como para aplicaciones de servicio web, procesamiento de datos en
Backend, clientes de correo electrónico, aplicaciones de red y muchas
más funciones.

 Es ágil: Su agilidad permite que las aplicaciones desarrolladas funcionen


con rapidez y sin presentar muchos errores. Se ha convertido en uno de
los favoritos, debido a que su lenguaje tiene la capacidad de desarrollar
una variedad de apps y es muy sencillo de entender. Por lo tanto, es ideal
para principiantes.

Es dinámico y flexible, ya que ofrece algunas estrategias como la meta-


programación, que permite escribir programas que manipulan a otros.

 Es natural: Increíblemente, Ruby ha sido un cambio en la perspectiva del


lenguaje de programación, debido a que es bastante natural, pero no es
simple. Esto se intentó con la intención de asemejarlo un poco más a la
vida real. Puede resultar sencilla en cuanto a la apariencia, pero es muy
compleja por dentro.

Cabe destacar que, su combinación de legibilidad se usa con facilidad,


pero sin dejar de tener una gran complejidad técnica. Permite realizar
muchas cosas con tan solo pocas líneas de códigos.

Asimismo, se ha interpretado que está lejos de ser como una máquina, es


muy cercano al inglés, por lo que se necesita básicamente es escribir en
este idioma.

 Es multiplataforma: Ruby tiene una gran compatibilidad con diferentes


plataformas, por lo que puede ser aplicado en sistemas operativos como
Linux o Windows.

 Es flexible: Otro de los beneficios que ofrece Ruby es que tiene un


lenguaje muy flexible, debido a que permite toda clase de cambios que
desee hacer el usuario libremente. Todas sus partes pueden ser
redefinidas o eliminadas sin límites. Además, es posible añadir
funcionalidad de partes que ya están existentes para facilitar al
desarrollador.
 Es reciente: Algo que lo caracteriza entre las demás alternativas de
programación, es que este es mucho más nuevo e innovador, debido a
que fue creado en 1995. Por lo tanto, se convierte en el más reciente en
el universo de programadores.

Además, debido a todos los beneficios que ofrece Ruby, cuenta con una
extensa comunidad detrás que respaldan y lo defienden.

 Herramientas gratuitas: Este lenguaje para programar contiene muchas


funciones y herramientas que pueden ser utilizadas sin costo. Cabe
destacar que, junto con la característica de ser “open-source”, permite a
los usuarios poder trabajar con él con mucha facilidad, realizar
modificaciones y replicar copias sin límites.

4.1. DESVENTAJAS DE RUBY.

 Es lento: A pesar de ser ágil, se considera que es uno de los lenguajes


para programar más lentos que hay en cuanto al procesamiento.
Asimismo, se han realizado múltiples pruebas en sitios web que miden las
respuestas de los códigos que han confirmado que esta desventaja.

Además, no solo su funcionamiento no es rápido, sino que también las


actualizaciones. Algo que sí tienen otros lenguajes de programación para
las correcciones de errores.

 No es tan conocido: Hay que reconocer que este es un lenguaje de


programación poco conocido para muchos. Hay una gran cantidad de
usuarios en el mundo que todavía no saben de él y lo fácil que resulta
utilizarlo en comparación a otras alternativas.

 Requiere tiempo para familiarizarse: Al ser tan reciente y nuevo, hace


que se requiera mucho más tiempo para acostumbrarse a su
funcionamiento y las estructuras que lo componen. Cabe destacar que,
Ruby ofrece un código de codificación, por lo que es un poco más
complejo el aprendizaje, a diferencia de Perl o PHP.

Asimismo, es importante el manejo de algunas excepciones


como Python y Java, debido a que esto facilitará las correcciones de
cualquier error.
 No tiene soporte técnico: Otra de las desventajas que trae consigo Ruby
es que no tiene una comunidad o foro de atención al cliente muy
extensa como los otros lenguajes de programación. Esto es algo que
puede limitar mucho a la elección del mismo, sobre todo para aquellos
que están comenzando, ya que no hay documentaciones técnicas o libros
explicativos.

5. ¿DE DONDE VIENE EL NOMBRE RUBY?

Se le puso el nombre de "Ruby" (en español rubí) como broma aludiendo al


lenguaje de programación "Perl" (perla).

6. CARACTERISTICAS DEL LEGUAJE RUBY.


- Mejor amigo del programador.

- Es un lenguaje de propósito general, es decir, con Ruby se pueden des


arrollar todo tipo de aplicaciones diferentes: aplicaciones de servicio we
b, clientes de correo electrónico, procesamiento de datos en Backend, a
plicaciones de red, etc. Cualquier cosa que se te ocurra puedes hacerlo
con Ruby.

- 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áq
uina entendible por un ordenador, pero no existe un proceso previo de c
ompilación como en C o Java.

- Es dinámico y flexible. Con estrategias como la metaprogramación (esc


ribir programas que escriben o manipulan otros programas). Incluso se
puede utilizar el propio lenguaje Ruby para alterar el código en tiempo d
e ejecución.

- Es de alto nivel, significa que está lejos del lenguaje de máquina y es m


uy cercano al inglés, a veces parecerá que simplemente se está escribi
endo en inglés.

- Es de software libre (Open Source) y multiplataforma, se puede descar


gar totalmente gratis de la página oficial y ejecutarlo en diferentes siste
mas operativos.
- 100% Orientado a Objetos, TODO es un objeto, es decir, todo tiene un
a serie de propiedades (variables de instancia) y sobre el objeto podemo
s realizar acciones (o ejecutar métodos).

7. FILOSOFIA DE RUBY.

El creador del lenguaje, Yukihiro "Matz" Matsumoto, ha dicho que Ruby está dis
eñado para la productividad y la diversión del desarrollador, siguiendo los princi
pios de una buena interfaz de usuario. Sostiene que el diseño de sistemas nece
sita enfatizar las necesidades humanas más que las de la máquina.

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. 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. Él ha dicho que no ha aplicado el principio de menor sorpresa al
diseño de Ruby, sin embargo, la frase se ha asociado al lenguaje de
programación Ruby. La frase en sí misma ha sido fuente de controversia, ya que
los no iniciados pueden tomarla como que las características de Ruby intentan
ser similares a las características de otros lenguajes conocidos. En mayo de
2005 en una discusión en el grupo de noticias comp.lang.ruby, Matz trató de
distanciar Ruby de la mencionada filosofía, explicando que cualquier elección de
diseño será sorprendente para alguien, y que él usa un estándar personal de
evaluación de la sorpresa. Si ese estándar personal se mantiene consistente
habrá pocas sorpresas para aquellos familiarizados con el estándar.

8. INSTALACIÓN DE RUBY.

Con gestores de paquetes o herramientas de terceros, tienes varias opcione


s para instalar y gestionar Ruby.
Puede que ya tengas Ruby instalado en tu computadora. Puedes revisar den
tro de una ventana de terminal con la siguiente orden:

ruby -v
Esto debería darte la información de la versión de Ruby instalada.

Escoge un método de instalación

Hay varias maneras de instalar Ruby:

 Si lo necesitas en un sistema tipo UNIX, la manera más sencilla de instal


arlo es usando el sistema de gestión de paquetes de la distribución. Sin e
mbargo, la versión de Ruby provista puede no ser la más nueva.
 Se pueden usar los instaladores para instalar una o varias versiones de R
uby. Incluso existe un instalador para Windows.
 Los gestores te ayudan a cambiar entre varias versiones de Ruby en tu s
istema.
 Y finalmente, puedes compilar Ruby desde el código fuente.

En Windows 10, también puedes usar el subsistema de Windows para Li


nux para instalar una de las distribuciones de Linux soportadas y usar cu
alquier método de instalación disponible en ese sistema.

La lista siguiente muestra los diferentes métodos de instalación para las


diversas necesidades y plataformas.

Sistemas Gestores de Paquetes:

Si no puedes compilar tu propia versión de Ruby y tampoco quieres usar una


herramienta de terceros, puedes usar el sistema gestor de paquetes de tu sis
tema para instalar Ruby
Algunos miembros de la comunidad Ruby sienten que debes evitar gestores
de paquetes para instalar Ruby y deberías en su lugar usar herramientas ded
icadas.
Es posible que algunos gestores de paquetes importantes insten versiones a
nteriores de Ruby en lugar de la última versión. Para usar la última versión d
e Ruby, revisa que el nombre del paquete coincida con el número de versión
. O usa un instalador dedicado.

- apt (Debian o Ubuntu)

Debian GNU/Linux y Ubuntu usan el gestor de paquetes apt. Se usa de la sig


uiente manera:

$sudoapt-get installruby-full

- yum (CentOS, Fedora, or RHEL)


CentOS, Fedora, y RHEL usan el gestor de paquetes yum. Se usa de la sigui
ente manera:

$sudoyum installruby
La versión instalada es típicamente la versión de Ruby disponible en el mom
ento de liberación de la versión específica de cada distribución.

- snap (Ubuntu u otras distribuciones Linux)

Snap es un gestor de paquetes desarrollado por Canonical. Está disponible d


irectamente en Ubuntu, pero snap también funciona en muchas otras distribu
ciones de Linux. Puedes usarlo así:

$sudosnap installruby --classic

Tenemos varios canales por cada serie menor de Ruby. Por ejemplo, la sigui
ente orden cambia a Ruby 2.3:

$sudosnap switch ruby --channel=2.3/stable


$sudosnap refresh

- portage (Gentoo)

Gentoo usa el gestor de paquetes portage.

$sudoemerge dev-lang/ruby

Para instalar una versión específica, establece RUBY_TARGETS en tu archi


vo make.conf. Revisa el sitio web del Gento Ruby Project.

- pacman (Arch Linux)

Arch Linux usa un gestor de paquetes llamado pacman. Para instalar Ruby, s
olamente tienes que hacer esto:

$sudopacman -S ruby
9. EJEMPLOS DE ALGORITMOS EN RUBY:

$alfabeto_mayusculas = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

$alfabeto_minusculas = "abcdefghijklmnopqrstuvwxyz"

$longitud_alfabeto = 26

$limite_inferior_mayusculas = 65

$limite_inferior_minusculas = 97

=begin

Rotar una cadena determinadas posiciones

usando el cifrado César

@author parzibyte
La cadena es el mensaje a cifrar o descrifrar

Las rotaciones indican el número de rotaciones con el que se cifra o descifra

La orientación indica si estamos rotando hacia la derecha (codificando)

o hacia la izquierda (decodificando). Los valores pueden ser 1 o -1;

por defecto es 1 (derecha)

=end

def cesar(cadena, rotaciones, orientacion = 1)

cadena_con_rotaciones = ""

# Ir letra por letra...

for letra in cadena.chars


# Si no es una letra (es un espacio, punto, etcétera) entonces

# no la rotamos ni cambiamos, ponemos el carácter así como es

if !letra.match(/^[[:alpha:]]$/)

cadena_con_rotaciones += letra

next

end

# Suponemos que la letra es mayúscula

alfabeto = $alfabeto_mayusculas

limite = $limite_inferior_mayusculas

# Pero comprobamos y cambiamos si es necesario

if letra == letra.downcase # ¿Es minúscula?

alfabeto = $alfabeto_minusculas

limite = $limite_inferior_minusculas
end

valor_ascii = letra.ord

# Saber si rotamos hacia la izquierda o derecha, así se suma o resta


dependiendo de la orientación

rotaciones_verdaderas = rotaciones * orientacion

# Rotar

nueva_posicion = (valor_ascii - limite + rotaciones_verdaderas) %


$longitud_alfabeto

# Y ver cuál carácter está en esa posición

cadena_con_rotaciones += alfabeto[nueva_posicion]

end

# Regresar nueva cadena

cadena_con_rotaciones

end
mensaje = "Programando en Ruby desde parzibyte.me"

rotaciones = 5

puts "El mensaje original es '#{mensaje}'. Lo vamos a rotar #{rotaciones}


posiciones"

# El mensaje original es 'Programando en Ruby desde parzibyte.me'. Lo


vamos a rotar 5 posiciones

mensaje_cifrado = cesar(mensaje, rotaciones)

puts "El mensaje cifrado es '#{mensaje_cifrado}'"

# El mensaje cifrado es 'Uwtlwfrfsit js Wzgd ijxij ufwengdyj.rj'

mensaje_descifrado = cesar(mensaje_cifrado, rotaciones, -1)

puts "El mensaje descifrado es '#{mensaje_descifrado}'"

# El mensaje descifrado es 'Programando en Ruby desde parzibyte.me'

También podría gustarte