Acerca de ruby

INTRODUCCION:
Ruby es un lenguaje de programación interpretado, reflexivo y orientado a objetoscomparte también funcionalidad con otros lenguajes de programación como Lisp, Lua, Dylan y CLU.

HISTORIA:
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; se le puso el nombre de "Ruby" (en español rubí) como broma aludiendo al lenguaje de programación "Perl" (perla).  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.
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.

OBJETIVO:
 Yukihiro "Matz" Matsumoto, ha dicho que Ruby está diseñado para la productividad y la diversión del desarrollador, siguiendo los principios de una buena interfaz de usuario.
su principal objetivo era hacer un lenguaje que le divirtiera a él mismo, minimizando el trabajo de programación y la posible confusión.
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).

CARÁCTERÍSTICAS:

·         *Orientado a objetos
·        *Cuatro niveles de ámbito de variable: global, clase, instancia y local.
·        *Manejo de excepciones
·         *Posibilidad de redefinir los operadores (sobrecarga de operadores)
·         *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
·         *Introspección, reflexión y metaprogramación
·         *Amplia librería estándar
·         *Soporta inyección de dependencias
·         *Soporta alteración de objetos en tiempo de ejecución continuaciones y generadores

0 comentarios:

Publicar un comentario