¿Qué puede hacer PHP que Ruby no puede, y viceversa?

Primero, intentemos comprender por qué quiere elegir una tecnología específica. Todas las tecnologías prosperan en la comunidad, herramientas, bibliotecas y aplicaciones. Como propietario de un negocio, es posible que desee una tecnología que durará muchos años más allá del inicio del proyecto. Como desarrollador, desea una tecnología que se mantendrá el tiempo suficiente para que pueda obtener un retorno de la inversión. Los propietarios o desarrolladores de negocios a menudo basarán sus decisiones en sus colegas y en la comunidad, dependiendo de qué tecnologías sean altamente recomendadas. En este artículo repasaremos los pros y contras de PHP y Ruby on Rails. Veremos cómo PHP y Ruby on Rails se pueden comparar con temas comunes como escalabilidad, mantenimiento, rendimiento, costos y soporte.

Manzanas VS Naranjas

Comparar PHP con Ruby on Rails no es justo. PHP es mucho más popular que Ruby on Rails, solo porque Ruby on Rails es un framework web, no un lenguaje de programación. Ruby es el lenguaje detrás del framework Ruby on Rails, y PHP es el lenguaje utilizado para escribir aplicaciones. Ruby on Rails es comparable a Zend Framework, Codeigniter, Laravel, Symfony2, CakePHP y muchos otros frameworks web basados ​​en PHP. Entonces, para entender por qué hay tanta popularidad entre Ruby on Rails, es mejor visualizar primero las búsquedas de las personas.

Este gráfico de tendencia de Google muestra que todos los marcos de web PHP aún no suman la cantidad de búsquedas realizadas para Ruby on Rails (en azul). De hecho, el único marco web que está creciendo en el mundo PHP es Laravel. Entonces, ¿por qué Ruby on Rails es tan popular?

Bueno, una gran parte de la creación de una aplicación web es decidir qué bibliotecas usarás, cómo organizar tu aplicación y muchos otros factores. Hasta la fecha, muchos proyectos de PHP aún no usan un marco web maduro y probado. Muchos desarrolladores de PHP preferirían crear un nuevo framework PHP, en lugar de utilizar los populares frameworks como Zend Framework, Symfony2, etc. debido a la complejidad de una aplicación, como con cualquier framework pasarás mucho tiempo aprendiendo a usar eso. Por lo tanto, Ruby on Rails intenta simplificar el proceso de aprendizaje de su marco mediante el uso de convenciones sobre la configuración; en otras palabras, usted (el desarrollador o propietario del negocio) tiene poco que decidir a la hora de ejecutar, organizar o incluso hospedar la aplicación.

Esto puede parecer algo bueno, y en su mayor parte, realmente lo es, razón por la cual Ruby on Rails es tan popular. Sin embargo, desde entonces, muchos frameworks web PHP lo han reconocido y están siguiendo los pasos de desarrollo de Ruby on Rails. Esta podría ser la razón por la cual el crecimiento de la comunidad de Ruby on Rails se ha estancado en los últimos años. Ahora, mientras que los otros marcos web se muestran como un pequeño porcentaje, aún deberá tener en cuenta que PHP está enfocado en la web. Entonces, casi todo lo que escribes en PHP se ejecutará en la web, mientras que en Ruby, no tendrás muchas opciones sobre qué código puedes escribir para desarrollar una aplicación web.

I. Escalabilidad y facilidad de mantenimiento

Ya sea PHP o Ruby on Rails, ambos tienen la capacidad de escalar. Sin embargo, debido a la cantidad de recursos que utiliza Ruby en comparación con PHP, los problemas de escalabilidad surgirán mucho antes en el ciclo de vida de su aplicación. Escalar una aplicación en Ruby on Rails versus PHP abordará problemas muy comunes. Por lo tanto, la escala se basará en cómo se diseñó la aplicación. También hay servicios en línea para ayudar a resolver problemas de escalado como el uso de Amazon Elastic Beanstalk o Rackspace Cloud Sites. La situación se vuelve muy diferente cuando pasas de querer escalar a necesitar escalar. Cuando un desarrollador no tiene la experiencia para escalar una aplicación, la ruta más común es encontrar artículos en línea, tutoriales y otros recursos para aprender. Entonces, cuando se trata de escalar un sitio web, hay muchos recursos escritos para desarrolladores de PHP, mientras que Ruby on Rails tiene un grupo de información mucho más pequeño.

