Características de Ruby

18

Click here to load reader

description

Presentación que sobre el lenguaje de programación Ruby, ¿que es?, antecedentes y características.

Transcript of Características de Ruby

Page 1: Características de Ruby

Lenguaje de programación Ruby.

Page 2: Características de Ruby

¿QUE ES RUBY?Ruby es un lenguaje de programación dinámico y de código abierto enfocado en la simplicidad y productividad. Su elegante sintaxis se siente natural al leerla y fácil al escribirla. A menudo ha manifestado que está “tratando de hacer que Ruby sea natural, no simple”, de una forma que se asemeje a la vida real.

Page 3: Características de Ruby

SU CREADOR

Yukihiro Matsumoto, también conocido como Matz diseñador del lenguaje de programación Ruby.

Mezcló partes de sus lenguajes favoritos (Perl, Smalltalk, Eiffel, Ada, y Lisp) para formar un nuevo lenguaje que incorporara tanto la programación funcional como la programación imperativa.

Page 4: Características de Ruby

CARACTERÍSTICAS. orientado a objetos cuatro niveles de ámbito de variable: global, clase, instancia y

local. manejo de excepciones iteradores y clausuras o closures (pasando bloques de código) expresiones regulares nativas similares a las de Perl a nivel del

lenguaje posibilidad de redefinir los operadores (sobrecarga de operadores) recolección de basura automática altamente portable Hilos de ejecución simultáneos en todas las plataformas

usando green threads Carga dinámica de DLL/bibliotecas compartidas en la mayoría de

las plataformas amplia librería estándar soporta inyección de dependencias soporta alteración de objetos en tiempo de ejecución

Page 5: Características de Ruby

REFERENCIAS DEL LENGUAJE.

Ruby ha atraído devotos desarrolladores de todo el mundo.

En el 2006, Ruby alcanzó reconocimiento masivo, formándose grupos de usuarios activos en las ciudades más importantes del mundo y llenando las capacidades de las conferencias relacionadas a Ruby.

El índice TIOBE, ubica a Ruby en la posición #13 del ranking mundial. predicen, “Todo indica que Ruby llegará a estar entre los 10 primeros en menos de 6 meses”. Gran parte de su crecimiento se atribuye a la popularidad alcanzada por aplicaciones desarrolladas con Ruby, en particular el framework de desarrollo web Ruby on Rails.

Page 6: Características de Ruby

RUBY DESDE OTROS LENGUAJES

RUBY desde javaRUBY desde PHPRUBY desde PYTHON

Page 7: Características de Ruby

RUBY DESDE JAVA

Al ir de Java hacia Ruby, puedes esperar que el tamaño del código disminuya considerablemente. También lleva menos tiempo el armado de prototipos.

Semejanzas Como en Java, en Ruby…la memoria es manejada

automáticamente mediante un colector de basura (garbage collector).

los objetos son fuertemente tipados. hay métodos públicos, privados y protegidos. tiene herramientas de documentación embebidas (la

de Ruby se llama RDoc). La documentación generada por rdoc se ve muy similar a la generada por javadoc.

Page 8: Características de Ruby

RUBY DESDE JAVA CONTINUACIÓN….

Diferencias A diferencia de Java, en Ruby…no necesita compilar

el código fuente. Directamente se ejecuta hay distintos conjuntos de herramientas para interfaz

gráfica. Los usuarios de Ruby pueden probar con WxRuby, FXRuby, Ruby-GNOME2, o el Ruby Tk incluido.

se usa la palabra clave (end)después de definir clases, en vez de tener que poner llaves encerrando el código.

todas las variables de instancia son privadas. Desde afuera, todo se accede usando métodos.

los paréntesis en las llamadas a los métodos usualmente son opcionales y a menudo son omitidos.

Page 9: Características de Ruby

RUBY DESDE PHPSimilaridades Como en PHP, en Ruby…las variables son

dinámicamente tipadas, así que no tienes que preocuparte por declararlas.

hay clases, y puedes controlar el acceso a ellas como en PHP 5 (public, protected y private).

algunas variables comienzan con $, pero no todas. tienes “documentos internos” (“heredocs” en

inglés). tienes excepciones, como PHP 5. hay una biblioteca estándar bastante grande. true y false se comportan como en PHP,

pero null se llama nil.

Page 10: Características de Ruby

RUBY DESDE PHP CONTINUACIÓN…Diferencias los paréntesis son opcionales en las llamadas

a los métodos, excepto para clarificar qué parámetros van para qué método, cuando es necesario.

la biblioteca estándar y las extensiones están organizadas en módulos y clases.

las variables son referencias. no hay clases abstract o interfaces. sólo false y nil son falsos: 0, array() y "", son

todos verdaderos en las condiciones lógicas. casi todo es una llamada a un método,

incluso raise (equivalente a throw en PHP).

Page 11: Características de Ruby

RUBY DESDE PYTHON Similitudes Al igual que con Python, en Rubí, ...Hay un modo interactivo

(llamado irb ). Usted puede leer documentos en la línea de comando (con

la »ri» comandos en lugar de pydoc ). Los literales de cadena puede ocupar varias líneas como

