Como programador web, actualmente hago proyectos en ambos lenguajes. Sin ningún problema te puedes casar con uno de ellos. Son excelentes. Las diferencias radican en muy pocos elementos. Casi es una elección sentimental más que lógica. Sea cual sea tu elección, no saldrás perdiendo.

Por supuesto que mi palabra no es ley, pero tal vez mis 10 años de experiencia sirvan para alguien. O para elegir entre los dos o para mudarse de uno a otro. O solo experimentar. No busco alimentar una futura batalla en los comentarios. Sino aportar información. Y espero, que vosotros hagáis lo mismo.

PHP

Un lenguaje tan antiguo como el propio internet. El primero que consiguió que las páginas pasaran de ser estáticas a dinámicas. Pero no caigáis en el error, no esta obsoleto. Ha sabido adaptarse a los nuevos tiempos: orientación a objetos, bibliotecas, gestión de imágenes, etc.

Lo utilizan grandes empresas como Wikipedia y Facebook. Entre muchas otras. Wordpress, por ejemplo, esta realizado en este lenguaje.

En estos momentos esta de moda desarrollar a través de Laravel. Un Framework fantástico con todo lo que puedes necesitar para hacer cualquier tipo de web. Además, tiene una comunidad enorme.

Pros

  • Muy fácil de aprender.
  • Decenas de Frameworks: Symfoly, Laravel, Zend, Cake, CodeIgniter…
  • Gran demanda laboral. De todas las ofertas webs, el 90% piden este lenguaje.
  • Una comunidad increíblemente grande.
  • Compatible con casi todos los Hostings.
  • Wordpress. El CMS más famoso a tus pies.

Contras

  • Lento, comparado con sus competidores. Y más si utilizas un Framework como Laravel. Esto se debe principalmente a que no compila los archivos, no genera un bytecode intermedio. Son texto plano que debe interpretar en cada ejecución. Algo se arregla en la nueva versión (PHP7), pero no lo suficiente.
  • Más líneas de código. Para hacer la misma tarea que Python, te tocará escribir más.
  • Gran competencia laboral. Hay miles de personas con muchísimos más años de experiencia que tú.

Python

Normalmente un lenguaje de programación nace para agradar a la máquina, salvo Python que nació para agradar a la vista. Su sintaxis es bella, dulce y fácil de escribir. Lo puedes ejecutar en cualquier sitio. Funciona en Escritorio, Web y servidor . Un todo terreno. Y por si fuera poco tiene un rendimiento excelente.

No es un lenguaje menor, lo utilizan grandes Google y Youtube. Además es muy usado en el software libre, sobretodo en Linux.

La forma más divertida de trabajar es por medio de Django (aconsejado para proyectos grandes) y Flask (para pequeños).

Pros

  • Un placer de escribir.
  • Rápido.
  • Laboralmente mejor pagado. Actualmente los programadores de Python tienen sueldos más altos.
  • Fácil de desarrollar. No necesitas un servidor web para que funcione. Solo Python.
  • Gestor interno de paquetes. Instala y borra todos los módulos.
  • Comunidad muy buena. Todos los tutoriales y paquetes que necesites.

Contras

  • Pocos Hostings compatibles. Pero bueno, solo necesitas uno.
  • Sin un Framework es muy complejo desarrollar para web.
  • Puede llegar a ser un infierno desplegar en un Servidor Virtual si no tienes buenos conocimientos.