En cuanto a la facilidad de mantenimiento, esto depende de la organización de la aplicación. Siempre que el desarrollador esté usando un marco web, entonces el mantenimiento general será más fácil. PHP ofrece una selección masiva de marcos web, todos diseñados para objetivos específicos, mientras que Ruby tiene una selección mucho más limitada (aparte de Ruby on Rails).

II. Rendimiento y velocidad

Dado que PHP es un lenguaje, y Ruby on Rails es un framework web, tendrías que tomar el rendimiento con un grano de sal. El objetivo de utilizar un marco web completo es ganar productividad a expensas de la velocidad. Así que vamos a poner un poco de perspectiva sobre esto.

Aquí hay una tabla de una aplicación muy simple de “hello world”. A continuación puede ver cuán rápido es puro PHP cuando se trata de solicitudes: recuerde, es un lenguaje diseñado para la web. Sin embargo, una vez que comienzas a introducir los populares frameworks web de pila completa, el rendimiento disminuye, y las solicitudes por segundo se acercan al número de Ruby on Rails. De hecho, un popular web framework Laravel tiene un desempeño peor que Ruby on Rails. Como resultado, la mayoría de los puntos de referencia son inútiles, porque hay mucho más en el rendimiento y la velocidad de una aplicación que el lenguaje o el marco web. Por ejemplo, el sistema de base de datos, los mecanismos de almacenamiento en caché y las demoras de red pueden agregar una ralentización de 10x a 100x. Entonces, cómo es el diseño de la aplicación es mucho más importante que el lenguaje o el marco web detrás de él.

En general, Ruby y PHP son algunos de los idiomas más lentos para elegir, pero Ruby toma más recursos que PHP. Con los problemas de rendimiento dados, ambos idiomas han tomado medidas para ayudar a reducir la lentitud que surgen en las aplicaciones cotidianas. Ambos lenguajes tienen varios tiempos de ejecución, sus tiempos de ejecución centrales, como MRI para Ruby y Zend Engine para PHP. Usar esos tiempos de ejecución es bastante lento comparado con otros lenguajes. Ha habido varios intentos de resolver estos problemas. Ha habido trabajo para ejecutar ambos lenguajes en la JVM, que es lo que Java usa como su tiempo de ejecución. El motivo para ejecutar JVM no es solo la velocidad, sino también todo lo que Java tiene para ofrecer. Sin embargo, solo porque se ejecutan en JVM no garantiza una aplicación más rápida. Hay cosas en la JVM que se ejecutan más despacio. Entonces, si necesita que su aplicación se ejecute lo más rápido posible, también está Rubinius para Ruby y HHVM para PHP, que están diseñados para ejecutar sus aplicaciones más rápido, a expensas de la compatibilidad limitada con la plataforma. Por ejemplo, Rubinius y HHVM no son compatibles con Windows. No son compatibles con todo lo que ofrecen los tiempos de ejecución del núcleo, por lo que tendrá que cambiar ciertas partes de su aplicación para garantizar que pueda ejecutarse en estos tiempos de ejecución de alto rendimiento.

III. Costo

La escasez es un concepto fundamental de la economía. Entonces, si tiene diez desarrolladores de PHP por cada desarrollador de Ruby, y la función del proyecto depende del idioma, habrá un claro ganador en los costos. PHP, debido a su fuerte competencia, tiene precios más bajos. Como propietario de un negocio, si su motivo se basa en los costos, este debería ser un incentivo muy útil. Existe el dicho “Obtienes lo que pagas”, pero eso no significa que tengas que pagar la misma cantidad por la experiencia disponible. PHP tiene una curva de aprendizaje muy fácil. Además de eso, muchos desarrolladores de PHP son nuevos en la programación en general y en la programación de aplicaciones web en particular.

