edición general
192 meneos
2163 clics
Ya está disponible PHP 8.0, con compilador JIT y numerosas novedades en su sintaxis

Ya está disponible PHP 8.0, con compilador JIT y numerosas novedades en su sintaxis

Pocos meses después de que PHP cumpliera 25 años, acaba de lanzarse su versión 8.0. PHP sigue siendo el lenguaje de programación más usado en Internet a la hora de generar páginas web dinámicas (está detrás del 79% de las mismas). Sin ninguna duda, la principal novedad de PHP 8 es la introducción del compilador JIT (Just in Time), que permitirá compilar ciertas partes del código sobre la marcha, en tiempo de ejecución. Esta funcionalidad, que estuvo a punto de ser incluida en la versión 7.4, lleva años siendo desarrollada (...)

| etiquetas: php , jit
Comentarios destacados:                              
#3 #1 la mala fama del php es mas por los desarrollos que se hacen con él que con lenguaje en si mismo. Joomlas , wordpress , etc han sido históricamente un saco de vulnerabilidades pero no en si del lenguaje. Pero claro al ser de los productos mas utilizados mas ruido provocan .
«12
  1. "Numerosas novedades" = kilo y medio de bugs explotables :troll:
  2. A ver si migran MNM y deja de ir como el culo.
  3. #1 la mala fama del php es mas por los desarrollos que se hacen con él que con lenguaje en si mismo. Joomlas , wordpress , etc han sido históricamente un saco de vulnerabilidades pero no en si del lenguaje. Pero claro al ser de los productos mas utilizados mas ruido provocan .
  4. #2 Desconozco si esta hecho en php pero en un sitio como MNM sospecho que el problema estará mas en la escritura en las BD que otra cosa.
  5. #3 la mala fama también viene de la época de la programación funcional mezclada con html y código espagueti, php a cambiado muchísimo des de entonces y me temo que los que difunden la mala fama hace tiempo que no revisan un proyecto moderno "serio" en php
  6. "Numerosas novedades", y seguramente sin compatibilidad hacia atrás, para hacerse caquita... :wall:
  7. #5 ahora la mayoría de los proyectos se hacen con Symfony o Cake que ya te obligan a hacer algo "decente" con OOP. Pero como todo la última responsabilidad depende del programador.
  8. Buff PHP... Su tiempo y paso, no supo aprovechar el momento que tuvo.
  9. #8 no puedo estar más en desacuerdo contigo. Yo llevo programando en PHP desde hace más de 7 años y nunca me ha faltado proyectos.
  10. #8 Facebook todavía lo usa (para el front). Eso sí, con HHVM y otros inventos.
  11. #10 lo estará pasando todo a ReactJS
  12. #6 si ese lenguaje está tan mal diseñado desde el principio como se lee por ahí, cuánto más rompan la retrocompatibilidad y arreglen los errores del pasado, mejor.

    Recuerdo en una PyCon que explicaban como habían implementado las tablas hash o diccionarios en PHP y era para llorar. Y parece que no era un caso aislado: eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/
  13. #11 React es para front y PHP para back.
  14. #2 a mí me va bien la verdad
  15. #13 ambos los puedes usar para ambas cosas. Aunque si lo más normal es que uses react para front y PHP para back... Bueno PHP le pasaba como a java con jsp. Que se usaba para front tb.
  16. Ya está casi al nivel de Java 0.8 en los noventa.
  17. El operador nullsafe es amor :hug: ahora, ya si eso en una década o dos que se pueda usar sin temores de retrocompatibilidad... :-P
  18. #14 A mí también, siempre desde navegador ya sea en el móvil o en el pc. No he probado la aplicación ni quiero.
  19. #13 Ha demostrado mucho en 6 palabras... O quizá es GPT-3 juntando palabras que aparecen frecuentemente juntas :roll:
  20. #16 hablas de Java ese lenguaje que hace rico a los fabricantes de hw?
    Hablas de ese lenguaje que un error ocupa 5 pantallas?
    Yo llevo 20 años en esto y te digo que la mitad de los haceros no saben Java , como mucho Spring y con eclipse , que con otros ide's sudarian.
  21. #4 Sí, menéame se hizo con PHP. Te lo puedo confirmar. No me acuerdo del frontend. Pero sí, que se programó en PHP. En 2005 era el lenguaje de programación de moda para webs y Galli decidió usarlo.

    La base sigue siendo la misma.

    Y de errores de diseño, al principio hubo uno que me quedó grabado. Se guardaban las contraseñas en la BBDD en plano, o algo así. Se informó varias veces y después se corrigió.
  22. PHP siempre tuvo una capacidad para manejar expresiones regulares muy potentes.

    Es tan ligero que permite montar un servidor web en una sencilla Raspberry Pi y es software libre, a mi personalmente me gusta y tengo desde hace años una aplicación en producción que funciona muy bien y es fácil de mantener.

    Solo quería compartir mi humilde opinión
  23. PHP es el motor de plantillas más potente. Es tan flexible que algunos escriben toda la aplicación con esto.
  24. Estuve con PHP desde 5.1. Hace al menos dos años que lo dejé.

    Obviamente, uno programa en lo que le toque, según el entorno, pero si la decisión es mía, no toco PHP no con un palo.

    Hace 10 años era la opción segura en la web. Hoy día tienes node, Python o Ruby en lenguajes no tipados, golang para APIs ultra rápidas, los javas y .Net para los conservadores y los kotlin o Scala para los javeros resabiados.

    Es un lenguaje que ha perdido toda si esencia y razón de ser: Hipertext preprocessor.
  25. #21 supongo que habrán tocado muchas cosas. Lo que recuerdo haber leído que estaba en AWS
  26. Todavía alguien programa usando esa mierda? Todos mis respetos; tu familia y yo te apoyamos.
  27. Php en 2020?
  28. #8 Como si al cliente le importase una mierda que herramienta has usado mientras funcione como pide.
  29. #20 NetBeans hasta la muerte y para todo lo demás ant.

    Jamás he comprendido eclipse.
  30. Larga vida a PHP y a Laravel
  31. #7 Mas bien Laravel se lo ha comido todo
  32. #22 Fácil de mantener. Punto importante. No hay mucha magia en PHP, comparado con Java, que puede llegar a ser un infierno de gestionar, modificar, mantener...Se suele hablar de Java y PHP como si fueran para lo mismo.
  33. #25 Sí, estuvo en AWS. Ahora creo que lo pusieron en BigDaddy, lo último que leí.

    Diría que pasó de estar en un servidor dedicado a AWS y ahora Bigdaddy.
  34. #30 he sido programador en PHP, lo digo por si me envías el vídeo tildandlme de ignorante.
  35. #28 tienes clientes poco exigentes. Los hay que intentan velar por la mantenibilidad del código y esas cosas. Ya sabes.
  36. #16 jajjajaj
  37. #36 Le metieron algo de Python por lo que veo. Pero sigue siendo PHP la base. Y algún script en perl (pseudónimo que uso por un tiempo en Menéame). :-D
  38. Se utiliza en el 80% de los sitios web. Principalmente es porque es muy fácil de usar, y se pueden hacer desarrollos en muy poco tiempo, además hay muchísima información, cualquier duda está resulta en los foros. Otra ventaja es que no hay que andar compilando, se ejecuta directamente, y a pesar de esta facilidad para el programador (y en teoría desventaja en rendimiento) funciona igual o casi igual de rápido que los lenguajes más potentes, ahorrando mucha más memoria y tiempo de desarrollo. Por otra parte es muy fácil de subir los contenidos al hosting, es inmediato. Y por estos motivos el coste en servidores es bastante menor que en otros lenguajes. Al final tiene una serie de ventajas que compensa a las empresas. Otros lenguajes son elegantes, pero lentos, o muy rápidos, pero pesados para el desarrollo, o muy difíciles de aprender, etc. El balance al final es positivo para desarrollar en esa tecnología.
  39. #20 el error ocupa 5 pantallas porque quieres.
  40. #26 #27 hay toneladas de proyectos open source en Php faciles de instalar y gestionar en servidores de bajo coste, que ayudan a mucha gente en las escuelas y en sus empresas. Claro que habra una contraparte en Java pero para pequeños proyectos...no tiene sentido. Lo mismo con .Net. A ver si se creen que sacan la version 8 porque estan aburridos.

    Hay frameworks muy elaborados en PHP. No es el sin dios de antes.
  41. Mi reconocimiento al pedazo de trol que supo distinguir la noticia más cizañera del mes y arrojarla con más inquina que el jurado de Masterchef ante una tortilla de patatas sin cebolla.
  42. #41 vale. Cuanto ocupa el hola mundo en java?
  43. #35 No, si de lo que parece que no tienes idea es de React, ya que estás confundiendo un framework/librería de JavaScript que se ejecuta en el cliente (navegador web, móvil con React Native...) con un lenguaje de programación/intérprete. ¿Quizá te referías a NodeJS?

    Sé que existe conceptos raros como los frameworks isomórficos de JavaScript, pero estoy seguro de que no es a eso a lo que te referías.
  44. #43 todos los javeros envidiosos muerden el anzuelo y vienen aquí a criticar a php. Odian a los programadores que han conseguido un trabajo sin tener que vivir cada día con ese infierno de mierda llamado Java.
  45. #12 Hombre, no sé si los de Python están como para dar lecciones de 'rotura de retrocompatibilidad'... Precisamente muchas inconsistencias son por mantener hasta cierto punto la retrocompatibilidad, porque claro, se van cambiando cosas. Un artículo de 2012 con php-5.4 recién salido y que la mayoría de desarrollos estarían en php-4, es un poco triste a estas alturas.
  46. #45 Aunque no creo que se refiera a esto, que sepas que existe también React-PHP (reactphp.org/) un framework para usar PHP con un bucle de eventos, promesas y esas cosas, similar a lo que hace nodejs.
  47. #21 creo que la expresión más habitual es "en claro" (en contraposición con guardarlas encriptadas).
  48. #41 todo en esta vida es modificable y configurable pero el comportamiento por defecto es ese. Cuando quieras discutimos del tunning de la jvm que cuando quieras , que es un puto infierno cuando te metes en harina .
  49. #26 Dime ¿qué otra 'mierda' la tienes disponible en cualquier servidor de hosting de medio pelo y por medio duro e incluso gratis si de descuidas? PHP es fácil de mantener, fácil de desarrollar y fácil de desplegar.
  50. #45 sí ha sido un lapsus en lo de backend estaba pensando en nosejs. El lapsus viene del JavaScript. No tengo ni idea de que es un fw isomorfico.
  51. #44 en java sin spring ni nada pues nada una mierda. Java con spring y todos sus satélites de alrededor mínimo 40mb y muchas veces unos 200mb.
  52. #48 no, me refería a nodeJS
  53. ¿Aquí es donde viene la gente que la última vez que vio algo de php hace 10 años viene a criticarlo?
  54. #50 todo tiene sus cosas buenas y malas. Yo hablo de lo que conozco, conozco c, c++, PHP, C#, Java, JavaScript. Y de todo eso me quedo con java y con JavaScript ambos con sus respectivos fw. En java con spring principalmente y en front con react o angular, los dos los uso por igual.

    Que luego la peña dirá noo phyton, o perl o go o no se que... Pues puede ser, no puedo opinar porque por desgracia de momento no llego a más.
  55. #46 Y viendo lo mucho que se parecen Spring Boot y Symfony...
  56. #47 Si entiendo por el comentario es que defiende una rotura de la retrocompatibilidad porque las viejas versiones de PHP tenían muchos errores de diseño.
  57. #9 los poceros también tienen trabajo que no les falta y eso no quiere decir que no estén sacando todo el día mierda. Jajjaja, no, fuera bromas, yo dejé PHP porque eso de dejar que las cosas se hagan bien dependiendo tanto del programador no terminaban bien casi nunca. En proyectos grandes era mortal y caótico, los Bugs te los comías por todos lados, te sacaban versiones incompatibles, no había de y librerías en condiciones, hablo en el año 2008 aprox. Hace unos 10 años que lo deje.
  58. #26 #27 PHP se usa en el 80% de las webs, como dice #40 w3techs.com/technologies/overview/programming_language
  59. #47 ¿Conoces el drama que fue el paso de Python 2 a la versión 3? Metieron cambios muy fuertes y hubo mucho dolor y oposición, pero el lenguaje salió reforzado. Además, estaban hablando de diccionarios y si algo se toman en serio en Python, son los diccionarios.

    El artículo del 2012 no lo he puesto para criticar a las características nuevas del lenguaje, si no porque parece (he dejado claro en todo momento que no tengo mucha experiencia con PHP) que históricamente tomaron muchas decisiones de diseño aparentemente dudosas (como todos) y que, en mi opinión, es bueno enmendarlas si no lo han hecho en estos años.

    Vamos, que era más una alabanza a romper cosas para poder evolucionar y adaptarse que una crítica a un lenguaje libre, al que le deseo lo mejor y que innoven para que nos beneficiemos todos.
  60. #37 Como si el mantenimiento del código dependiera del lenguaje. Si para que un programador haga bien su trabajo, dependemos de una herramienta que le obligue, el problema no está en el lenguaje.
    Los clientes que piden el uso de herramientas concretas, normalmente son personas que no tienen ni idea pero tienen un sobrino o cuñado experto que les ha aconsejado por el lenguaje de moda, lo que se llama escuchar campanas pero no saber de donde. Hace unos años lo leían de revistas xD
    Claro que otros tantos lo piden porque es lo que usan actualmente.
  61. Programé en PHP con drupal hace 10 años antes de pasarme a .net. No volvería nunca.
  62. #3 La sintaxis del lenguaje también fue muy criticada hasta las primeras versiones del 5, antes de la implementación de los "namespaces" y "uses".

    Recuerdo trabajarlo en la versión 4 y comienzos de la 5 y tenía bastantes problemas. Entre los que recuerdo estaba que los elementos de los array se obtenían por copia y no por referencia (como es en otros lenguajes), las comparaciones entre tipos diferentes eran bastante problemáticas y caóticas ('' es una cadena vacía, no es NULL, pero para PHP es igual a NULL), entre muchos otros problemas que no recuerdo.

    Quizás todavía arrastre esa mala fama de versiones anteriores.
  63. #12 "cuánto más rompan la retrocompatibilidad y arreglen los errores del pasado, mejor"

    Nunca has tenido que migrar una aplicación de PHP 5 a 7 ¿verdad?

    Para proyectos nuevos vale lo que dices, pero cuando tienes un montón de aplicaciones hechas en PHP 5 por diferentes empresas y desarrolladores, con múltiples estilos de programación y frameworks, ni te atrevas a migrarlo a PHP 7 si es que quieres conservar tu salud mental.
  64. De lo que se comenta en la noticia, lo que más me gusta:

    * Propagación de propiedades automática » esto es algo que realmente ahorra muchas líneas de código. Bravo
    * Nuevo operador nullsafe » otra maravilla que ahorra líneas de código y dolores de cabeza

    Lo del compilador y esas cosas, seguro que hace que todo vaya un 1000% más rápido y tal. Como la última versión del Firefox.

    Edito: Por lo visto el compilador hace que efectivamente todo vaya mucho más rápido, como en Firefox. Por ejemplo, una función tan sencilla como:

    $a = 1;
    for($i = 0; $i < 10000000; $i++) {
    $a++;
    }

    * PHP 7.3 » 73 msec
    * PHP 8 » 42 ms (sin compilador) y 22 ms con compilador JIT habilitado
  65. Yo repito mi cantinela:

    La gente dice PHP está muerto. Y yo digo PHP no está muerto, está asesinado, lo han matado los sueldos de mierda, en la horquilla salarial de las ofertas de PHP, el máximo suele ser el mínimo de una oferta de back en Python. Y los proyectos de mierda, que parte es la pescadilla que se muerde la cola con el anterior, porque si pagan mal, exigen tiempos que sólo permiten hacer chapuzas rápido y mal.
  66. #20 Pues si vieras la nueva hornada de desarrolladores que dicen ser Putin y lo que saben es usar el ratoncito en su mac blanco en en asqueroso IDE de Pycharm.

    He visto con mis ojos como jodian un git porque no sabía usar una terminal y le salió por sus santos cojones hacerlo con Pycharm y le dije que le ayudaba a hacerlo desde terminal.
  67. #9 esto es muy interesante.
    Si hablas con el front developer medio puede llegar a dar la sensación que solo existen el Javascript y los motores de plantillas.
  68. #63 Jajaja.
  69. #29 jajajajaja
  70. #68 los problemas con Git son algo muy frecuente, y que a mí me sorprende muchísimo.

    Joder, a cada uno que jodiera no un repo, sino una rama, lo ponía a hacer control de versiones con svn, o con CVS.
  71. #62 si te dedicas a hacer las páginas web de las fruterías te tu barrio vale, pero como hagas algo medio serio el cliente normalmente no basa sus opiniones en lo que dice su sobrino...
  72. #22 bueno, las expresiones regulares son potentes per se.
    No se si es tanto un tema del lenguaje, pero no las he usado tanto y tan profundamente como en Perl.
  73. #56 usas react y angular igual de poco no? Porque para confundirlo con NodeJS...
  74. #46 me parece bien el odio que demuestras, los javeros merecemos la horca, pero has de saber que quienes más están criticando no son javeros, sino los infames noderos , que saben que cualquier soplido les va a desmenuzar el chiringuito de librerías, frameworks, paquetes y MacBooks que tienen montado.
  75. #22 #33 Yo hace años que migré una aplicación de PHP a Java precisamente por los puntos fuertes que consideráis de PHP que para mí eran justo lo contrario:

    Es tan ligero que permite montar un servidor web en una sencilla Raspberry Pi
    Ligero si tienes pocas visitas. No sé cómo será ahora, pero en PHP5 cada petición cargaba prácticamente una copia ENTERA de la aplicación, con lo que el uso de memoria se disparaba linealmente por cada solicitud simultánea (y en los picos te podía tumbar la máquina). Los mismo con las conexiones a base de datos, al no haber pool-s que reciclasen estas. Java en cambio era (no sé si habrán arreglado esto en PHP) infinitamente más estable en cuanto a consumo de memoria. Prácticamente lo mismo con 10 solicitudes simultaneas que con 100, ya lo que hace la aplicación web es gestionar los hilos y usar los mismos objetos entre todas las solicitudes.
    Por no hablar de que al tener sistemas de gestión de transacciones a base de datos (capacidad de hacer rollbacks), no te encuentras inconsistencias en los datos.

    Fácil de mantener. Punto importante
    El simple hecho de que Java tiene tipado fuerte (y mejores IDE-s) lo hace también infinitamente más fácil de mantener. Pero es que además, una de las grandes debilidades de PHP era (Y es improbable que lo hayan corregido, porque lo haría incompatible entre versiones) la poca consistencia en la definición de funciones/métodos. Dos funciones (y estoy hablando del mismo php "base", no de librerías externas) que reciben los mismos parámetros, podían recibirlos en un orden completamente diferente.

    Por no hablar de muchos de los patrones de diseño incorporados como tipos en el propio JDK.
  76. #76 desconocía ese peligro que amenaza a la sociedad. Malditos noderos!
  77. #5 recientemente me he ido de una empresa por esto que comentas. Me asignaron un proyecto de estas características y ni hablar
  78. #32 Laravel es el hermano pequeño de symfony. En proyectos tochos un laravel a lo mejor se queda cortito.
  79. #8 Ya ya, php ya no lo usa nadie, en mi época de universitario (hace ya 15 años) se decía lo mismo de Cobol y mis compañeros que lo aprendieron son ahora los que mas dinero ganan. PHP es el nuevo cobol xD
  80. #81 jajaja no java va camino de ser el nuevo COBOL. PHP va camino de ser residual y/o desaparecer. Igualmente en la informática pasa como en el resto de profesiones, cuanto más aburrida es más pasta se gana.
  81. #59 pues te has perdido muchas cosas. Yo llevo casi desde ese año currando en PHP con Symfony y es una gozada. Cierto que me he topado con proyectos en PHP a pelo sin sentido, pero son los que menos.
  82. #75 jajajaja, no los confundo, pensaba en JavaScript, en el lenguaje no en el fw, igual que en java hablo de spring como si fuera java. Hablamos de PHP, java, React JS,... Y venía a decir que puedes usar nodeJS en back y ReactJS o Angular en Front igual que puedes hacer con PHP. Refiriéndome o intentando decir JavaScript. Pero si parece que no lo he usado por mi comentario, es lo que hay. Pero la verdad es que he hecho proyectos gordos en ambos ReactJS y Angular2+, del que conozco mucho menos es de nodeJS.
  83. #5 #64 PHP es un lenguaje de scripting de desarrollo rápido especializado para la web. Lo que hace lo hace muy bien, no se le puede pedir la coherencia estructural de un lenguaje académico de propósito general.
  84. #82 Pues para ser residual en web es el lenguaje mas utilizada en el lado del servidor ;)

    Lo mismo no tienes claro el concepto de residual, residual mas bien serian lenguajes como Ruby On Rails.

    El día que plataformas como wordpress cambien de lenguaje lo mismo te doy razón, pero mientras queda php pa rato.
  85. #83 suerte tienes, yo todos los que me topaba estaban a pelo, sin orientación a objetos, sin una arq bien definida... Un desastres. Total que para hacer pequeñas webs y cosas personales lo veía bien pero para currar de ello profesionalmente no lo veía así que a otra cosa. Igualmente la historia nunca se sabe, JavaScript parecía muerto cuando llegó React y angular y lo resucitó y mira ahora...
  86. #6 Mientras no pase como el Python que tienes que tener veintisiete versiones distintas instaladas y no sabes cuál se va a ejecutar cada vez...

    imgs.xkcd.com/comics/python_environment.png
  87. #59 Díselo a Wordpress que ocupa un porcentaje muy gordo de la web.
  88. #73 pues no, la segunda parte aún, lo de arq y lenguaje que ya usan si suele tener peso, pero sobrinos en las aplicaciones que yo trabajo no haya ni uno opinando como es lógico.
  89. #72 En el tiempo que llevo usando GIT he visto problemas que en su mayor parte estaban ocasionados por gente que se empeñaba en usarlo como SVN y no intentaban entender que aunque sirvan para lo mismo no funcionan igual.

    Vamos, tampoco es que sea un experto y no digo que no tenga sus carencias, pero cuando hemos empezado a usarlo aceptando su comportamiento los problemas han sido escasos.
  90. #89 pues no se, será en organizaciónes pequeñas, yo en las empresas grandes que me muevo PHP o no está o poco se le ve. Y si vas a hacer búsquedas en Linkedin, indeeed,... Puedes comparar las ofertas de trabajo en PHP, java, ..., Con eso te haces la idea del uso que tiene.
  91. #52 Quizás se refiera con isomórfico a lo que hace Meteor.js o Nuxt, que en el mismo código debes distinguir si se ejecuta en servidor o en cliente (en el navegador).
  92. #87 yo ahora fundamentalmente me dedico al black de proyectos y suelo trabajar solo con mi código o de compañeros, con una gran calidad.
  93. #80 Laravel es un Framework. Yo lo he usado en proyectos tochos.

    Eso sí, la arquitectura de la aplicación la creo yo, desacoplada, siguiendo CQRS y microservicios con gestión de eventos y colas mediante interfaces.

    Laravel me da aquello que "para qué voy a crearlo si ya existe". Cosas como el MVC, autentificación y logger. No uso ni eloquent (creo mis propios repositorios).
  94. #94 supongo que son pequeñas app, o pequeños proyectos. En los proyectos que yo me muevo solemos ser igual 16-20 personas. Cada uno de su padre y de su madre, la mayoría muy buenos, pero aún siendo buenos se necesitan unas normas y unos procedimientos, fw, herramientas, etc, bien definido para que cuando te levantes un día con el pie izquierdo no la líes parda. Para que todo sea homogéneo, etc. A
    Veces no es hacer las cosas mejor del mundo lo mejor si no hacerlas homogénea y lo más standar posible, porque además estos proyectos sufren cambios muy a menudo y muy rápido además de que la rotación del personal es más o menos alta.
  95. #9 totalmente de acuerdo con lo que dices. Llevo con PHP 15 años y se me rifan en las empresas.
  96. #96 pequeños equipos y proyectos muy grandes, hace un años estaba trabajando en una empresa de gestión de conexiones a Internet vía satélite y estaba hecha en Symfony.
  97. La culpa de que algunas apps en PHP sean una mierda no es por el lenguaje, es por la arquitectura y el diseño.

    Al ser un lenguaje popular y accesible, pocas veces he visto un código que siga SOLID y CQRS bien escrito, estructurado, con clases mínimas y simples.

    La gente se pone a hacer cosas en PHP infumables, pero como podrías hacerlas con cualquier lenguaje orientado a Objetos.
  98. Buenas. ¿Es aquí lo de hacer comentarios para parecer experto?

    Cada puta vez que sale php...
«12
comentarios cerrados

menéame