¿Qué es mejor, PHP o Python? ¿Por qué?

La mejor respuesta

La respuesta de Oluwasegun es imparcial y buena, pero breve. La respuesta de Bobsy, aunque tiene algunos puntos válidos, es muy parcial y obstinada. Así que permítanme hacer todo lo posible para brindarles algo que no esté sesgado, establezca claramente lo que es / no es una opinión y proporcione ambos lados de la «historia». Lo siguiente tratará solo con el desarrollo web, no con el desarrollo de software (que por cierto se puede hacer con ambos).

En primer lugar, defina “mejor ”? Ese es un término increíblemente subjetivo que depende completamente de lo que estés buscando. ¿Quieres decir más rápido? ¿Más ampliamente utilizado? ¿Más fácil? ¿Ofrece mayores perspectivas laborales? ¿Mayor disponibilidad de marcos y bibliotecas? Podría continuar.

PYTHON

¿Qué son ¿Las fortalezas de Python?

  • Gran variedad de bibliotecas / módulos incorporados y de terceros específicamente para el desarrollo web y la administración de servidores (la administración de servidores también se aplica al desarrollo web).
  • Esas bibliotecas de terceros están bien diseñadas, bien mantenidas, son fáciles de instalar y potentes.
  • Facilidad de desarrollo. Si alguna vez ha programado en Python, sabe lo fácil que es.
  • Django es muy poderoso. Ayuda a reemplazar JavaScript y PHP.
  • [ OPINIÓN ] Personalmente, odio PHP y JavaScript. Son frustrantes de usar y ambos son propensos a vulnerabilidades. PHP más debido a fallas en el lenguaje; JavaScript debido a fallas en la especificación extraña que conducen a malas interpretaciones de cómo se debe implementar el motor JS.
  • Totalmente orientado a objetos.
  • Excelente para la manipulación de datos y la máquina. aprendizaje (puede ser importante si está proporcionando publicidad dirigida en su plataforma).
  • Con el marco y los módulos correctos (incluidos de serie), puede integrarse de manera adecuada y agradable con un servidor de base de datos y generar consultas para su sitio.
  • p. ej. Si el usuario está buscando en su cuenta una clave de licencia específica, el marco lo maneja traduciendo lo que está haciendo el usuario en una consulta SQL.
  • p. Ej. # 2: Si el administrador está buscando un cliente por dirección de correo electrónico, el marco lo traducirá en una consulta SQL, luego traducirá los resultados y los mostrará en HTML con formato CSS.

¿Cuáles son las debilidades de Python?

  • Lento. Realmente lento. Más lento de lo que les gusta admitir a los fanboys de Python. Como dijo Oluwasegun, PHP es hasta 3 veces más rápido (a veces más, a veces menos, depende).
  • Cuando lo usa para el desarrollo, realmente no puede pensar en él como si estuviera usando Python: Estás usando un framework (por ejemplo, Django). Así que aprender Python no es suficiente, también tienes que aprender el marco.
  • Python no es tan ampliamente utilizado como PHP, por lo que su factor de empleabilidad, específicamente en lo que respecta al desarrollo web, es mucho más limitado. Escuché una estadística de que ~ 80\% de todos los sitios web usan PHP; no puedo verificar la estadística, pero no me sorprendería.
  • Esto va de la mano con la lentitud, pero debe abordarse por separado: Uso de recursos. Python acapara los recursos mucho más que PHP. Pensaría que si utiliza tantos recursos disponibles, eso en realidad podría ayudar a acelerarlo … No, no, no lo hace.
  • [ Opinión ] El aspecto OOP de Python es abismal. Si alguna vez ha realizado alguna programación orientada a objetos en un lenguaje como Java, C # o C ++, comprenderá por qué lo odio. Cualquier idioma que se base en this y super() no lo ha hecho bien. Hace que su código parezca increíblemente confuso, confunde todo el proceso y hace que el desarrollador sea propenso a errores. Simplemente no es necesario: todo el aspecto del lenguaje se siente (como creo que he dicho en otra parte de este sitio) como si estuviera atornillado , con un martillo , por un pez ciego…. como una ocurrencia tardía. ¿Y adivina qué? ¡Era! Muy bien, no fue atornillado con un martillo, por un pez. Pero fue una ocurrencia tardía y en un principio no se pretendía que fuera parte del lenguaje (no se incluyó inicialmente).
  • Es una implementación pobre y restrictiva de OOP. Nuevamente, Opinión . A algunas personas les gusta, pero suelen ser las que dicen que C y C ++ son difíciles y confusos.

En general, eso no es terrible, ¿verdad? Personalmente, creo que el mayor problema en lo anterior es la participación de mercado en comparación con PHP, desde una perspectiva de empleabilidad de todos modos.

PHP