Por otro lado, Ruby es un idioma más difícil de aprender, por lo que las personas que eligen ese idioma ya saben cómo programar. Es muy natural que un desarrollador de PHP se mueva a Ruby on Rails y su experiencia en la transferencia mundial de PHP a Ruby. De hecho, muchos desarrolladores de Ruby fueron desarrolladores de PHP. Entonces, ¿por qué los desarrolladores saltan a Ruby on Rails? Bueno, esta respuesta sería la misma para casi cualquier otro lenguaje de programación que no sea PHP. En cualquier otro idioma (excepto PHP), el idioma lo limitará en el código que puede escribir, así como en lo que está disponible para usar. Por lo tanto, se convierte en un método común para crear aplicaciones web en ese idioma. Por ejemplo, C # tiene el sitio oficial Microsoft ASP.NET, Python tiene Django, Node.js tiene Express, Lua tiene Orbit, y la lista continúa. Por lo tanto, para poner esto en perspectiva, digamos que tuvo la opción de interactuar con una audiencia masiva, o estar entre profesionales seleccionados que comparten los mismos objetivos. Tendría sentido que las aplicaciones más reconocidas se construyan en los idiomas que tienen la mayor audiencia, por lo tanto, PHP es el idioma de destino. Aplicaciones como WordPress, Drupal, Magento, Facebook, son solo una pequeña fracción de las muchas aplicaciones disponibles, que están escritas en PHP.

Cuando se trata de alojar sus aplicaciones de Ruby on Rails, los costos pueden subir muy rápidamente. Te resultará más difícil encontrar un alojamiento que admita una aplicación Ruby on Rails, y las grandes marcas no son baratas. Comienzan en $ 40 y rápidamente saltan a $ 500 o más. Incluso hay algunas compañías que ofrecen alojamiento gratuito, pero cobrarán una gran cantidad de tarifas cuando necesiten ampliar sus necesidades de alojamiento. Casi todas las empresas de hosting que ofrecen alojamiento de Ruby on Rails también proporcionarán alojamiento PHP. Algunos de los proveedores de alojamiento más baratos ofrecen versiones antiguas y desactualizadas de Ruby (el idioma), lo que te limita a versiones anteriores de Ruby on Rails. También ejecutan su aplicación Ruby on Rails como CGI, que es la forma más lenta de ejecutar su aplicación web.

IV. Soporte y recursos

PHP tiene un grupo muy grande de desarrolladores y recursos en línea. Ruby on Rails también ofrece muchos recursos en línea, pero hay muchos más recursos disponibles para PHP. Sin embargo, muchos recursos que encontrará tanto para PHP como para Ruby on Rails, a menudo están desactualizados o son incorrectos. Esta es la naturaleza de confiar en Internet para obtener recursos. Ha habido iniciativas en ambas comunidades para crear guías definitivas. Por ejemplo, PHP tiene PHP: The Right Way, que ayudará a los recién llegados a evitar trampas comunes, como seguridad, instalación, prácticas de codificación multilingüe, pruebas, etc. Mientras que Ruby tiene una gran selección de podcasts y contenido de video profesional.

También hay sitios web como Stack Overflow que proporcionan recursos más actualizados. En Stack Overflow, para cada pregunta de Ruby on Rails, hay cinco preguntas de PHP. La pregunta más votada tiene 480 votos para Ruby on Rails, mientras que la pregunta más votada de PHP tiene 2660 votos. Un aspecto extraño es que parece que hay muchas más preguntas sobre Ruby on Rails y luego sobre el lenguaje de Ruby. También hay extrañas revelaciones en Ruby on Rails, ya que se trata más del movimiento que del idioma o el código.

De hecho, su rareza ha ganado tanta fuerza, que Ruby on Rails tiene comunidades de nicho especiales como Rails Girls, que es un sitio web diseñado para ayudar a las mujeres a crear aplicaciones en línea. Van por todo el mundo alentando a las mujeres a involucrarse en la tecnología. En el lado de PHP también está http://phpwoman.com, que ha existido por más de 7 años, pero carecen de la tracción viral que produce Rails Girls. Y eso es lo que hay que recordar, gran parte de la fama de Ruby on Rails proviene de la comunidad, al comenzar con individuos muy dedicados, ha creado algo que tiene un valor de mercado tan fuerte. No importa si es lento o si hay soluciones que son mejores, las personas ven y desean formar parte de la comunidad.

V. Tiempo para implementar

