trabajo rubi

37
FUNDAMENTOS DE PROGRAMACION PROYECTO DE INVESTIGACION ► CICLO Y AULA II - A101 LENGUAJ E DE PROGRAM ACION RUBY ► INTEGRANTES Edgardo Mamani Quispe Isaac Vargas Allende Jhonny Medina Jorge Najarro Quispe Rafael Hermenegildo Urpe Luis Garcia Chavarria Jhonny

Upload: oscarh95

Post on 07-Feb-2016

53 views

Category:

Documents


0 download

DESCRIPTION

trabajo rubi

TRANSCRIPT

Page 1: trabajo rubi

FUNDAMENTOS DE PROGRAMACION

► DOCENTE

PROYECTO DE INVESTIGACIONLENGUA

JE DE PROGRAMACION RUBY

► CICLO Y AULA

II - A101

Robert Roy Saavedra Jimenez

► INTEGRANTES

Edgardo Mamani Quispe Isaac Vargas Allende Jhonny Medina Jorge Najarro Quispe Rafael Hermenegildo Urpe Luis Garcia Chavarria Jhonny

Page 2: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

2 | P á g i n a

Dedicamos el presente trabajo a nuestros padres que cada día se esfuerzan más para darnos lo mejor. Al docente por tomarnos en cuenta siempre cuando necesitamos ayuda de cualquier índole, y a los compañeros de estudio por su ayuda vital para la confección de este trabajo, que Dios los bendiga a todos.

DEDICATORIA

Page 3: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

INDECI

INTRODUCCION 1

HISTORIA 2

DEFINICION DE LOGARITMO 3

DEFINICON DE LENGUAJES DE PROGRAMACION 4

DEFINICION DE LENGUAJE DE PROGRAMACION RUBY 5

¿PORQUE USAR RUBY? 5.1

CARACTERISTICAS DEL LENGUAJE 6

RUBY DESDE OTROS LENGUAJES 7

HACIA RUBY DESDE C 8

HACIA RUBY DESDE JAVA 9

HACIA RUBY DESDE VISUAL BASIC 10

¿QUE PODEMOS HACER CON RUBY? 11

PROYECTO BASECAMP 12

PROYECTO ODEO 13

PROYECTOS DE ESCRITORIO 14

TECNOLOGIAS RELACIONADAS 15

RUBY GEMS 16

RUBY ON-RAILS 17

SOFTWARE LIBRE 18

PROBAR RUBY 19

INSTALAR RUBY 20

INSTALAR RUBY EN WINDOWS 21

INSTALAR RUBY EN LINUX 22

CONOCER EL ENTORNO 23

¿DONDE OBTENER AYUDA? 24

NUESTRO PRIMER PROGRAMA 25

FUENTES DE INFORMACION 26

RECOMENDACIONES Y CONCLUSIONES 27

3 | P á g i n a

Page 4: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

INTRODUCCIÓN

Antes de comenzar con un lenguaje especifico, siempre es conveniente familiarizarnos con los conceptos básicos. La razón principal para aprender un lenguaje y programar es utilizar la computadora como una herramienta para resolver problemas.

Toda resolución de un problema supone una serie de frases o pasos, entre los cuales podemos encontrar los siguientes:

Análisis del problemaDiseño del algoritmoConversión del algoritmo a un programaEjecución del programa

4 | P á g i n a

Page 5: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

HISTORIA

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, 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.

Como lenguaje multiplataforma, Ruby ha sido portado a distintos sistemas operativos y arquitecturas. Esto significa que si tú desarrollas un programa en un PC (por ejemplo), será posible ejecutarlo en otra máquina distinta como es un MAC (por poner otro ejemplo).

5 | P á g i n a

Page 6: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

DEFINICION DE UN ALGORITMO

La palabra algoritmo proviene de Mohammed al-Khowarizmi, un matemático persa que vivió durante el siglo IX. Este matemático enunció un conjunto de reglas determinadas con el fin realizar la operaciones básicas de suma, resta, multiplicación y división. Más tarde el apellido fue traducido al latín, y la palabra algoritmo proviene allí.

Básicamente un algoritmo es un método para resolver un problema. Decimos que es un conjunto finito de operaciones bien definidas y ordenadas que permiten hallar la solución a un problema.