¿Cuáles son las fortalezas de PHP?

  • Muy rápido.
  • Totalmente orientado a objetos .
  • Se utiliza en la gran mayoría de los servicios web back-end y en la funcionalidad «entre bastidores» de los sitios web.
  • Se integra muy bien con los servidores SQL y prácticamente todos los tipos de ellos.
  • Auto-genera consultas a la base de datos (vea la sección de Python para ver un ejemplo de lo que esto significa)
  • Funcionalidad incorporada maravillosamente diversa que está diseñada para uso web.
  • Hay muchas API web PHP disponibles que amplían aún más lo que se puede hacer.
  • Muchas de estas están diseñadas específicamente para su uso con PHP y no se pueden usar con Python y Django.
  • p. ej. Muchas API de comercio electrónico

¿Cuáles son las debilidades de PHP?

Vaya. Hay algunas cosas importantes:

  • [ Opinión ] La sintaxis es jodidamente espantosa. Sí, esa es una opinión, pero es una opinión muy compartida. Todos y cada uno de los programadores de PHP con los que he hablado también han tenido esta opinión. Si aún no está familiarizado con él, compruébelo.
  • Ataques de inyección SQL. Consulte el enlace a continuación para obtener una explicación detallada de qué es, por qué sucede y cómo resolverlo usando PHP:
  • Prevenir vulnerabilidades de inyección de SQL en aplicaciones PHP y corregirlos
  • Ejecución remota de código:
  • Un error en una aplicación PHP puede aceptar la entrada del usuario y evaluarla como código PHP.
  • Cross -Scripting del sitio (XSS [X = Cross]):
  • XSS almacenado y XSS reflejado
  • Omisión de autenticación: técnicamente es un error del desarrollador, pero el lenguaje en sí hace que sea realmente muy fácil comete este error.
  • Podría continuar con más, pero aquí hay un enlace:
  • https://www.wordfence.com/learn/understanding-php-vulnerabilities/
  • [ Opinión ] OOP es tan malo como en Python. Posiblemente peor debido a la sintaxis. Todavía usa this (pero en realidad es $this)

En general, esas vulnerabilidades son bastante horribles, pero en su mayoría se deben a un error del desarrollador. Conozca bien PHP e investigue no solo ¿Cómo puedo desarrollar un PHP? , sino también las «trampas del desarrollo de PHP» y las «vulnerabilidades de PHP». ser un problema.

Todos juntos ahora

Entonces, ¿cuál es la conclusión final que se puede sacar aquí? Bueno, a pesar de lo que les gusta decir a los fanáticos de Python, Python no puede reemplazar completamente a PHP, debido a la presencia de API comunes solo de PHP y al dominio de PHP en la industria.

Sé que ya he continuado durante años, pero este es mi punto final y es realmente importante afirmar: La idea de que los desarrolladores deberían elegir «el mejor idioma porque es el mejor» es un fracaso masivo tanto del sistema educativo moderno como de los desarrolladores junior. Para ser verdaderamente competente en cualquier campo de desarrollo, ya sea web, aplicación o software, necesitará conocer varios idiomas. Lo mismo es válido para ser empleable de manera confiable.

ANECDOTE : Cuando comencé en la industria, recuerdo que me impresionó mucho cuando pregunté y los desarrolladores en el trabajo me dijeron que conocían Assembly, C, C ++, C #, JavaScript, binary y hexadecimal.

I Estoy menos impresionado ahora porque sé C, C ++. algo de C # (aprendiendo más), JavaScript, Python, Java, HTML, CSS, algo de PHP (aprendiendo más), SQL, binario, hexadecimal … Siento que me faltan algunos, pero no puedo recordarlo en la parte superior de mi cabeza. Todavía tienen mucha más experiencia y competencia que yo, pero ahora entiendo que saber muchos idiomas es normal y es lo que hay que hacer.

Entonces, en conclusión, no se trata de cuál es mejor, se trata de saber dónde y cuándo usarlos. Y, para el desarrollo web, el MÍNIMO DESNUDO que debe aprender es lo siguiente:

  • HTML
  • CSS
  • JavaScript
  • PHP
  • JSON (reemplace XML)
  • SQL (MySQL, Oracle, MS SQL son los 3 principales) – tenga cuidado con los diferentes sabores
  • Python

Lo anterior no es absolutamente negociable para una carrera. Opcionalmente, aprenda Java también. Es útil para aplicaciones web.

Editar: ¿Prueba de falta de sesgo? Odio Python y PHP por igual; como en, realmente me disgustan ambos.

Respuesta

Python VS PHP : qué idioma debes ¿optar por? La pregunta es de suma importancia para los nuevos desarrolladores y startups. La respuesta a esta pregunta no es tan simple ya que ambos idiomas son populares. Se utilizan globalmente en Internet debido a problemas presupuestarios y de desarrollo.