cuerdas de tres citados Python. Los paréntesis son para las listas, (que en Ruby, se llaman

"hash"). Las matrices funcionan de la misma (sumando los convierte en

una serie larga, pero al igual que las componen este a3 = [a1, a2] le da una matriz de matrices).

Todo es un objeto, y las variables son sólo referencias a objetos.

A pesar de las palabras clave son un poco diferentes, las excepciones trabajar sobre el mismo.

incrustacion «doc» herramientas (Ruby se llama rdoc).

Page 12: Características de Ruby

RUBY DESDE PYTHON CONTINUACIÓN…

Las diferencias A diferencia de Python, en Rubí, ...Las cadenas son mutables. Hacer constantes (variables cuyo valor no va a cambiar). Hay

algunas forzadas caso convenciones de nombres (ej. clases comienzan con una letra mayúscula, las variables comienzan con una letra minúscula).

Sólo hay una especie de contenedor de lista (una matriz), y es mutable.

Los comentarios usual de estilo en la línea (s) arriba las cosas (en lugar de cadenas de documentación por debajo de ellos) se utilizan para la generación de documentos.

Hay una serie de accesos directos que, a pesar de que dure más que recordar, que aprenden rápidamente. Ellos tienden a burlarse de Ruby y muy productivo.

No hay manera de desactivar una variable una vez establecido (como Python del estado de cuenta). Se puede restablecer una variable a cero , permitiendo que el antiguo contenido sea recolectado, pero la variable se mantendrá en la tabla de símbolos, siempre y cuando está en el ámbito.

Page 13: Características de Ruby

HISTORIA… Se presentó al público en el año 1995. 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 ésas 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 dió a conocer como Ruby 1.9

Page 14: Características de Ruby

LA VERSIÓN MAS ACTUAL DE RUBY.

Ruby 1.8.7-p370 liberado.http://www.ruby-lang.org/es/

Page 15: Características de Ruby

CASOS DE ÉXITOSimulaciones NASA Langley Research Center utiliza Ruby para realizar

simulaciones. Un grupo de investigación de Motorola utiliza Ruby para un

simulador de secuencia de comandos, tanto para generar escenarios para publicar y procesar los datos.

Modelado en 3D Google SketchUp es una aplicación de modelado 3D que utiliza

Ruby para su macro scripting API .Negocios Rehab Toronto utiliza una base RubyWebDialogs aplicación para

gestionar y realizar un seguimiento de atención y apoyo sobre el terreno para la mesa de ayuda de TI y TI equipos de operaciones.

Robótica En Morpha proyecto, Ruby se utilizó para implementar la parte

de control reactivo para el robot de servicio Siemens.

Page 16: Características de Ruby

CASOS DE ÉXITO

Redes Domain Server Open usa Ruby para que las personas

que utilizan Dynamic DNS a los clientes a actualizar en tiempo real su configuración IP de modo que se pueden asignar a los dominios estáticos.

Telefonía Rubí se está utilizando dentro de Lucent en un

producto de telefonía móvil 3G.Administración del sistema Ruby se utiliza para escribir la parte de datos central

de recogida de Level 3 Communications Capacidad de Unix y el sistema de planificación que recoge las estadísticas de rendimiento de más de 1700 de Unix (Solaris y Linux) servidores repartidos por todo el mundo.

Page 17: Características de Ruby

CASOS DE ÉXITOAplicaciones Web Basecamp , una aplicación de proyectos basada en web de gestión

desarrollado por 37signals , está programado íntegramente en Ruby. A List Apart , una revista para las personas que hacen sitios web que ha

existido desde 1997, ha sido recientemente renovado y utiliza una aplicación hecha a la medida con Ruby on Rails.

Secuencia Azul , una sofisticada aplicación de misión crítica que forma parte de la propia Toyota Motor Manufacturing "secuencia-in-time" proceso de producción, ha sido recientemente seleccionado como finalista de los British Computer (BCS) Premios de Información Gerencial.

Seguridad El Metasploit Framework , un proyecto de la comunidad de código abierto

gestionado por Rapid7 , es una plataforma de pruebas de penetración gratuito que ayuda a los profesionales de TI evaluar la seguridad de sus redes y aplicaciones. El Proyecto Metasploit se compone de más de 700.000 líneas de código y ha sido descargado más de un millón de veces en 2010. Las ediciones comerciales Metasploit Express y Pro Metasploit desarrollados por Rapid7 también se basan en Ruby.

Page 18: Características de Ruby

SALARIO DE UN PROGRAMADOR DE RUBY.

Estados Unidos: como mínimo 80 – 120 € / hora($ 1336- $ 2004.00).

Reino Unido / Londres: 60 € / hora($ 1002.39). Alemania / Berlín: 50 € / hora($ 835.32). España: Hasta donde sé la media está sobre los 30 –

40 € / hora($501.19-$668.26). México: la media de trabajo para clientes mexicanos

está cerca de los 30 € / hora($501.19), pero algunas de las empresas de este país trabajan para clientes de EEUU, facturando con las tarifas de allí (80 – 120 €)

India / Vietnam / Pakistán: 8 – 12 € / hora($133.65-$ 200.48). Por sorprendente que parezca es fácil encontrar este tipo de tarifas en sitios como Odesk o Freelancer.