Una observación a Ruby y Ruby on Rails (RoR)
Que tal comunidad, en verdad bastante tiempo sin postear, pero bueno he aquí algo que me es interesante y he decidido compartir…
En algunos post de mis compañeros de ihtoa ya se ha hablado de este gran lenguaje de programación, un poco de su historia y sus excelentes características como lenguaje de programación, resumiendo rápidamente, ruby tiene una sintaxis muy fácil de entender y aprender, así como muy parecida a la de python. Este lenguaje ha venido ganando popularidad gracias al uso que a tenido sobre todo en la web, por medio del framework RoR y nadamas (creo yo).
Para los que nos lean y no sepan la diferencia de Ruby y RoR, ahí va rápido:
Ruby: Lenguaje de programación tal como Java o PHP, el cual es interpretado.
Ruby on Rails: Framework para desarrollar aplicaciones web siguiendo el patrón MVC(Modelo Vista Control) construido tomando como base a Ruby, tal como Struts(de java) o Symfony(de PHP).
Mucho se ha comentado acerca de Ruby y Ruby on Rails para el desarrollo de aplicaciones web orientadas a la web 2.0, en donde se habla de todas las bondades de que ruby tiene como lenguaje… haciendo a un lado a lenguajes potentes como PHP o aun mas J2EE :O . Un par de veces he oído “RoR supera fácilmente a PHP o Java”,...para comenzar la comparación es totalmente errónea, no podemos comparar un framework como RoR contra el lenguaje PHP… en todo caso sería
Ruby Vs PHP
Ruby Vs Java
…ó
Ruby on Rails Vs PHP On Zend Framework
Ruby on Rails Vs PHP On Symfony
Ruby on Rails Vs Struts On Java
Así si se puede
Bien, durante una investigación que realice para cierta materia en mi escuela, me di a la tarea de profundizar en el lenguaje Ruby para averiguar que tanta verdad había. Ustedes y yo sabemos que en estos caminos de la informática no hay algo 100% bueno o como dicen 100% seguro, así que me di a la tarea de encontrarle algunos detalles al tal ruby… lo primero que hice fue aprenderlo hasta cierto punto para poder hacer pruebas y empezar a jugar cada vez mas serio con este…me di cuenta que es un lenguaje en verdad bastante poderoso, fácil de aprender y que implementa la POO de una forma excelente. Después de ello, empece a manejar un poco de RoR para probar que tal iban las cosas sobre web. Y me di cuenta que en verdad el desarrollar una aplicación web con el framework es bastante rápido y sencillo, y de verdad simplificaría las cosas en un proyecto a gran escala. Por otra parte no tuve la necesidad de estudiar mucho de PHP ya que amplia mente lo he usado en algunos trabajos incluyendo los frameworks para MVC de PHP.
Después investigue artículos indexados, noticias, etc. Sobre RoR y otros lenguajes y he aquí mis puntos de vista personales comenzando desde lo que yo creo que es pura publicidad hasta lo que yo creo que es verdad…
La publicidad
37signals (de RoR) hace una campaña en donde si bien no ataca agresivamente a PHP si lo hace con J2EE, tal ves no vea a PHP tan fuerte o quizás no quiere darle importancia.
Por otra parte PHP con Andi Gutmans tampoco ve a RoR peligrosamente o al menos tampoco lo demuestra pero dice algo así de: “Sentimos que PHP con Zend Framework es superior a RoR, y mientras otras personas lo vean de otra forma en cuanto a sus funcionalidades, definitivamente significa que Ruby estuvo siendo mejor publicitado.
El diseño ingenioso del sitio de RoR y el marketing viral usado por 37signals le dio a RoR un mejor boca a boca que a PHP. Afortunadamente, esto ayuda a elevar la imagen de Zend y a incitar aun mas el uso de su Framework.”
Si Ruby on Rails es lo mejor para web 2.0 debería ya haber muchas demostraciones y sitios web con este framework, pero no es así los ejemplos son contados y no digo ya el famoso “construya un blog en 15 minutos”, si no algo mas en serio, algo mas profesional. RoR ya tiene algo de tiempo y sus sitios son pocos sin mencionar que muchos de ellos son de la misma 37signals :S. (Se que el proyecto tal ves esta en sus fases iniciales y requiera cierto tiempo para crecer, pero mi objetivo es enfatizar lo que es hoy en día lo mas directo posible).
Potencia
Muchos “developers” como ya dije, erróneamente dicen RoR es más organizado y rígido a la vez que PHP es mas flexible a la vez de desordenado.
Pero Ruby y PHP son lenguajes Scripting con propósitos parecidos, con algo de diferencia en los enfoques, estando ruby mas enfocado a POO y php con un sentido un poco mas estructurado. Pero la organización que Rails le brinda a ruby bien y fácilmente se la puede otorgar otro framework a php
.
Por otro lado una debilidad de ruby aveces poco conocida o no muy publicitada xD es su bajo rendimiento en cuanto a la velocidad de ejecución :O, pruebas se han hecho demostrando esto, y aveces es notable en una aplicación grande, ciertas pruebas que ralizé no reflejan mucho esta debilidad a menos que sugiera parámetros considerables.
Benchmarks en diversos equipos y varias rutinas señalan a Ruby como un lenguaje lento, en comparación con PHP4, y más lento aun en comparación a PHP5. Pero, posee una excelente gestión de memoria, superior a las 2 versiones de PHP en el mercado actual.
En mi opinión personal seria genial hacer uso de ambos lenguajes, por un lado tener a Ruby on Rails para cierta parte de la aplicación, aprovechando su gran simplicidad de desarrollo, pero contar con php para partes mas delicadas las cuales requieran respuestas mas veloces y optimas. Como siempre pienso, hay que usar y saber de todo…
Saludos,
Adrián Pastor López Monroy
July 16th, 2008 at 11:54 pm
Buen aritculo ..xD..
todavia no me meto bien en esos menesteres..pero con esto demuestras la competencia.. en tecnologias..oye..me pregunto ¿ si puedes explicarnos en un posto sobre web 2.0 o si ya lo hiciste me dices.? va.. es ke no se mucho de eso..
July 18th, 2008 at 11:15 am
Claro que si _ENS_xD, en estos dias voy escribir un post sobre la web 2.0, explicando a que se refiere este movimiento…