Esta lista de pasos para la resolución es luego transferida, en nuestro caso, a un conjunto de instrucciones capaces de ser analizadas y ejecutadas por un procesador o automatizadas de alguna forma dada. La traducción a instrucciones será hecha en algún lenguaje particular de programación.

Cuando trabajamos con algoritmos, debemos ser conscientes del nivel de complejidad con el que operamos. Dado el mismo problema, es posible encontrar soluciones de distinto nivel de complejidad; por la tanto, se recomienda siempre mantener el foco en la solución real.

Características de los algoritmos.Todo algoritmo debe cumplir con las siguientes características:

- Debe ser preciso y ordenada en cuanto a los pasos a ejecutar.- Debe estar definido para obtener el mismo resultado siguiendo el mismo camino.- Debe ser finito.

Como en otras, se dice que un algoritmo es eficiente cuando logra llegar a sus objetivos planteados utilizando la menor cantidad de recursos posibles, mientras un algoritmo es eficaz cuando alcanza primordial.

Un algoritmo es descrito mediante 3 partes esenciales:

Entrada, proceso y salida.

¿Cómo se representan los algoritmos?

6 | P á g i n a

Page 7: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

Para escapar de la ambigüedad presente en el idioma natural, en informática utilizamos gran cantidad de herramientas para modelar o representar los algoritmos que diseñamos para la resolución de problemas. Para presentarlo de una manera simple, decidimos que existen dos técnicas: modelos gráficos y textuales.

7 | P á g i n a

Page 8: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

Los modelos textuales aunque son frecuentemente usados, suelen presentar ciertas deficiencias, que debemos saber:

- Lenguaje no especifico del problema.- Ambigüedad.- Dificultad para representar conceptos de forma clara y simple.

Debido a algunos inconvenientes, también se utilizan (y son recomendables) las técnicas gráficas. Los gráficos permiten que el equipo de desarrollo pueda tener un lenguaje común y que entiendan el problema de un solo pantallazo. Existen muchos modelos, y una en parte esencial de todo proyecto consiste en decidir que herramientas de modelado se utilizaran.

Definición de lenguaje de programación

Son lenguajes que permiten controlar el comportamiento de una máquina. Como todo lenguaje, están integrados por un conjunto de reglas semánticas y sintácticas. Poseen una estructura determinada, elementos y expresiones.Todo lenguaje de programación tiene instrucciones que pueden ser divididas en cuatro grupos:

- Instrucciones de entrada y salida - Instrucciones aritméticas y lógicas- Instrucciones selectivas- Instrucciones repetitivas

Existen distintos tipos de lenguajes, pero la división básica se hace de acuerdo con el nivel de abstracción en el que se encuentran las sentencias. Es así como tenemos:

Lenguaje máquina

Aquellos directamente inteligibles por la máquina. Sus instrucciones son cadenas binarias, que especifican una operación y las direcciones de memoria necesarias. Un hardware posee sus propias instrucciones de lenguaje máquina.

Lenguaje de bajo nivel

Poseen instrucciones nemotécnicas, por ejemplo: ADD, SUB, DIV. El lenguaje de bajo nivel clásico es el ensamblador. Estos lenguajes también dependen del hardware.

Lenguaje de alto nivel

Son diseñados de forma tal que los programadores sean quienes pueden interpretar y leer el lenguaje de forma natural. Además no dependen de hardware particular.

8 | P á g i n a

Page 9: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

Podemos suponer que cada uno de estos tipos de lenguaje tiene inconvenientes y ventajas, en general las ventajas de alto nivel son:

- Curva de aprendizaje meno- Sintaxis y semántica similar a los leguajes humanos- Reducción de tiempos de desarrollo- Reducción de costos- Transportabilidad

Traductores de lenguaje

Vimos que con los lenguaje maquina hablamos el idioma de las computadoras mientras que al utilizar otro tipo de lenguaje que nos facilite la tarea, dejamos de entendernos con ella. Para la comunicación pueda ser posible, necesitamos de uno o más traductores. Estos aplicativos traducen los programas escritos en lenguajes de medio y alto nivel, al lenguaje máquina. Existen básicamente dos tipos de traductores que se separan en:

Compiladores

Son aplicaciones que traducen el código fuente de un programa a otro lenguaje de nvel inferior.

