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 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.
El creador del lenguaje, 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.
Sostiene que el diseño de sistemas necesita 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.
Caracteristica
- 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 hilos verdes, o no gestionados por el sistema operativo.
- 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
Aptana Studio
Aptana Studio Aptana Studio 3 es una herramienta de
desarrollo de código abierto para programadores que tengan experiencia en Ruby.
Permite a los desarrolladores probar sus aplicaciones web usando un único
entorno. Aptana soporta las últimas tecnologías para navegadores con HTML5,
CSS3, JavaScript, Ruby, Rails, PHP y Python. Incluye varias características
como la integración de archivos GIF, HTML, CSS y Javascript, un depurador
integrado así como múltiples opciones para llevar a cabo la personalización del
IDE. Contempla múltiples protocolos como FTP, SFTP, FTPS y Capistrano. Cuenta
con la capacidad para publicar automáticamente tus aplicaciones Ruby &
Rails a servicios de alojamiento como Heroku y Engine Yard.
Net Beans
NetBeans es un IDE de código abierto y una plataforma que
ayuda a los desarrolladores a implementar rápidamente páginas web, aplicaciones
de escritorio y aplicaciones para dispositivos móviles. Suspendieron el soporte
a Ruby en 2011, debido a que Oracle introdujo un nuevo kit de Java Dev, pero lo
trajeron de vuelta otra vez para el disfrute y gozo de todos los programadores
que utilizamos este lenguaje y nos chifla este IDE. En realidad, Net Beans está
pensado para desarrollar en Java aunque también es compatible con JavaFX, PHP,
JavaScript, Ruby & Ruby on Rails, Groovy and Grails y C / C ++.
0 comentarios:
Publicar un comentario