Para el desarrollo web de back-end, ¿es mejor aprender PHP o Python?

Depende

No soy fanático de PHP. De hecho, he escrito algunos comentarios sobre el tema en Quora y, en general, considero que es inferior a otros idiomas.

Si está escribiendo algo que necesita ser lo más rápido posible, Python supera PHP (¡si está usando el marco adecuado!) Para varias cargas de trabajo, hasta 20 veces en un punto de referencia. [1]

Sin embargo, si está planeando escribir algo no trivial y realmente necesita decidir entre Python y PHP (y puede usar PHP 7), en realidad consideraría PHP, ya que realmente puede obtener seguridad de tipo. Y la seguridad de tipo es realmente importante. [2]

Python es más elegante que PHP, por supuesto. Pero “elegancia” no ocupa un lugar destacado en mi lista de criterios para elegir un idioma para un proyecto; Priorizo ​​la capacidad de completar el proyecto con un mínimo de dolor. La seguridad de tipos puede ser más importante que la elegancia para ese objetivo.

Por otro lado, el soporte para bibliotecas relevantes también es crucial. Python tiene una gran ventaja en el aprendizaje automático. Probablemente no usaría nada más que Python o Java para los servicios de ML.

Pero lo que realmente recomendaría para mí servicios generales de back-end, si no estuviera limitado por la pregunta, sería usar Node.js con TypeScript, o incluso mejor, Go. Ambos son incluso más rápidos que Python, con Go siendo, con mucho, el más rápido, y ambos están creciendo en comunidad y soporte muy rápidamente.

Notas al pie

[1] Puntos de referencia del marco TechEmpower

[2] Tipos estáticos considerados útiles · RealMensch

En los últimos 15 años, solo he usado Python, Ruby y C # para API de pie para admitir aplicaciones web y móviles. Tengo un conocimiento limitado de PHP, pero lo considero más un lenguaje de script como las páginas de Microsoft Active Server de la vieja escuela utilizadas a fines de la década de 1990. En dichos lenguajes de secuencias de comandos, las etiquetas HTML están estrechamente vinculadas con el código incorporado del lado del servidor en línea. PHP es una opción fácil de aprender y poco complicada que sería suficiente para muchos requisitos del sitio web. Sin embargo, la mayoría de las aplicaciones web y móviles de grado industrial han desacoplado completamente las API de back-end que alimentan datos a las plantillas html de front-end a través de solicitudes http asíncronas desde JavaScript que se ejecutan en el cliente a lenguajes de programación de propósito general como Python en un servidor web (back-end). Para el desarrollo web backend desacoplado y verdadero, Python es la mejor opción de las dos. Para aplicaciones web simples con funcionalidad limitada (por ejemplo, algunas publicaciones de formulario), PHP probablemente sería el camino de menor resistencia.

Depende de cuál sea su objetivo, entre otras cosas.

Si está tratando de defender un proyecto paralelo que es bastante simple, puede hacerlo fácilmente con PHP y una solución de alojamiento barata como DreamHost (incluso tienen certificados SSL gratuitos).

Si va a un proyecto más serio, Python con un marco como Django puede ser más apropiado, pero también puede necesitar un plan de alojamiento más serio, etc. Además, espere pasar más tiempo aprendiendo el idioma y el marco.

Si también está tratando de ser comercializable, pero esto se aplica más o menos a los 2 escenarios anteriores, incluso si no lo es, le sugiero encarecidamente que mire Node.js con Express. Es muy fácil comenzar en su máquina local y hay mucho soporte para implementar en varios entornos de nube y también muchos tutoriales.

Aquí hay uno que puede abordar en unas pocas horas para mojarse los pies: Tutorial – Comenzando con Node.js, Express, MongoDB.

Espero que esto ayude…

Pitón. Cuanto más se expanda el alcance de su aplicación de back-end, más se beneficiará al usar un lenguaje de programación de propósito general (y su ecosistema de bibliotecas y marcos).

PHP es un lenguaje creado específicamente para generar páginas web dinámicas. Python tiene una gran historia web, pero también es un poderoso lenguaje de propósito general que no se sentirá fuera de lugar cuando necesite escribir tareas de procesamiento asincrónicas (por ejemplo, enviar alertas de correo electrónico programadas) o herramientas de servidor (por ejemplo, implementar scripts).

Depende de tus necesidades. Si necesita crear un sitio web personal, por ejemplo, PHP es mejor porque está disponible en todos los servidores compartidos de gama baja, a diferencia de Python.

Si tiene más control sobre su servidor, ambos son bastante buenos. PHP es ahora un lenguaje bastante bueno, y tiene muchas bibliotecas y código en torno al desarrollo web. Python también es muy bueno y tiene muchas bibliotecas, genéricas o de desarrollo web. De alguna manera, puede ser una cuestión de gustos (el estilo de código Python no es apreciado por todos).

Php y Python hacen lo mismo, pero de manera diferente. Si solo estás aprendiendo uno o ambos, elige uno y listo.

No hay desventajas para uno u otro

More Interesting

¿Es una buena opción usar Firebase como back-end para una aplicación social móvil con una gran cantidad de usuarios?

¿Qué debo usar para una aplicación web / móvil back-end, Go o MEAN stack?

¿Cuál es la diferencia entre requerir y asignar módulos en NodeJS?

Además de aprender frameworks de backend, bases de datos e implementación, ¿qué tipo de habilidades necesito para convertirme en desarrollador de backend?

¿Es mejor comenzar con el código front-end o el código back-end al desarrollar un sitio web?

¿De desarrollador back-end a desarrollador front-end?

¿Los sitios que tienen un back-end dinámico usan los mismos idiomas que el front-end del sitio / plataforma?

Cuando un desarrollador back-end implementa una API, ¿debería tener una idea clara de lo que está haciendo el desarrollador front-end?

¿Por qué los desarrolladores de back-end hacen que los desarrolladores de front-end se sientan insignificantes?

¿Los programadores de back-end se burlan del diseño de front-end?

¿Cómo y por qué se usa C ++ para los servicios de back-end?

¿Cómo se construyen los sistemas backend de aplicaciones populares como pinterest? ¿Se construyen con enchufes o hay algo más?

¿Es normal que tenga más interés en los lenguajes de programación de fondo como php, c #, vb, java que javascript, ajax, etc.?

¿Debo profundizar en PHP o migrar a otro lenguaje de fondo? En caso afirmativo, ¿cuál debería ser?

¿Cuál es el proceso de conexión del código front-end (HTML / CSS) con el código back-end (Python) en el desarrollo web? ¿Puedes dar un ejemplo / recurso / tutorial?