Intérpretes

Los interpretes también hacen una traducción a código maquina con la diferencia que es realizada línea a línea.

9 | P á g i n a

Page 10: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

Diferencia entre compiladores e intérpretes

Una vez que un programa ha sido compilado, se transforma en otro lenguaje, a diferencia del intérprete que traduce el programa cada vez que se lo ejecuta. La principal ventaja y la que está basada en lenguaje intérprete, reside en la portabilidad, ya que permite que el mismo programa pueda ser trasladado a otras plataformas, mientras que el archivo generado por el compilador solo es funcional en la plataforma de origen. La desventaja del intérprete es por lo general, su velocidad bastante menor que la de los aplicativos compilados, ya que se debe pasar por varias etapas o capas para que se comprendan

10 | P á g i n a

Page 11: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

todas sus instrucciones. Actualmente existen algunos esquemas mixtos que comparten características de los dos entre “mundos”.

Programar en Ruby

Para comenzar solo nos hace falta una computadora, algunos conceptos básicos de software y hardware, muchas ganas. La elección de un lenguaje puede ser una dificultad, pero en este caso hemos seleccionados Ruby y trabajaremos con él, no debemos de dejar nunca de lado los conceptos de teóricos que aprenderemos con el programa,

11 | P á g i n a

Page 12: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

puesto que no servirán no solo para un lenguaje en particular, si no para poder pasar de un lenguaje a otro teniendo solo los problemas de sintaxis específicos y no los baches de nivel lógico.

¿Porque programar en Ruby?

A continuación describimos algunas características particulares de este lenguaje, que indican sus ventajas y beneficios para su implementación:

- Ruby es un lenguaje de scripts, moderno y orientado a objetos, que combinan una importante flexibilidad con alta productividad.

- Incorpora algunas de las mejores características de otros lenguajes como smalltalk, java, perl.

- Su alcance parece ilimitado y hoy se encuentra presente en aplicaciones que van desde el desarrollo web hasta la simulación de ambiente complejos.

- Es un lenguaje multiplataforma que se integra perfectamente en gran cantidad de arquitecturas; puede correr, incluso, en dispositivos móviles.

- Promueve las mejores prácticas de programación sin perder usabilidad.

- Mediante su uso se puede complementar las características de la lógica imperativa con lógica funcional.

- Es altamente extensible no solo mediante librerías escritas en Ruby, si no que podemos ampliarlo usando el lenguaje C, y actualmente de forma experimental otros lenguajes.

- Posee una filosofía real de trabajo que propone algunas prácticas particulares como DRY (Don t repeat your self, en español: No te repitas) entre otras.

- Simplifica declaraciones, estructuras y modelos sin perder potencia y permite que el programador se desarrolle de forma adecuada.

- Es un lenguaje dinámico e interpretado, con las características de estos.

- Permite utilizar la más simple expresión para un programa o algoritmo; estos sumados a las actuales prácticas agiles, permiten desarrollar en forma amigable.

Si aun a pesar de los mencionados existen dudas para elegir a Ruby sirve aclarar grandes empresas y usuarios empezaron a desarrollar proyectos para utilizar a Ruby en su arquitecturas o entornos. Actualmente se destaca dos proyectos Ruby.net y JRuby. Cada uno busca interoperatividad total entre plataformas.

12 | P á g i n a

Page 13: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

13 | P á g i n a

Page 14: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

Por último es importante destacar que el desarrollo con Ruby resulta entretenido, sencillo y simple. Experimentar con Ruby permite que nuestro trabajo sea más agradable y por lo tanto más satisfactorio.

14 | P á g i n a

Page 15: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

Características del lenguaje Ruby

Ya hemos presentado el lenguaje y su historia; es tiempo de que veamos sus características y de ejemplificar algunas de ellas.

En Ruby todo es un objeto

Esto básicamente quiere decir que desde el más simple carácter hasta un conjunto de instrucciones, son instancias de clases y serán manipuladas como tales. Este concepto anula lo que normalmente denominamos tipos primitivos, ya que hasta el más trivial de los datos es un objeto.

La gran flexibilidad de Ruby

Permite que se pueda incorporar funcionalidad en sus clases base y en sus métodos. Es decir podemos modificar absolutamente todo dentro del ambiente.

