Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Lenguaje de Programación Ruby

3.050 visualizaciones

Publicado el

Ruby es un lenguaje de programación demandado en la actualidad, y en esta presentación conocerás los aspectos básicos de este lenguaje de programación

Publicado en: Software
  • DOWNLOAD THE BOOK INTO AVAILABLE FORMAT (New Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THE can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THE is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBOOK .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, CookBOOK, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, EBOOK, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THE Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THE the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THE Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/qURD } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/qURD } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/qURD } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/qURD } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/qURD } ......................................................................................................................... Download doc Ebook here { https://soo.gd/qURD } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • LJle
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí

Lenguaje de Programación Ruby

  1. 1. Lenguaje de Programación Ruby Presentado por: Alexander Echeverría Adriana Medina Felipe De León Juana Guevara
  2. 2. Introducción Los lenguajes de programación es la manera de que el programador le diga al computador, las ordenes para que la misma ejecute. Existen un sinfín de lenguajes de programación con distintos paradigmas y en esta presentación nos enfocaremos en Ruby, un lenguaje que tiene una gran demanda actualmente.
  3. 3. ¡Conociendo Ruby!
  4. 4. ¿Qué es Ruby?  Ruby es un lenguaje de programación interpretado, reflexivo y orientado a objetos, creado por el programador japonés Yukihiro "Matz" Matsumoto.  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.  El nombre Ruby (Rubí en español) es una parodia aludiendo al lenguaje de programación Perl, de la cual Ruby fue desarrollado.
  5. 5. Creador de Ruby Yukihiro “Matz” Matsumoto
  6. 6. Sintaxis en el lenguaje Ruby • La sintaxis de Ruby es similar a la de Perl y Python. • La definición de clases y métodos está definida por palabras claves. • Ruby mantiene todas sus variables de instancia privadas dentro de las clases y solo la expone atreves de métodos de acceso (attr_writer, attr_reader,etc) los métodos de acceso en Ruby pueden ser escritos con una sola línea de código. • Ruby impone algunas convenciones de sintaxis: • Si un identificador comienza con una letra mayúscula, es una constante. • Si comienza con un símbolo de moneda ($), es una variable global. • Si comienza con @ es una variable de instancia. • Si comienza con @@ es una variable de clase.
  7. 7. Ejemplo de sintaxis  Constantes: PDF_KEY, R2D2, PERSONA_VIAJE Las constantes solo se pueden definir una vez. Estas deben ser escritas en letras mayúsculas.  Variables de objeto: @nombre, @maximo, @hora_comer Las variables de objeto (o variables de instancia) solo pueden ser leida/ escritas por el propio objeto.  Variables de clase: objeto, llave_maestra Las variables de clase no pertenecen a los objetos, si no a la clase. Existen únicamente en la clase, y son compartidas por todos los objetos.
  8. 8. Ruby es 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, nil, etc.). Este lenguaje soporta herencia con enlace dinámico, mixins y métodos singleton (pertenecientes y definidos por una sola instancia más que definidos por la clase). Ruby ha sido descrito como un lenguaje de programación multiparadigma: permite programación procedural, con orientada a objetos o funcionalmente. Además de soporte para hilos de ejecución gestionados por el intérprete. Este lenguaje tiene tipado dinámico y soporta polimorfismo de tipos (permite tratar a subclases utilizando la interfaz de la clase padre). No requiere polimorfismo de funciones al no ser fuertemente tipado. Sistema de tipos y semánticas de RUBY:
  9. 9. Ejemplo de semántica: Irb(main):002:0>puts“hola mundo” Hola mundo =>nil  Puts es el comando básico para escribir algo en Ruby.  =>Nil? Es el resultado de la expresión. Puts siempre retorna nil, que es el valor que significa “absolutamente nada” en Ruby.  Sistema de tipos: • Orientada a objetos • Cuatro niveles de ámbito de variable: global, clase, instancia y local • Manejo de excepciones • Altamente por table • Amplia librería estándar • Soporta alteración de objetos en tiempo de ejecución
  10. 10. El uso de memoria de Ruby tampoco está del todo optimizado ya que su garbage collector no es para nada perfecto. Por lo que tenemos un costo adicional en memoria. La versatilidad del lenguaje el cual permite ser implementado usando la máquina virtual de otros lenguajes como la máquina virtual de java en jruby Gestión de memoria en Ruby
  11. 11. Una excepción es un tipo especial de objeto de la clase excepción. Lanzar una excepción significa parar la ejecución de un programa para salir del mismo o para tratar con el problema que se ha producido. Para tratar el problema hace falta raise; de no ser así el programa termina y avisa del error. Lo que hará raise (lanzar), será lanzar una “excepción” para manejar el error. Manipulación de excepciones en Ruby
  12. 12. Ejemplo de excepciones en Ruby
  13. 13. Paradigmas de Ruby
  14. 14.  Ruby ha sido descrito como un lenguaje de programación multiparadigma: permite programación procedural (definiendo funciones y variables fuera de las clases haciéndolas parte del objeto raíz Object), con orientación a objetos (todo es un objeto), o funcionalmente (tiene funciones anónimas, clausuras o closures, y continuations; todas las sentencias tiene valores, y las funciones devuelven la última evaluación).  Soporta introspección, reflexión y meta programación, además de soporte para hilos de ejecución gestionados por el intérprete. Ruby tiene tipado dinámico, y soporta polimorfismo de tipos (permite tratar a subclases utilizando la interfaz de la clase padre). Ruby no requiere de polimorfismo de funciones al no ser fuertemente tipado (los parámetros pasados a un método pueden ser de distinta clase en cada llamada a dicho método). Paradigmas del Lenguaje Ruby
  15. 15. • Reflexivo • Es una característica de algunos lenguajes para determinar y modificar su comportamiento. Ruby no posee la capacidad de controlar estos objetos pero si puede controlar estructuras y bloques. Es lenguaje de programación de alto nivel o procedimental. Es capaz de expresar el algoritmo de una manera correcta a la capacidad cognitiva humana. Puede tratar con variables, objetivos, expresiones booleanas Paradigmas del Lenguaje Ruby
  16. 16. Reflexividad en Ruby
  17. 17. • Programación Imperativa Son un conjunto de instrucciones que le indican al computador cómo realizar una tarea. Esto quiere decir que se describen sentencias que modifican el estado de un programa. • Programación Orientada a Objetos Es la utilización de funciones aritméticas que no maneja datos mutables o de estado. • Paradigma de Programación Funcional Los lenguajes de programación funcional han sido enfatizados en el ambiente académico principalmente y no tanto en el desarrollo de software comercial. También es utilizada en la industria a través de lenguajes de dominio específico como R (estadística), Mathematica (matemáticas simbólicas), J y K (análisis financiero). Paradigmas del Lenguaje Ruby
  18. 18. Dominio del lenguaje Ruby
  19. 19. Dominio del lenguaje Ruby Programación Web • Aplicaciones como Twitter, GitHub, sistemas de i-cloud lo incluyen en su catálogo como Amazon EC2 o Rackspace. • Ruby se utiliza también para administración de Sistemas. La herramienta Puppet o Chef sirve para automatizar tareas administrativas en una red de ordenadores. • La plataforma de Ruby se trabaja para realizar desarrollos web. Podemos definirlo como un framework de software libre. (Por framework entendemos un entorno o conjunto de programas o herramientas agrupadas. Por software libre entendemos software que cualquier usuario puede ejecutar, copiar, modificar, distribuir, cambiar o mejorar. ) • Ruby on Rails fue la inspiración para desarrolladores en otros lenguajes como Java, Groovy, PHP, etc. para crear marcos de desarrollo parecidos o modelados bajo las ideas de Ruby on Rails.
  20. 20. Dominio de lenguaje Ruby  Soporte de Servidores Para desarrollo y pruebas, se utiliza Mongrel o WEBrick, incluido con Ruby. Para utilizar Rails en servidores en producción se está extendiendo el uso de Passenger, una suerte de mod_rails para Apache desarrollado en 2008 por la empresa holandesa Phusion. Otras opciones para producción son Nginx, Mongrel, Apache, Lighttpd con FastCGI o alguna combinación de ambos(por ejemplo utilizando Apache como proxy para los procesos Mongrel). Sobre Apache, mod ruby puede mejorar considerablemente el rendimiento, aunque su uso no se recomienda porque no es seguro utilizar múltiples aplicaciones RoR sobre Apache.
  21. 21. Dominio de lenguaje Ruby  Soporte de Base de Datos  Dada que la arquitectura Rails favorece el uso de bases de datos se recomienda usar un SGBDR para almacenamiento de datos. Rails soporta la biblioteca SQLite por defecto. El acceso a la base de datos es totalmente abstracto desde el punto de vista del programador, es decir que es agnóstico a la base de datos, y Rails gestiona los accesos a la base de datos automáticamente (aunque, si se necesita, se pueden hacer consultas directas en SQL) Rails intenta mantener la neutralidad con respecto a la base de datos, la portatibilidad de la aplicación a diferentes sistemas de base de datos y la reutilización de bases de datos preexistentes. Sin embargo, debido a la diferente naturaleza y prestaciones de los SGBDRs el framework no puede garantizar la compatibilidad completa. Se soportan diferentes SGBDRs, incluyendo MySQL, PostgreSQL, SQLite, IBM DB2 y Oracle.
  22. 22. Restricciones de Arquitectura de Ruby
  23. 23. Restricciones de Arquitectura de Ruby  Ruby y su framework Ruby on Rails (RoR) están desarrollados para tener portabilidad en distintos sistemas operativos.  A diferencia de otros lenguajes de programación, como Java, Visual Basic e incluso C, Ruby no requiere tantos requisitos para poder ser ejecutado.  Ruby al ser un lenguaje interpretado, no necesita compiladores para programar en este lenguaje, no obstante para codificar se necesita un editor de texto y su intérprete para crear programas. Sin embargo, existen algunos compiladores que se han desarrollado para facilitar la programación en este lenguaje de programación
  24. 24. ¿Qué necesito para programar en Ruby?  Es compatible en su mayoría en sistemas GNU/Linux y también corre en sistemas Unix como Mac OS X, Windows (32 y 64 bits), BeOS, OS/2.  Tener instalado Interactive Ruby, que es el intérprete del lenguaje.  En Windows, descargar el instalador de Interactive Ruby desde la pagina oficial de Ruby https://www.ruby-lang.org/es/documentation/installation/  Si usas Mac OS X, Ruby 2.0.0 ya viene instalado en OS X Yosemite y Mavericks. OS X Mountain Lion, Lion, y Snow Leopard vienen con Ruby 1.8.7 instalado.  Para las distribuciones Linux, se descarga Ruby desde el gestor de paquetes (apt, yum, etc.)  Tener instalado cualquier editor de texto para crear archivos extensión .rb (notepad ++, sublime text).
  25. 25. Programas necesarios para programar en Ruby Interactive Ruby, intérprete de Ruby Editor de texto
  26. 26. Restricciones contextuales
  27. 27. Restricciones contextuales  Igual que Python, Perl, PHP, etc. Ruby es un lenguaje interpretado. Este tipo de lenguajes de programación, no requieren un código a ser compilado, ya que consisten en scripts que son interpretados en tiempo real por un intérprete, lo cual permite maximizar la eficiencia de los programas, en la mayoría de los casos.  Por lo general, los lenguajes interpretados son de alto nivel y están orientados a objetos y eventos, lo que facilita la programación web y la programación cliente/servidor, por lo cual, actualmente son lenguajes con mucho auge en el ámbito informático.
  28. 28. Proceso de ejecución de un programa en Ruby Cuando un programa es interpretado, el proceso que se sigue es el siguiente:  El intérprete (Interactive Ruby) obtiene una instrucción del fichero fuente y la realiza inmediatamente. Para ello, ejecuta en secuencia varias de esas porciones de código máquina que comentábamos antes, y que residen en el interior del intérprete.  Cuando la CPU termina la ejecución de esa secuencia, el resultado es que la CPU habrá hecho lo que la línea de código fuente expresaba.  Repitiendo esta secuencia para todas las líneas, el intérprete realiza lo que los ficheros fuente expresan... es decir, ejecuta el programa.
  29. 29. Diagrama de ejecución en Ruby Código Fuente Interactive Ruby (Intérprete) Traducción y ejecución Mensajes de error Editar y corregir
  30. 30. Intérpretes y equipos virtuales en Ruby
  31. 31. ¿Es Ruby un lenguaje flexible?  Por supuesto que sí. Ruby es considerado un lenguaje flexible, ya que permite a sus usuarios alterarlo libremente. Las partes esenciales de Ruby pueden ser quitadas o redefinidas a placer. Se puede agregar funcionalidad a partes ya existentes. Ruby intenta no restringir al desarrollador.  Por ejemplo, la suma se realiza con el operador suma (+). Pero si prefieres usar la palabra sumar, puedes agregar un método llamado sumar a la clase Numeric que viene incorporada.
  32. 32. ¿Ruby es portable?  El hecho de que estos lenguajes se ejecuten directamente en un intérprete o mediante una máquina virtual hace que sean completamente portables. Si existe un intérprete o una máquina virtual para una arquitectura y un sistema operativo (SO) específico, entonces el programa puede correr en dicha combinación de arquitectura y SO.  La portabilidad de Ruby lo hace muy atractivo a los desarrolladores, que pueden programar aplicaciones sin preocuparse del SO en el que se va a ejecutar.  Esto difiere con la poca portabilidad de otros lenguajes como C, donde la compilación del programa para una arquitectura diferente de aquella para la que se diseñó puede obligar a cambiar librerías y parte del código fuente original.
  33. 33. Normalizaciones generales
  34. 34. Normalización del lenguaje Ruby  Cuando un lenguaje de programación recibe suficiente atención y uso entre los programadores, suele comenzar el proceso de normalización.  Las organizaciones más importantes que supervisan y mantienen las normalizaciones de los lenguajes de programación son el Instituto de Normalización Nacional Americano (ANSI) y la Organización Internacional de Normalización (ISO).  Se ha revisado el estado en el que se encuentra la normalización del lenguaje Ruby que ya es una norma nacional en Japón y que previsiblemente se convertirá pronto en una norma internacional.  En Japón, IPA (Information-Technology Promotion Agency) mantiene la normalización del estándar sobre el lenguaje Ruby
  35. 35. Sistemas heredados
  36. 36. Sistemas heredados  Ruby es un lenguaje de programación muy reciente, data del año 1995 y para su desarrollo, este lenguaje tuvo origen a partir de otros lenguajes ejemplo: Perl, SmallTalk, Python, Lisp, Eiffel, Scheme, Ada, Dylan, CLU.  La sintaxis de Ruby, proviene totalmente de Python y Perl; su paradigma orientado a objetos la hereda de Smalltalk, y comparte su funcionalidad con otros lenguajes como Lisp, Lua, Dylan, CLU.  Ruby ha influido en el desarrollo de nuevos lenguajes de programación entre ellos podemos mencionar: D, Groovy, Falcon y Swift.
  37. 37. Lenguajes derivados de Ruby  D: Lenguaje de programación de uso general desarrollado por Walter Bright cuya primera versión apareció en 1999. Se origina como un rediseño de C++, con un enfoque más pragmático, pero no es un lenguaje puramente derivado del anterior. D ha mantenido algunas características de C++ y también está influido por otros conceptos de otros lenguajes como Java, C# y Eiffel. Una versión estable fue lanzada el 2 de enero de 2007.  Groovy: Lenguaje de programación orientado a objetos implementado sobre la plataforma Java. Tiene características similares a Python, Ruby, Perl y Smalltalk. Groovy usa una sintaxis muy parecida a Java, comparte el mismo modelo de objetos, de hilos y de seguridad. Desde Groovy se puede acceder directamente a todas las API existentes en Java.
  38. 38. Lenguajes derivados de Ruby  Falcon: Lenguaje de programación interpretado de código abierto multiparadigma diseñado por Giancarlo Niccolai. Se basa en una máquina virtual de propiedad y está disponible para las plataformas Microsoft Windows, GNU/Linux, Mac, Solaris y en el futuro BSD. Se propone como una herramienta para crear aplicaciones completas y aplicaciones web en relación con apache2.  Swift: Lenguaje de programación multiparadigma creado por Apple enfocado en el desarrollo de aplicaciones para iOS y Mac OS X. Fue presentado en WWDC 2014 y está diseñado para integrarse con los Frameworks Cocoa y Cocoa Touch, puede usar cualquier biblioteca programada en Objective-C y llamar a funciones de C. También es posible desarrollar código en Swift compatible con Objective-C bajo ciertas condiciones
  39. 39. Árbol genealógico de los lenguajes de programación
  40. 40. Cualidades de un lenguaje de programación
  41. 41. Simplicidad y Claridad
  42. 42. ¿Es fácil para un programador , escribir en este lenguaje? Si un programador anteriormente ha codificado en Python, Perl u otro lenguaje interpretado, Ruby le resultará fácil debido a que mezcla la sintaxis y características de los lenguajes antes mencionados. Además Ruby ofrece una sintaxis sin tantos caracteres, haciendo que la lectura, codificación y depuración sea más ameno para el desarrollador. Esto cumpliría el eslogan de Ruby…”El mejor amigo de un desarrollador”
  43. 43. ¿Es fácil para un programador, escribir en este lenguaje? Factorial en Perl Factorial en Ruby Si vemos ambos programas, podemos notar que Ruby conservar métodos y palabras reservadas de los lenguajes en el cual está basado.
  44. 44. ¿Hasta que punto es inteligible este lenguaje para un lector medio? Matz, el creador de Ruby dijo que este lenguaje sigue el principio de la menor sorpresa. Esto significa que el lenguaje debe comportarse de tal manera que minimice la confusión de los usuarios experimentados. Ruby tiene la particularidad de no utilizar un lenguaje oscuro en sus funciones, y los nombres de las funciones de este lenguaje, proviene del inglés, facilitando grandemente al programador. Además en Ruby, los puntos y comas (;), corchetes ({}) prácticamente no existen. Como Ruby proviene de Python, Ada, Perl, Smalltalk, etc. Muchos de sus métodos heredados tienen la misma funcionalidad, provocando una mayor familiarización y que el lenguaje sea legible para cualquier lector.
  45. 45. ¿Hasta que punto es inteligible este lenguaje para un lector medio? Calculadora en Java Calculadora en Ruby En estos programas, se aprecia una ausencia de puntos comas en el código de Ruby y muchos de los métodos utilizados fueron heredados de Perl, y Python, a diferencia del código en Java, que si utiliza llaves, corchetes y puntos comas.
  46. 46. ¿Es fácil aprender y enseñar el lenguaje? Al igual que cualquier otro lenguaje, Ruby resultará fácil de aprender o enseñar, siempre y cuando se entienda la lógica de lo que se desea programar. Si entiendes Perl o Python; Ruby le resultará muy fácil, no sólo por las palabras de heredadas de estos lenguajes, sino por la sencillez que Ruby muestra en su sintaxis. Matz citó “Ruby es simple en apariencia, pero complejo por dentro, como el cuerpo humano”. Esta frase hace referencia a la apariencia sintáctica de Ruby, ya que esto puede ser de gran ayuda para personas que están aprendiendo a programar y también es excelente para enseñar a programar. Ruby no tendrá tantos caracteres como Java, C++ o C#, pero es un lenguaje muy potente que puede hacer todo tipo de tareas.
  47. 47. ¿Es fácil aprender y enseñar el lenguaje? Aquí tenemos el famosísimo Hola Mundo en Ruby y en C#. Viendo la sintaxis de ambos lenguajes se demuestra que Ruby es un excelente lenguaje para aprender y para enseñar a programar.
  48. 48.  "Si te gusta Perl, te gustará Ruby y su sintaxis. Si te gusta Smalltalk, te gustará Ruby y su semántica. Si te gusta Python, la enorme diferencia de diseño entre Python y Ruby/Perl puede que te convenza o puede que no."  Yukihiro “Matz” Matsumoto, creador de Ruby
  49. 49. Uniones
  50. 50. Concatenaciones y uniones  Concatenar significa unir 2 cadenas, en el caso de programación pueden unirse enteros o reales a un cadena, incluso objetos complejos que pueden representarse en una cadena pueden concatenarse. El manejo de las cadenas en Ruby es más inteligente e intuitivo que en C. Por ejemplo, se pueden concatenar cadenas con +(como en la imagen anterior) y se puede repetir una cadena varias veces con *, ejemplo
  51. 51. Concatenaciones y uniones  En Ruby también podemos unir cadenas con el operador #{}. Al igual que +, este operador incluye una variable dentro de la cadena a encerrándola en el operador.
  52. 52. Ortogonalidad  La sintaxis de Ruby es muy ortogonal, lo que ayuda a que la programación sea elegante y divertida.  Su framework Ruby on Rails se esfuerza por mantener la ortogonalidad entre cada capa de la aplicación, de esta forma reduce el acople entre elementos y a su vez disminuye el tiempo y esfuerzo de mantenimiento.  La filosofía de Matz con su creación, Ruby, prefiere armonía en el rendimiento de su lenguaje, en lugar de ortogonalidad.
  53. 53. Fiabilidad de programas  En Ruby, el lenguaje de programación se comporta de manera igual cada vez que se ejecuta un programa su ejecución en las plataformas se mantiene fiable.  Es decir, si ejecutamos un programa de Ruby en Windows, se ejecutará igual en Linux, en Mac OS X. Esto se debe a la portabilidad del lenguaje, debido a que no necesita librerías específicas para ejecutar, igual que Python, Perl, etc.
  54. 54. Aplicabilidad
  55. 55. ¿El lenguaje proporciona un soporte adecuado para las aplicaciones del dominio en el que lo estamos utilizando  Ruby y su framework Ruby on Rails (RoR), están centrados en la programación web. Este lenguaje proporciona el soporte de los servidores web de páginas web entre ellos Twitter, GitHub, SoundCloud,Twitch etc.  También da soporte a base de datos (BD). Muchas bancos y empresas en Panamá, utilizan RoR por su flexibilidad entre plataformas y potencia.
  56. 56. Abstracción Una abstracción en Ruby es la agrupación de conjunto de elementos (datos y procedimientos) que se le da un nombre. Existen abstracciones propias de la computación, que se utilizan en múltiples dominios. Por ejemplo abstracciones de datos como listas, árboles, grafos, tablas hash. Ejemplo de hashes: h={‘perro’=>’canino’,’gato’=>’felino’,’burro’=>’asno’,12=>’docena’} puts h.length #4 puts h[‘perro’]#’canino’ puts h Puts h[12]
  57. 57. Implementación  ¿Nos permite las construcciones y las características de un lenguaje su implementación práctica y eficiente en las plataformas coetáneas?  La arquitectura de Ruby fue desarrollada pensando en la productividad y la diversión del desarrollador, siguiendo los principios de una buena interfaz de usuario. Sostiene que el diseño de sistemas necesita enfatizar las necesidades humanas más que las de la máquina. No importa que equipo informático uses o que sistema operativo tengas instalado, la implementación de Ruby no cambiará en nada, al contrario de otros lenguajes como C# o Java que para poder se ejecutado, necesita librerías orientadas a ese SO. Ruby por decir, ese un sistema universalmente portable.
  58. 58. Infografía http://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=73:ruby-on-rails- plataforma-de-software-libre-para-desarrollos-web-bajo-mvc&catid=46:lenguajes-y-entornos&Itemid=163 http://jdgarcia-vision.blogspot.com/2011/09/noticias-desde-la-normalizacion-de.html http://www.alvaroreig.com/arquitectura-marco-para-proyectos-ruby-rails/ https://es.wikipedia.org/wiki/Ruby_on_Rails http://librosweb.es/tutorial/las-novedades-de-ruby-on-rails-42/ http://www.railsenespanol.co/capitulos/capitulo1 http://www.tufuncion.com/programacion-lenguaje-ruby http://latecladeescape.com/h/2015/09/compiladores-interpretes-y-maquinas-virtuales https://www.ruby-lang.org/es/about/ http://rafinguer.blogspot.com/2014/04/clases-y-objetos-en-ruby-i.html

×