Actualmente, como programador web, hago proyectos en ambos lenguajes. Sinceramente sin ningún problema te puedes casar con uno de ellos. Los dos son excelentes lenguajes que pueden realizar las mismas Apps, hay muy pocos elementos que te obliguen a usar uno u otro. Aunque esas minúsculas diferencias no son para nada despreciables. Pueden hacer que un proyecto sea productivo o no. Empresas lo adopten o lo desprecien. Son importantes conocerlas si te consideras profesional.

Por supuesto que mi palabra no es ley, pero tal vez mis 10 años de experiencia sirvan para iluminar una elección. O para: migrar, experimentar, actualizarse, conocer un segundo lenguaje… No busco alimentar una futura batalla en los comentarios. Sino aportar información. Y espero, que vosotros hagáis lo mismo.

PHP

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: Symfony, 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 popular y 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

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 plataforma o sistema operativo. Utilizado para aplicaciones de escritorio, Computer Science, Inteligencio Artificial, administración de Servidores o Web (obviamente).

No tendrás problemas para empezar ya que viene preinstalado en Mac OS, Linux y en Windows 10 (versión programador). Además no necesitas ningún entorno de desarrollo para ejecutarlo, como puede ser XAMPP o similares. Sin duda Un todo terreno con un ascendente uso en varias áreas. Y por si fuera poco tiene un rendimiento excelente.

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

La forma más productiva de trabajar en Web es por medio de Django (aconsejado para proyectos grandes) y Flask (para personalizados o rápidos).

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 todas extensiones que necesites.
  • Comunidad con muy buena salud. Todos los tutoriales y paquetes que necesites.
  • Compatible con otras áreas, como la Inteligencia Artificial o Computer Science.

Contras

  • Pocos Hostings compatibles. Pero bueno, solo necesitas uno o cualquier VPN.
  • Sin un Framework es muy complejo desarrollar.
  • Puede llegar a ser complejo desplegar en un Servidor Virtual si no tienes buenos conocimientos de shell.
  • No es sencillo encontrar programadores.

Busqueda en Google a lo largo del tiempo