En el lenguaje todo tiene un valor aunque sea nil.

Debemos saber que en principio no existen diferencias entre comandos y expresiones, dentro del entorno de programación.

Ruby utiliza solo herencia simple. Esta característica habitual en muchos lenguajes facilita el trabajo con estructuras jerárquicas. Sin embargo incorpora técnicas para poder imitar el comportamiento de la herencia múltiple de manera más sencilla. Estas las veremos más adelante, pero comprenden el uso de módulos y mixin.

Ruby utiliza un recolector de basura de alto nivel, por lo tanto libera el desarrollador de estas tareas, en algunos casos triviales.

No es de tipo estricto y no requiere declaración de variables.

Ruby permite la programación con multiplex hilos de forma independiente al sistema operativo.

Ruby desde otros leguajes de programación

Seguramente cuando elegimos un nuevo lenguaje nos interesa saber qué características en particular lo asemejan o lo diferencian del lenguaje en el cual estamos desarrollando actualmente y con el que ya estamos familiarizados. Para esto proponemos las comparaciones que se encuentran a continuación.

15 | P á g i n a

Page 16: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

Hacia Ruby desde C

Ruby está enteramente desarrollado en C. las similitudes que posee Ruby con C no son demasiadas en la flexibilidad de trabajo que obtenemos con él, sin embargo podemos enumerar algunas: la mayoría de los operadores, el tratamiento de algunas cadenas y la sensación de estar a cargo de lo se desarrolla.

Entre otras cosas como Ruby es interpretado debemos esperar tiempo de respuestas bastante mayores que los que obtenemos con C. sin embargo gozamos de algunas mejoras como el excelente recolector de basuras y la posibilidad de seguir operando de forma procedimental. Esta opción no evita de qué fondo estemos trabajando con objetos, otras diferencias con respecto a C son las posibilidades que se nos brinda para el desarrollo web.

Una característica deseada por los desarrolladores de C es que Ruby resulta fácilmente extensible a partir de módulos que puedan estar enteramente desarrollados en C a pesar de actuar como si lo estuvieran en Ruby. Esta particularidad, sumada a la facilidad con que podemos solucionar problemas de software hace de Ruby una excelente elección.

Hacia Ruby desde Java

Ruby actualmente cuenta con una creciente popularidad, es común que se discutan las ventajas y desventajas frente a otro lenguaje mejor posicionando como Java o C#. Los seguidores de estos marcaran como primera falencia de Ruby su velocidad; es cierto que en este aspecto todavía queda mucho campo por recorrer.

Pero debemos destacar que también es el mismo motivo que utilizara un desarrollador de C++ para desacreditar a esos lenguajes. Una vez mencionado este aspecto, podemos decir que todo desarrollador de java se encontrara con muchas similitudes, como la utilización de objetos de tipiado estricto, la existencia de métodos públicos, privados y protegidos; utilización de Rdoc para la documentación (similar a javaDoc).

Entre la diferencias podemos marcar: la necesidad de métodos para acceder a todo (las variables de instancia son privadas), todo esto es un objeto y no existe la declaración de tipo de datos.

Hacia Ruby desde Visual Basic

Esta comparación entre lenguajes de diametralmente opuestos es útil para conocer que Ruby pueda ser en algunos casos tan productivos o más que VB, que con sus accesibles herramientas y su entorno es un completo RAD. Las practicas de Ruby y sus concesiones le serán familiares a los desarrolladores de VB, que obtendrán una curva de aprendizaje similar.

16 | P á g i n a

Page 17: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

¿Qué podemos hacer con Ruby?

Hemos mencionado que a partir de ruby podemos desarrollar todo tipo de aplicaciones, también es cierto que si recurrimos a los buscadores mas populares, veremos que el impacto real del lenguaje se da en el ámbito web. A continuación mencionaremos algunos proyectos de distinto tipo para poder observar el alcance del lenguaje, aunque pronto veremos que no se agota aquí.

Proyecto Basecamp

Es un gestor y organizador para trabajo en equipo. Esta catalogada como una de las mejores opciones para la colaboración entre equipos o personas. Resulta un gran proyecto que utiliza Rails como arquitectura y es de lo más representativos de la arquitectura Rails.

17 | P á g i n a