Ambos lenguajes presentan tiempos de desarrollo rápidos, debido a que son un lenguaje interpretado. Para Ruby on Rails, apareció el famoso video “Crear un blog en 15 minutos”, que atrajo a muchos desarrolladores web de todos los idiomas. Ese video estableció el estándar de lo que un marco web debe hacer para crear rápidamente aplicaciones. Desde entonces, los videos posteriores se han producido en otros lenguajes y marcos, como crear un blog en 20 minutos con PHP CodeIgniter. Otra cosa que Ruby on Rails es conocida es el andamiaje. El andamiaje es el proceso de generar código basado en algunos parámetros conocidos. El andamiaje es una herramienta muy poderosa para ayudarlo a llevar su aplicación al mercado. FuelPHP proporciona muchas funciones similares que ofrece el andamio de Ruby on Rails.

VI. Editores y herramientas

Esta es un área donde PHP supera a Ruby on Rails. PHP ofrece una gran variedad de editores y herramientas. Cuando se trata de evaluación comparativa, creación de perfiles y depuración, PHP tiene éxito al tener más opciones. Es incorrecto suponer que hay algo que Ruby on Rails puede hacer, que PHP no puede hacer. Sin embargo, hay cosas que a ambos les va bien, y a ambas no les va tan bien, o pueden no lograrse tan fácilmente.

La mayor parte de la preocupación sobre los límites de PHP está relacionada con los costos de alojamiento. Por ejemplo, para hacer ciertas cosas en PHP necesita una extensión, llamada pecl. Muchos hosts compartidos tendrán un puñado de estos instalados, pero no puede instalar el suyo propio. Por lo tanto, si desea instalar el suyo, deberá confiar en un servidor privado virtual, un servidor en la nube o un servidor dedicado, que son tan caros como el alojamiento de Ruby on Rails, ya que necesita los mismos requisitos. Por lo tanto, la mayoría del software PHP que proviene de la comunidad PHP debe confiar en las características del lenguaje antiguo y en la funcionalidad paralizada, ya que están diseñadas para ejecutarse en entornos de alojamiento compartido.

VI.I TAREAS DE ANTECEDENTES

Una tarea en segundo plano es algo que muchas aplicaciones querrán realizar para preservar la experiencia del usuario al proporcionar un tiempo de respuesta rápido. Son ciertas cosas que pueden tomar mucho tiempo en completarse. Por ejemplo, si su usuario intentó eliminar una gran cantidad de datos, es posible que la aplicación lo ejecute como una tarea en segundo plano, y de esta manera el usuario no necesita esperar a que se complete esa acción. También hay diferentes formas de ejecutar una tarea en segundo plano. Tiene hilos, lo que puede o no ser una buena idea, ya que podría bloquear su aplicación completa. También hay tareas asíncronas, que se ejecutan pero se retrasan o pueden ejecutar pequeñas partes de la operación a la vez. Las otras soluciones incluyen ejecutar una tarea en un proceso diferente, servidor o grupos de servidores.

Para Ruby on Rails, tiene Threads fuera de la caja, pero hay una gran cantidad de Gems (bibliotecas) para considerar que están diseñadas para trabajar con Ruby on Rails. Workling, Starling, Resque y muchos otros le ayudarán a diseñar su aplicación para que pueda ejecutar un proceso largo, decir algo como un correo electrónico, cálculo o incluso una tarea programada.

Sin embargo, para PHP, la imagen es muy diferente. Hay una extensión llamada pthread, pero no está diseñada para un tipo de tarea de “disparar y olvidarse”, como un correo electrónico. En cambio, te obligan a tomar algunas decisiones, lo que también puedes hacer en Ruby on Rails. Lo primero es diseñar su aplicación correctamente para que funcione junto con un sistema de administración de tareas. Por ejemplo, Gearman es un marco independiente del idioma para procesar trabajos. Se conecta a todos los idiomas y lo único que tiene que hacer la aplicación es comunicarse con él con una carga de trabajo, como un correo electrónico.

Por lo tanto, aunque las tareas en segundo plano pueden ser realmente sencillas en Ruby on Rails, generalmente conducen a un mal rendimiento o a aplicaciones que no pueden escalar. La solución final que muchos desarrolladores eligen es algo así como Gearman (que también se puede usar en Ruby on Rails). Esto solo lleva al punto de lo fácil que es retrasar una parte complicada de su aplicación en una etapa posterior, cuando se convierte en un problema. La otra opción en PHP es seguir lanzando una solicitud al servidor web, y esa solicitud verificará que una tarea lo haga. Esto normalmente lo ejecuta un programador de tareas basado en el tiempo, como cron, chronos, launchd, cronie, etc. Los programadores de trabajos basados ​​en el tiempo son los que más se utilizan cuando se trata de aplicaciones PHP.

