Como dijo Jérôme Renard, esta es realmente una pregunta Python vs Ruby, no Django vs Rails. Y, como se puede deducir de las otras respuestas a esta pregunta, no hay un ganador claro. Ambos son buenos, modernos, bien diseñados, flexibles, buenos para su productividad (a diferencia de PHP que falla en todos estos aspectos). Por lo tanto, elegir entre los dos realmente se reduce a un ajuste entre su personalidad / preferencias y las fortalezas del lenguaje.
Estos son los factores a considerar:
- Python realmente cree que la legibilidad del código es lo más importante. Por lo tanto, hay una forma verdadera de escribir código. Ruby cree en dar al programador la libertad y el poder. Estos son dos enfoques diferentes de programación, y el que elijas dependerá de tu personalidad. Vea estas dos preguntas para obtener más información sobre esta compensación: ¿Cuáles son las ventajas de Ruby sobre Python? y Python parece ser un lenguaje de enseñanza preferido en muchas universidades importantes, junto con C / C ++, Java y Scheme. ¿Qué tiene Python que lo hace más atractivo? ¿Por qué se prefiere Python a Ruby en la academia? (Terminé eligiendo Python porque estoy en una etapa en la que prefiero la legibilidad a la flexibilidad)
- ¿Vas a mantenerte principalmente en el desarrollo web o te irás ramificando a otras áreas? Creo que Ruby + Rails + etc. tiene una ligera ventaja sobre Python + Django + etc. para el desarrollador web, y tiene más mente compartida, mientras que para cosas como la manipulación de datos, análisis, administración de sistemas, programación científica, Python es más fuerte. (Creo que en los próximos años, el análisis de datos será grande, y los desarrolladores web no pueden / no deben ignorarlo, por lo que Python vuelve a ganar para mí)
- Perspectivas de empleo: esta es una tarea difícil. Creo que el índice TIOBE (http://www.tiobe.com/index.php/c…) muestra claramente que Python está muy por delante de Ruby en los trabajos. Sin embargo, este punto está relacionado con el punto anterior. Esperaría que muchos de los trabajos de python no sean web-dev. Entonces, suponiendo que esté interesado en el desarrollo web, supongo que hay más trabajos de Ruby en este momento.
- Actualización: Heroku ahora es compatible con Python / Django, por lo que este punto de viñeta ya no es completamente relevante. -Gracias a Quora User y Carl Gao. (Mantenida aquí para fines históricos: “Hosting” – esto es más una cosa a corto plazo, pero lo enumero por completo – Rails tiene Heroku, la plataforma muy fácil y conveniente para implementar aplicaciones Rails. Python / Django no tiene un equivalente de Heroku (aunque hay muchos en proceso: ¿Cuál es el equivalente de Heroku para las aplicaciones de Django?). Python tiene Google AppEngine, pero no es del todo ideal por varias razones. En cualquier caso, no creo Este aspecto seguirá siendo un problema durante más de 6 a 9 meses).
Y no estoy de acuerdo con Nicolas Perriault (y estoy de acuerdo con Jean-Hadrien Chabran) en que no se pueden aprender ambos en un tiempo razonable. Claro, puede rascar la superficie de ambos, pero realmente no tiene una idea real del marco a menos que haya estado escribiendo código no trivial durante al menos 6 meses (cada uno). Deberá atender una llamada en función de su instinto.
- ¿Cómo implemento una aplicación de servidor cliente simple?
- Cómo comenzar a construir páginas web después de haber aprendido HTML y CSS con un poco de conceptos básicos de JS
- Como principiante, ¿qué debo hacer para comenzar a desarrollar web y qué cursos debo tomar?
- ¿Por qué están en quiebra los desarrolladores web?
- ¿Cuál es una buena manera de comercializar sitios web estáticos?