Page 18: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

Proyecto Odeo

Se trata de un red social basa en el intercambio de música. Este gran portal esta enteramente desarrollado con Rails y aloja mas de 1000 canales de música y mas de 1.000.000 de archivos de audio y sigue en crecimiento.

18 | P á g i n a

Page 19: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

Proyecto de escritorio

En este caso veremos algunas imágenes de proyecto Ruby haciendo uso de librerías para generar GUI, para aplicaciones de escritorio multiplataforma.

19 | P á g i n a

Page 20: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

Existen gran cantidad de comunidades que desarrollan listados de actualizaciones frecuente que nos muestran los distintos proyectos que existen y que utilizan alguna de las tecnologías relacionadas con Ruby. Una de las más importantes es RubyForge.

Tecnologías relacionadas

En la actualidad existe cada vez más la tendencia a integrar herramientas y plataformas, los lenguajes de programación deben dotarnos de características avanzadas, capaces de facilitar nuestro trabajo. Ruby se integra a la perfección con últimas tecnologías, como base de datos, XML, HTML y distribución de paquetes entre otras.

20 | P á g i n a

Page 21: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

Dos tecnologías o herramientas que están íntimamente ligadas con Ruby son Ruby Gems y Rails.

Ruby Gems

Existen sistemas operativos, aplicaciones y herramientas que permiten incorporar o quitar funcionalidad a partir de paquetes que se distribuyen generalmente a través de internet. Ruby utiliza un gestor de paquetes denominado RubyGems.Ruby Gems proporciona un formato estándar y auto contenido (gem) con el objetivo de distribuir programas o librerías en Ruby. Además tiene herramientas para gestionar la instalación y un servidor para la distribución. Entre sus funciones principales se destacan:

- Instalar los paquetes a distancia- Administrar a distancia- Administrar dependencias - Desinstalar de forma fácil.

Ruby on-rails

Como mencionamos mas de una vez grana parte del éxito de Ruby se debe a Rails, muchos de ustedes ya estarán preguntándose que es Rails o RoR (Ruby on Rails) es simplemente framework en Ruby para aplicaciones web. Rails sigue el paradigma de arquitectura modelo vista controlador (MVC). Utiliza características avanzadas de Ruby como la metaprogramación para facilitar el desarrollo.

Sabemos que en el mercado existen cientos, por no decir miles de framework que facilitan la programación orientada a la red pero lo que hace a Ruby tan especial es su filosofía. Rails no se diferencia de Ruby en simplicidad u gusto. Rails esta distribuido a través de RubyGems, que es el formato oficial del paquete y canal de distribución de librerías y aplicaciones Ruby. Software libreDijimos que Ruby es libre pero es difícil de poner en palabras todo lo que significa que un software sea libre y el impacto que produce. Realmente podríamos obviar esta explicación pero es importante conocer los principios básicos de este movimiento y como nos afectan en nuestras tareas con el lenguaje y nuestras herramientas.

Según la definición del proyecto GNU, www.gnu.org, el software libre brinda “la libertad a los usuarios de ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software”.

De modo más preciso se refiere a cuatro libertades de los usuarios del software:1. “La libertad de usar un programa con cualquier propósito (libertad 0)”

2. “La libertad de estudiar como funciona el programa y adaptarlo a tu necesidades (libertad 1). El acceso al código fuente es una condición previa para esto”.

21 | P á g i n a

Page 22: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

3. La libertad de distribuir copias con lo que puedes ayudar a tu vecino (libertad 2)4. La libertad mejorar el programa y hacer públicas las mejoras a los demás de modo que toda la comunidad se beneficie. (libertad 3). El acceso al código fuente es un requisito previo para esto.

Debemos de aclarar que existen muchas licencias cada una con sus atributos que entran dentro de lo que definimos como software libre.

Probar Ruby

Una alternativa excelente a la hora de probar Ruby sin necesidad de instalar nada es a partir de un intérprete interactivo que corre en el navegador web. Esta opción también permite introducir a nuestros colegas en este fantástico mundo.

22 | P á g i n a

Page 23: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

Este intérprete es Ruby 100 % y permite que no solo conozcamos las instrucciones básicas, sino que además podamos seguir varios tutoriales online y con estos aprender los conceptos y la filosofía de Ruby. Pasando algunos minutos con este interprete podremos aprender lo básico de manera interactiva.

