viernes, 29 de enero de 2016

PHP vs Python - ¿Qué se necesita para declarar un lenguaje mejor que otro?



PHP vs Python - ¿Qué se necesita para declarar un lenguaje mejor que otro? Una respuesta puede ser la flexibilidad, favorable al desarrollo, la política de concesión de licencias (de código abierto o comercial), la comunidad, la potabilidad, tipeado dinámico, el apoyo a un número variable de argumentos de la función y la capacidad de congelar objetos vivos en una representación de cadena. Documentación del curso es un jugador importante cuando se elige un lenguaje porque usted todavía tiene que afinar su habilidad y no ha trabajado en ese idioma en particular todavía.

CARACTERÍSTICAS QUE SOPORTA PHP

  • sintaxis muy cerca de C y Perl, con llaves y signos de dólar
  • la declaración de 'switch' y 'hacer ... mientras que' construir como C
  • operadores de incremento y decremento y asignación
  • el operador ternario / declaración (... ...:? ...)
  • tableau esquizofrénica de nombres de funciones. No hay espacios de nombres, por lo que las funciones a menudo tienen prefijos para denotar su fuente (pero a menudo no). Las funciones se colocan a menudo en clases para simular espacios de nombres.
  • un lenguaje muy informal, donde globales se utilizan a menudo para pasar argumentos (no se deben utilizar variables globales, que es independiente del lenguaje)
  • entorno comúnmente instalado
  • alias ('$ a = & $ b' significa que cuando $ b cambios, $ a cambios también) (debe ser "referencias", no "alias", pero se llaman alias)
  • un tipo de matriz que se dobla como una lista y un diccionario. Claves de los diccionarios se reiteraron en su orden original.
  • Excelente Documentación
  • De base comunitaria enorme con una enorme base de código de apoyo disponibles en línea

CARACTERÍSTICAS QUE SOPORTA PYTHON

  • espacios de nombres y módulos
  • pequeño núcleo
  • muesca para marcar la estructura de bloque en lugar de llaves, lo que hace el código vea más bonita
  • clara, y la sintaxis ortogonal, concisa
  • auto documentar con docstrings y pydoc (PHP 5 tiene de reflexión y doc cuerdas)
  • argumentos clave a funciones y métodos, fácil apoyo a los argumentos por defecto
  • verdadera orientación a objetos y las clases y funciones 'primera clase'
  • clases se utilizan ampliamente en la biblioteca estándar
  • herencia múltiple
  • manejo de archivos orientada a objetos
  • método de encadenamiento
  • todo es una referencia
  • declaración 'del' para todos los tipos de datos
  • mayúsculas y minúsculas consistente (PHP hace para las variables, pero no funciones) (Las funciones son mayúsculas y minúsculas)
  • sintaxis de corte simple matriz
  • iteradores (PHP 5)
  • manejo de excepciones estructurado (PHP 5)
  • sobrecarga de operadores
  • enhebrar
  • un montón de tipos de datos de alto nivel (listas, tuplas, Dicts, mx.DateTimes, matrices NumPy, etc.)
  • fechas que no se limitan a las marcas de tiempo UNIX (<1970> 2038)
  • incluye los principales marcos GUI
  • fuerte internacionalización y apoyo UNICODE
  • madurez, estabilidad y compatibilidad al alza
  • tiende a conducir a aplicaciones mucho más escalables