VI.II MOTORES DE PLANTILLA

Un motor de plantillas es una forma de crear y reutilizar interfaces de usuario basadas en información dinámica impulsada por datos. Hay más de 50 motores de plantillas en PHP, sin incluir el hecho de que puede usar PHP como motor de plantillas. Por otro lado, Ruby solo tiene varios motores de plantillas útiles. En el contexto de Ruby on Rails, solo hay 2-3 motores de plantillas que funcionarían bien con ese marco.

VII cierre

Entonces, recuerde que hay mucho que considerar al crear una aplicación y si realmente hay algo que quitar de este artículo, no es que sea una solución pobre, es solo que el idioma es la menor de sus preocupaciones. Aquí hay un resumen rápido de los elementos a los que puede hacer referencia:

PHP

  • Gran grupo de desarrolladores
  • Soluciones asequibles
  • Amplio conocimiento
  • Diversa selección de herramientas
  • Fácil de aprender

Ruby on Rails

  • Rápido de comercializar
  • Más fácil de encontrar trabajadores calificados
  • Comunidad apasionada
  • Siempre cambiando

Estos lenguajes (como todos los “lenguajes de programación”) son completos de Turing, por lo tanto, en términos de lo que pueden calcular, no hay nada que uno pueda hacer que otro no pueda.

Ahora, en cuanto a las características del lenguaje central, sí, hay algunas diferencias, por ejemplo:

  • Hay paso por referencia en PHP y no hay en Ruby
  • Todo es un objeto en Ruby mientras que no está en PHP (números, booleanos, matrices, cadenas, nulos, recursos, etc. no son objetos)
  • Las clases PHP no tienen clase base universal, mientras que en Ruby es Object
  • PHP combina matrices y diccionarios como “matrices”, mientras que Ruby tiene Array y Hash por separado
  • En PHP cuando defines una función con nombre regular, es una función global. En Ruby, no hay funciones globales; “def” define un método en alguna clase o módulo (puede ser el módulo actualmente abierto)
  • PHP tiene más conversiones implícitas entre los tipos; por ejemplo, puede tomar una cadena que representa un número y usarla en operaciones matemáticas como el número, y puede tomar un número y usarlo en operaciones de cadena como la representación de cadena; generalmente no puedes hacer esto en Ruby
  • Las variables PHP tienen un signo de dólar ($) frente a ellas, para bien o para mal
  • y muchos otros…

Obviamente también hay grandes diferencias en las bibliotecas estándar de los dos idiomas, pero no entraré en eso aquí ya que es un problema menor de lenguaje.

“PHP no se puede arreglar. Lo he dicho antes y lo diré de nuevo:
sus desarrolladores no tienen ni idea sobre el diseño del lenguaje,
no tienen interés en lo que sea que haya sucedido en los últimos 40 años
del diseño del lenguaje, y no tienen ningún concepto de seguridad.
Es un tipo de lenguaje de fregadero de cocina y tu mamá como VB6,
sin arquitectura, sin filosofía y sin concepto de qué
constituye buenas prácticas de programación.

PHP: lenguaje de un solo subproceso, con poca funcionalidad e incoherente.
FB está atascado con PHP porque fue elegido en 2004.
(Evolución del diseño del código en Facebook,
Nick Schrock)

Si puedo referirme a algunos ejemplos, mira qué creador de PHP,
Rasmus Lerdof, considera que es un buen código:
El marco sin marco MVC de PHP

La sintaxis es muerte cerebral e irreparable. Se ve feo a la vista
y desorganizado Las funciones no siguen ninguna convención en orden
parámetros o nombres Las clases son un truco que intentamos tomar de Java,
posiblemente la peor opción disponible. No hay metaprogramación
hablar de.