Instalar RubyAntes de comenzar a trabajar debemos instalar Ruby en nuestro entorno, como sabemos Ruby es un lenguaje multiplataforma por lo tanto puede ser instalado y utilizado en distintos ambientes. Algunos de ellos son:

Microsoft Windows 95, 98, XP, VistaMac OS XLinuxMS-DOSBSDsAmigaPlataformas que corren la maquina virtual de java pueden utilizar jruby.

Al ser open source existe una gran cantidad de proyectos alrededor de la web que permiten instalar Ruby de diversas maneras:

Podemos instalar desde las fuentes (para cuando necesitemos configuraciones específicas) o desde un paquete adecuado a nuestro sistema operativo. La forma mas fácil de obtener Ruby es atreves de su pagina web oficial la cual brinda la seguridad y veracidad del origen de las herramientas y lenguajes de programación.

23 | P á g i n a

Page 24: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

Instalación en Windows

Primero que nada vamos a instalar Ruby, nos tendremos que descargar el ejecutable desde este enlace, escogeremos el paquete más reciente dentro de RubyInstallers, así como el paquete más reciente bajo Development Kit.

Una vez descargado, ejecutamos el instalador de Ruby y seleccionamos todas las opciones. Paso siguiente es instalar el Develipment Kit. Doble clic y extraemos en nuestro Escritorio, nos vamos a Inicio > Ejecutar y escribimos cmd y en la terminal:Código :cd Escritorio/carpeta_de_archivo_descargadoruby dk.rb init

ruby dk.rb reviewruby dk.rb install

Ahora, para instalar Rails abrimos cmd de nuevo, dentro de la terminal escribimos:Código :gem install rails -r -y

Una vez completado crearemos nuestro primer proyecto para ver que todo esté en orden, desde la terminal que abrimos escribimos:Código :rails new primer_proyecto

Nos creará un montón de archivos, ahora entramos a la carpeta y ejecutamos el servidor:Código :cd primer_proyecto

rails server

Si todo salió bien podremos acceder desde localhost:3000

Conclusión

No es difícil instalar Ruby o Rails en tu sistema operativo, cada uno tiene sus métodos; por largos o lentos que sean, son necesarios para lograr utilizar este sistema.

24 | P á g i n a

Page 25: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

Instalación en Linux

En este tutorial escribo para distribuciones basadas en Debian (Ubuntu, etc) o Fedora (ASPLinux, etc). Los comandos aplican para ambos sistemas operativos o distribuciones, únicamente cambia si es especificado.

Primero que nada tendremos que actualizar nuestros paquetes, en la terminal escribimos:

Código :

//Debiansudo apt-get update

//Fedorasudo yum update

Ahora, para lograr trabajar de manera correcta Ruby (verás como más tarde me lo agradecerás), lo más recomendable es instalarlo a partir de RVM:

Código :

curl -L get.rvm.io | bash -s stable

Y lo cargamos a nuestra terminal:

Código :

source ~/.rvm/scripts/rvm

RVM tiene sus propias dependencias, para ver cuales son ejecutamos el siguiente comando:

Código :

rvm requirements

25 | P á g i n a

Page 26: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

Dependiendo de tu SO o distribución te dará un comando, copia y pégalo para instalar. Actualizamos RVM:

Código :

rvm get head && rvm reload

Instalamos la versión más estable de Ruby (1.9.3):

Código :

rvm install 1.9.3

Y agregamos la versión 1.9.3 como default en nuestro sistema:

Código :

rvm use 1.9.3 --default

Instalamos RubyGems con RVM:

Código :

rvm rubygems current

E instalamos finalmente Rails:

Código :

gem install rails

Ahora todo listo, podremos crear un nuevo proyecto y correr el servidor:

Código :

rails new primer_proyectocd primer_proyectorails server

Si todo salió bien podremos acceder desde localhost:3000

Instalación en Mac OS

26 | P á g i n a

Page 27: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

Para realizar la instalación de Rails en Mac OS tendrémos que instalar dos cosas: Xcode y Homebrew. Xcode es un kit para desarrolladores, Homebrew es un gestor de paquetes excelente. Estas dos utilidades no las utilizaremos en este tutorial, pero lo haremos después y es muy recomendado tenerlas.