A diferencia de PHP, que tiene características de desarrollo web integradas directamente en el núcleo del lenguaje, capabilites de desarrollo web de Python son proporcionados por los módulos de complemento. Capacidades básicas CGI son proporcionados por el módulo 'cgi' que viene en la biblioteca estándar de Python. También hay una amplia gama de módulos de terceros disponibles para Python; algunos son complementarios, otros compiten. Como resultado, Python proporciona una base más flexible para el desarrollo web.
Hay algunos efectos secundarios adversos de esta flexibilidad. En primer lugar, la gama de opciones puede ser desconcertante. A menos que usted está trabajando experimentado desarrolladores web de Python, PHP es más fácil de empezar a utilizar. En segundo lugar, soporte para PHP es más común con las empresas de hosting compartidos-que el apoyo a las diversas opciones de Python.
Otra diferencia es que PHP está incrustado en el servidor web, mientras que las aplicaciones web de Python pueden o bien ser incorporados en el servidor web como PHP o se ejecutan en un proceso separado.
Ahora, vamos a probar la rapidez con que se ejecutan para encontrar todos los números primos bajo 10000. Vamos a ejecutar la prueba tres veces mediante la optimización de los resultados
$ Tiempo ./script.php
idiomaGuión 1Script 2Script 3
PHP1,3591,7531,191
Pitón1,8941,6361,634
Bueno, esto muestra que PHP se ejecuta más rápido que Python, pero aquí hay una captura. PHP puede correr más rápido para los códigos más pequeños, pero cuando hablamos en términos de gran sistema escalable entonces Python se obtienen mejores resultados. El código anterior era pequeño donde nos encontramos todos los números primos bajo 10000 y PHP muestra por qué su elegido en la mayoría de las aplicaciones web pequeños. No hay dudas que hay pocos grandes nombres con PHP respaldo también.
Vamos a hacer una más análisis donde se realizan cálculos matemáticos
Script de ejemplo bucles a través de una sentencia FOR 2.000.000 de veces que calculen el hash MD5 de N + N, N igualando el número de pases hasta el momento.
Resultados:
Ronda 1 - 2000000 Pases 
PHP = 21.4227 segundos 
Python = 9.8737 segundos

Ronda 2 - 2000000 Pases 
PHP = 21.1122 segundos 
Python = 9.7241 segundos

Ronda 3 - 1000000 Pases 
PHP = 9.811 seg 
Python = 4.429 seg

Ronda 4 - 1000000 Pases 
PHP = 9.857 seg 
Python = 4.280 seg

Como se puede ver, Python es más de 2 veces más rápido que PHP en la realización de esta operación, que es más hacia la ejecución de un algoritmo matemático.
Otra Opinión - Python ha sido optimizado para los algoritmos matemáticos así que en ese sentido, soplará PHP fuera del agua, pero si usted comparar qué idioma puede servidor más páginas web en un período de tiempo que usted encontrará que PHP es mucho más rápido.
Otros aspectos importantes que hacen un lenguaje preferible se enumeran a continuación:
Velocidad de ejecución
Dado un problema bastante intensa ni el lenguaje tiene una gran ventaja sobre el otro, y cada uno será mejor para diferentes cosas. De este modo podemos descartar la velocidad de ejecución para el 99% de lo que hacemos.
Velocidad de escritura
Suponiendo que las lenguas en cuestión todos corren a una velocidad aceptable (y probablemente lo hacen) esto se convierte en la segunda más importante métrica (número 1 es si realmente se ejecutará). Tengo que ser honesto y decir que no he utilizado Python el tiempo suficiente para estar seguro de lo rápido o lento que estoy por desarrollar en él, pero puedo decir que hasta el momentoparece más rápido.
Mantenimiento
Puede que no he estado usando Python mucho pero puedo sin duda decir que es más fácil de mantener. Dejé sangría cosas en PHP de todos modos, pero la falta de llaves es muy agradable y yo prefiero el acceso alcance de Python sobre PHP (object.property vs $ objeto-> propiedad), pero creo que eso es una cuestión de opinión personal que tiene que decidir por ti mismo.
Facilidad de configuración / Portabilidad
PHP gana aquí, no es necesario escribir sus propias cabeceras HTTP como lo hace con Python, más hosts lo apoyan, es más fácil de conectar a una base de datos y no parecen ser más tutoriales en él.
Soporte / Comunidad
Yo diría que la comunidad PHP y apoyo es mejor, pero con los días que pasa por que he notado gran comunidad Python ayudando.
Resumen
Yo preferiría Python por el bien del desarrollo de una aplicación escalable (no es como que no puedes hacer en PHP), pero es más fácil en Python. Por otra parte, Google soporta Python con su Google App Engine donde los sitios web se pueden alojar en el servidor de Google de forma gratuita, sino que también es compatible con los marcos de Python como Django así que mi apuesta estará en Python. PHP, por otro lado todavía tiene 60% de la cuota de mercado y apuesto con la nueva versión (6.0) en la esquina que sin duda llenará la brecha mediante la inclusión de espacios de nombres, tipos de datos de alto nivel, etc.

No hay comentarios:

Publicar un comentario

Entradas populares