No puedes arreglar PHP. La única esperanza es aniquilarlo de la órbita “.
(por http://www.reddit.com/r/programm)

Más:

Ruby es más flexible que PHP en términos de características del lenguaje.

PHP cambió mucho en las últimas versiones.

Ahora puede usar algún tipo de comprobación de tipo y muchas características que Ruby no tiene (y probablemente nunca) tendrá.

PHP es más simple en términos de desarrollo, simplemente sube un archivo index.php y está configurado para tener una página web, por supuesto, esto no funciona bien con las aplicaciones reales, pero PHP proviene de antes de que esas aplicaciones alguna vez existieran.

Ambos tienen marcos similares, también, Laravel y Rails son como gemelos, de la misma manera que Sinatra y Silex. (Por lo general, me encanta más la forma de Sinatra / Silex de expandir mis aplicaciones que la forma de Laravel / Rails, pero eso es gusto y no porque uno sea mejor que el otro)

Ruby tiene clases abiertas, pero la gente tiende a decir que modificar las clases no es una buena idea para Ruby.

PHP tiene enunciados no transitivos, a veces si A == B y B == C, A! = C en PHP, sí, sí, está el operador === y tal, pero eso no hace que el operador == sea intransitivo válido.

Si consideras que uno de los dos lenguajes tiene un campo minado más grande, PHP lo hace con certeza, eso no significa que el rubí sea mejor, pero no necesitas usar la mejor herramienta, usa la herramienta que te conviene.

Ambos lenguajes tienen programación funcional, OOP y muchos más, Ruby es probablemente más limpio en programación funcional porque los métodos pueden pasar bloques y esos son parte de la sintaxis. aún las personas tienden a confundirse un poco sobre cómo funcionan los bloques cuando las personas comienzan a hacer programas de ruby.

El único problema con el rubí es que no se puede hacer mucho con sus hilos verdes, pero de nuevo, el tweeter logró trabajar con muchos usuarios al mismo tiempo con rieles, así que si fue lo suficientemente rápido para Twitter durante bastante tiempo, es posible que usarlo también

Como respuesta corta, sugeriría usar PHP si planea usar “tipado estático” en su código, está buscando muchas opciones de trabajo (es más grande para PHP, incluso si Rails ya no es “pequeño”) o usted realmente necesita el pequeño aumento en el rendimiento (no es lo suficientemente grande como para quejarse), de lo contrario, aprende Ruby on Rails.

Con PHP, iniciar una aplicación web es fácil como editar un archivo y colocarlo en un servidor web de $ 8 al mes. No necesita administrar paquetes, formular declaraciones de importación o conocer MVC para construir una aplicación web respaldada por una base de datos. Simplemente funciona. PHP se trata de hacer las cosas para las personas que no les importa lo suficiente sobre la elegancia o el código bien diseñado para cambiar de idioma.

En términos de características del lenguaje, PHP no tiene nada significativo sobre Ruby.

PHP puede hacer que nunca más quieras codificar en PHP.

Ruby no tiene el mismo efecto en sí mismo.

(Aunque, la codificación en Ruby también hace que nunca más quiera codificar en PHP. Así que son lo mismo, pero diferentes).

Una de las mayores diferencias entre Ruby y PHP (que extraño cuando vuelvo a PHP para proyectos pequeños / heredados) es abrir clases. Puede volver a abrir cualquier clase y extender, reemplazar o agregar cualquier método dentro de esa clase, desde dentro de su aplicación. Imagine que puede agregar una función a la clase Integer central (ancestro de cada número entero) que dice si un número es par o no.

  clase Entero
   def incluso?
     (self.modulo 2)
   fin
 fin

 42.even?  # => verdadero

Agregue eso en cualquier lugar al principio de su aplicación, y todos los enteros heredan el método a partir de entonces. Ejemplo completamente artificial, por supuesto, pero de tales pequeños bits son grandes frameworks como ActiveSupport construido.

No soy un experto, pero este artículo que he publicado a continuación sobre Ruby presenta un excelente punto.

A saber, lo que él haga no debería ser posible. Y es un signo bastante peligroso en un idioma.

No obstante, el rubí sigue siendo bastante impresionante.

https: //www.destroyallsoftware.c

Aquí está el artículo completo sobre este tema PYTHON vs PHP vs RUBY 2015 | Encontrar todo junto

Puede conseguir trabajos de mierda.

¿Qué puede hacer PHP que Ruby no puede?”

¿Te da todas las herramientas para hacer un lío completo de cosas?

Simplemente no hay comparación. PHP es una vergüenza de un idioma. Ruby está bellamente armada.

Podría seguir (fui desarrollador de PHP durante 4 años antes de mudarme a Ruby), pero no lo haré porque ni siquiera vale la pena hablar de ellos.

Ruby y Python son un enfrentamiento mucho más interesante.