Para instalar Xcode basta con irnos a la App Store y buscar por Xcode, es gratuito. Después de hacerlo abriremos Finder y navegaremos a nuestras aplicaciones y buscaremos la carpeta utilidades, después ejectaremos la terminal (Si, Mac tiene una terminal, no todo es "bonito diseño").

Escribiremos lo siguiente para instalar Brew:

Código :

/usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"

Una vez instalado, instalaremos RVM.

Código :

bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer

Ahora crearemos un perfil para inicializar RVM con la terminal:

Código :

touch ~/.bash_profileopen -e ~/.bash_profile

Y copiamos y pegamos la siguiente linea:

Código :

export PATH="./bin:$PATH"

27 | P á g i n a

Page 28: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

[[ -s "/Users/TU_USUARIO/.rvm/scripts/rvm" ]] && source "/Users/TU_USUARIO/.rvm/scripts/rvm"

Y por si no te diste cuenta, en donde dice TU_USUARIO va tu nombre de usuario. Guarda y regresa a la terminal.

Ahora escribe el siguiente comando para asociar el perfil que creaste, con la terminal:

Código :

source ~/.bash_profile

E instalamos la última versión de Ruby (1.9.3) con el siguiente comando:

Código :

rvm install 1.9.3

Y agregamos la versión 1.9.3 como default en nuestro sistema:

Código :

rvm use 1.9.3 --default

Ahora es tiempo de instalar Rails, en la terminal escribimos:

Código :

gem install bundlergem install rails

Ahora todo listo, podremos crear un nuevo proyecto y correr el servidor:

Código :

rails new primer_proyectocd primer_proyectorails server

Si todo salió bien podremos acceder desde localhost:3000

28 | P á g i n a

Page 29: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

Bibliografía y fuentes de información

Ruby - Wikipedia, la enciclopedia libre http://es.wikipedia.org/wiki/Ruby

Ruby el mejor amigo de un desarrollador https://www.ruby-lang.org/es/

scribd.com http://es.scribd.com/doc/55211523/Definicion-de-Conceptos-Sobre-Ruby-on-Rail#scribd

Slidesharehttp://es.slideshare.net/Yulgrecia2011/ruby-es-un-lenguaje-de-programacin-interpretado

tu funciónhttp://www.tufuncion.com/programacion-lenguaje-ruby

Rubini ushttp://rubini.us/doc/es/ruby/

Examtimehttps://www.examtime.com/es/blog/lenguaje-de-programacion/

29 | P á g i n a

Page 30: trabajo rubi

LENGUAJE DE PROGRAMACION RUBY

“Mira que te mando que te esfuerces y seas valiente; no temas ni desmayes, porque Jehová tu Dios estará contigo en dondequiera que vayas”. Josué 1:9

Recomendaciones programar en Ruby

Ruby: Ruby on Rails es un marco ligero inmensamente popular muy adecuado para

escribir aplicaciones web.

A favor: Muy popular y “de moda” especialmente entre la comunidad de

emprendedores. Mejor que Java para crear aplicaciones web rápidamente.

En contra: Lenguaje que avanza rápidamente con numerosa documentación

online desfasada. No muy útil para desarrollar aplicaciones de interfaz de usuario

gráfica, prácticamente solo web, si somos realistas.

Conclusiones y posibles mejoras:

- Desde el punto de vista empresarial

Ruby On Rails permitirá a aquellos que quieran aprender sus enclaves y secretos, la posibilidad de crear webs de una forma mucho mas rápida y dinámica.

- Desde el punto de vista empresarial

Aunque la idea principal de factoría web era enseñarnos a montar una empresa a través de internet, así como apoyarnos en el desarrollo de las ideas para ser expuesta en la presentación de oficial, cabía la posibilidad de alguna pudiera salir adelante llegando a crear una empresa real.

- Mejoras

Puede tener infinidad de mejoras, con el fin de convertir en una autentica red social en la que todos los usuarios tengan una completa conectividad entre ellos. De entre todas las posibles pensadas resalto las siguientes:

Hacer que a atreves de los subespacios los usuarios puedan conversar entre ellos, mediante tipo chat, estando o no conectados en instantes.

30 | P á g i n a