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

¿Qué es parte del back-end en el desarrollo web?

¿Cuáles son algunas sugerencias para cualquier buen libro o sitio web para aprender programación de back-end?

Cómo contratar buenos desarrolladores de back y front end en Sofía, Bulgaria

¿Cómo conectar una aplicación de Android con 'mi propio back-end de base de datos en tiempo real de Node.Js'? ¿Cómo lo mantengo sincronizado todo el tiempo con mi back-end?

¿Node.js se convertirá en la mejor alternativa para el desarrollo de backend en 2015?

Sé cómo desarrollar aplicaciones simples de Android que almacenan datos localmente. ¿Qué habilidades de software debo aprender a continuación para crear aplicaciones que puedan manejar la sincronización en línea?

Me ofrecieron un trabajo de ingeniería de software con opciones de hacer trabajos de backend o Android. ¿En cuál debería centrarme?

Cómo integrar un clasificador ML en el backend de una aplicación

¿Dónde puedo aprender desarrollo web front-end y back end para hacer un sitio web?

La base de datos M (escrita en MUMPS) es una base de datos NoSQL que existe desde la década de 1960. Todavía se usa ampliamente como el back-end de hospitales (VA) y bancos de todo el mundo. Dada una reputación de alta velocidad y rendimiento, ¿por qué no ha ganado más popularidad en el mundo de la programación?

Si soy muy competente en NodeJS pero no tengo experiencia en otra pila de backend, ¿sigo siendo un desarrollador de backend profesional?

¿Cuáles son los beneficios de aprender tanto la programación back-end como la programación front-end?

¿Cuáles son algunas de las habilidades de configuración y desarrollo de servidores que necesito aprender para convertirme en un desarrollador de back-end?

¿Qué lenguajes de back-end debes conocer para el desarrollo web?

¿Cuáles son los mejores idiomas de código abierto (front-end y back-end) para la plataforma de reserva de autobuses en línea como megabus.com?