¿Qué ventajas tiene Ruby sobre PHP para aplicaciones web? ¿Ruby supera PHP en versatilidad de desarrollo web?

En un nivel técnico, supera las manos de PHP. De la misma manera que Python o Java también lo hacen. Pero desde un punto de vista cultural y una simple inercia simple, PHP sigue siendo el campeón de la web.

Como respondí en otra pregunta, PHP se creó en el momento adecuado con el conjunto correcto de características. Más fácil que C / C ++ CGI. Más fácil de aprender que Perl con su gran cantidad de opciones. Python y Ruby no estaban listos para eso y pocas personas sabían de ellos. Java no estaba listo para el horario estelar de internet. ASP no fue creado. .NET no fue creado. Lugar correcto en el momento correcto. Difícil de superar eso.

Pero PHP está mostrando su edad. Claro, los sistemas de almacenamiento en caché y muchas otras herramientas pueden ayudarlo a sobrevivir más tiempo, pero PHP nunca tuvo la intención de servir como plataforma. No es posible escribir un servidor de aplicaciones para PHP de la misma manera que con Java. No puede tener procesos PHP duraderos debido a la cantidad de fugas. Entonces, la única arquitectura posible para PHP es matarlo de vez en cuando y volver a cargar todo más tarde. Y cuanto más grande sea el marco, más tardará en reaparecer un proceso PHP.

El prometido Facebook / PHP nunca se lanzó al público. Quercus (PHP en Java) nunca se convirtió en la corriente principal. Entonces PHP está atascado con páginas web. Y cuanto más simple, mejor.

Ruby (y Python, y Perl, de manera similar), fueron diseñados como lenguajes de uso general. Puede construir servidores TCP, puede aprovechar las bibliotecas a nivel del sistema operativo como libevent para conexiones altamente concurrentes. Puede construir servidores de aplicaciones web. Puede crear sistemas de colas de mensajes. Puedes construir aplicaciones de escritorio. Puede crear procesos duraderos, aunque Ruby todavía solo tiene un recolector de basura rudimentario (en comparación con Java o .NET).

Y sí, supera PHP para el desarrollo web. Pero nada es gratis y tampoco creemos en almuerzos gratis. Por supuesto, es mucho más exigente para el programador. Tienes que comprobar tu informática aquí. Con PHP y la pila LAMP, simplemente copie y pegue un código aleatorio, presione F5 para volver a cargar el navegador y listo.

Con marcos más complejos, ayuda si sabes lo que está sucediendo debajo. Necesitas saber OOP real. Debe comprender al menos los conceptos básicos de la programación funcional si realmente desea aprovechar el lenguaje. Hay toneladas de bibliotecas diferentes para aprender.

Entonces no es fácil. Pero creo que si te gusta la carrera de programación, deberías mirar seriamente fuera de tu cajita y ganar muchos idiomas diferentes para hacer tu trabajo, Ruby es uno de ellos (pero no el único).

El éxito de Ruby puede atribuirse en gran medida a Rails. Rails es un gran marco para aplicaciones web y se ha prestado mucha atención a las API que los desarrolladores usan para crear aplicaciones. Existe una filosofía de ‘convención sobre configuración’ que significa que si está familiarizado con una aplicación Rails se sentirá como en casa en otra. Es intuitivo de usar y ayuda a escribir código limpio y reutilizable. A veces, PHP puede parecer una sopa y, en mi opinión, hay una mayor responsabilidad sobre los desarrolladores para mantener las cosas bien organizadas. Rails está diseñado para aplicaciones web, por lo que es más rápido andamiaje y despega aplicaciones que PHP. ¡También hace a los desarrolladores más felices!

Otra atracción es que hay muchos desarrolladores inteligentes que usan Rails y resuelven problemas con los que es probable que te encuentres. Publican gemas de código abierto que resuelven problemas comunes como la autenticación, la interacción con los servicios web y el rendimiento. La fuerza y ​​la inteligencia de la comunidad es una gran atracción de Ruby.

La comunidad PHP tiene marcos en Zend y CodeIgniter, pero casi todos los desarrolladores que conozco que han trabajado con PHP o Ruby elegirán Ruby.

Ruby no está exento de problemas: PHP es mucho más eficiente, pero este es un problema en el que se está trabajando. También se considera que PHP es más accesible: es más fácil encontrar entornos de alojamiento y se ve como hacer el trabajo con un mínimo de alboroto.

Recomiendo invertir el tiempo para explorar Rails y Ruby, no te arrepentirás.

Cambié de PHP a Ruby para desarrollo web; esta es la razón por:

  • PHP es una especie de lenguaje feo y adoquinado (ver ¿Cuáles son los horrores de PHP?). Hace el trabajo y corre más rápido, pero Ruby, en comparación, se siente hermosa y productiva.
  • Rails es un marco maduro con una gran comunidad, y hace que muchas cosas sean muy fáciles. Si bien existen marcos de aplicaciones web para PHP, el panorama está más fragmentado y parece que está portando lentamente buenas ideas del mundo Ruby / Python para las personas atrapadas en PHP.