Problemas que enfrentan los principiantes al elegir entre PHP y Python:

  • Para los desarrolladores que están comenzando su desarrollo web PHP, decidir entre los lenguajes es difícil.
  • Los principiantes encuentran difícil elegir entre los lenguajes de desarrollo web ya que tienen diferentes requisitos.
  • Además, se enfrentan a dos problemas al tratar con cualquier idioma.Uno: necesitan aprender a programar y luego aprender a implementarlos en el lenguaje elegido. En segundo lugar, requieren experiencia en sintaxis que no tiene sentido para ellos.
  • Estos problemas que enfrentan los nuevos desarrolladores se deben a los consejos sesgados que reciben de Python y Desarrolladores PHP . Si habla con un desarrollador de Python, enumerará todas las ventajas del lenguaje y ninguna desventaja. Igual es el caso de los desarrolladores de PHP, ellos insistirían en que no hay mejor lenguaje.

Entonces, ¿cómo se decide entre los dos lenguajes? Bueno, para facilitarle las cosas, hemos enumerado cuatro puntos en este blog para la comparación de Python VS PHP . Después de esto, le resultará fácil decidir entre los dos idiomas.

Antes de pasar a los tres puntos, veamos algunas estadísticas sobre uso de ambos lenguajes de desarrollo web.

Puntos de comparación para Python VS PHP

1. Frameworks

Un framework es una comunidad que desarrolla códigos y mantiene la compilación del código. Ayuda a un desarrollador a crear una aplicación web rápidamente sin hacer nada desde cero.

Un marco brinda numerosas funciones que los desarrolladores pueden agregar según sus necesidades para agregar funcionalidad a la aplicación.

Los marcos de Python son potentes y versátiles, pero ofrecen opciones limitadas. lenguaje Python ofrece una amplia gama de marcos que básicamente realizan la misma función que PHP. Hay un aumento continuo en la cantidad de marcos de Python debido al mayor uso del lenguaje en los proyectos. Flask y Django son frameworks populares utilizados por desarrolladores a nivel mundial.

Los frameworks PHP también son enormes y ofrecen a los desarrolladores la opción de creando aplicaciones específicas de la industria. Los frameworks PHP populares son Symfony y Laravel que son utilizados por muchas aplicaciones populares que son utilizadas por millones de usuarios.

2. CMS

Un CMS es una plataforma de software que ofrece una solución versátil para proyectos de desarrollo de aplicaciones. Ofrece una solución para blogs, comercio electrónico, etc., lo que garantiza que los desarrolladores puedan centrarse en el caso de negocio. El CMS más popular es WordPress que se crea con PHP. Otros CMS populares son Magento y WooCommerce, populares para el desarrollo de sitios de comercio electrónico. También están construidos con PHP.

Python tiene una plataforma CMS Django que tiene un uso limitado.

PHP es un claro ganador aquí, ya que es una plataforma CMS mejor utilizada por muchos usuarios.

3. Popularidad

Ambos lenguajes de desarrollo web son populares, pero actualmente PHP domina el 80\% del mercado. PHP es utilizado por muchos sitios web populares que incluyen Yahoo, Wikipedia, Tumblr, etc. Facebook también usó PHP inicialmente antes de cambiar al framework PHP.

Python es una de las mejores opciones de programación backend. Y PHP ha estado en el mercado por un tiempo y todavía se usa para propósitos de backend.

El lenguaje Python también es bastante popular, especialmente desde Google lo eligió para algunos de sus famosos proyectos. Reddit, Pinterest, YouTube, Instagram y Spotify son algunas plataformas que utilizan el lenguaje Python.

En términos de popularidad, ambos los idiomas se compiten fuertemente entre sí. Diariamente se anuncian nuevos proyectos que utilizan dichos lenguajes.

4. Curva de aprendizaje

La curva de aprendizaje en términos de lenguajes de programación significa la fluidez que tiene un desarrollador en la sintaxis del lenguaje. También implica la comprensión que tiene el desarrollador para usar herramientas para traducir el diseño web en código funcional.

Python es el claro ganador porque es fácil de aprender y comprender para los principiantes. PHP es difícil y tiene poco espacio para errores, por lo que no es apto para principiantes.

Python tiene más espacio para errores y el código no se rompe debido a pequeños errores. Es exactamente por esta razón que las escuelas están enseñando el lenguaje web Python para los conceptos básicos de la programación.

El framework PHP y los expertos están haciendo todo lo posible para que el lenguaje sea más fácil y amigable para el usuario.

Conclusión:

Python VS PHP nunca debate final, pero ambos lenguajes ofrecen muchas oportunidades para que los desarrolladores aprendan. Con su sintaxis, herramientas y funcionalidades listas para usar, tanto los desarrolladores de Python como los de PHP tienen mucho con lo que trabajar.

Se recomienda que pruebe ambos lenguajes. Debes optar por el que se adapte a tu proyecto y sea fácil de usar. PHP es más adecuado para proyectos técnicos, mientras que Python es fácil para nuevos desarrolladores y empresas emergentes.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *