2009-05-05 11 views
15

PHP 5 salió en 2004. PHP 5.2 apareció en la red a finales de 2006. Desde entonces, no ha habido más que lanzamientos de errores incrementales y lanzamientos beta de PHP 5.3. Han pasado dos años y medio desde entonces, y aunque PHP 5.3 contiene algunas características nuevas e interesantes, no son que revolucionario.¿Cuál es el estado actual de la comunidad PHP?

He usado PHP durante siete años, pero últimamente ha empezado a sentir que hay algo muy grave en la comunidad. Con la comunidad, no me estoy refiriendo exactamente a la comunidad de PHP en general (hemos visto un gran progreso en el desarrollo del framework en los últimos años), sino más bien al pequeño grupo de comparación que hace todo el desarrollo real. Me refiero a lo que habitualmente llama el nombre del grupo de noticias php.internals.

Personalmente, nunca he sido un colaborador activo de este grupo, pero solía leerlo con bastante cuidado hace un tiempo, y mi impresión es que hay muchos conflictos internos y fricción, lo que frena el progreso. Muchas ideas y sugerencias son rechazadas sin una consideración seria porque a alguien con mucho "karma" le desagrada, y cuando se llega a un acuerdo parece ser un compromiso que a nadie realmente le gusta. Un buen ejemplo de esto es la elección del separador de espacio de nombres: "\", una opción que a todos parece no gustarles.

¿Soy yo, o está el conflicto y la tensión destruyendo PHP desde el interior? ¿Tiene PHP el tipo de problema de gestión que entiendo que es común entre los proyectos de código abierto? ¿Cómo lidias con este tipo de problemas?

+3

Esta es una pregunta legítima, pero probablemente debería rehacerla con un título menos subjetivo. – Unknown

+0

Erm ... Creo que los chicos se están preparando para lanzar PHP6, que tiene algunas nuevas características locas como enlace estático tardío, y al mismo tiempo mantiene PHP5. "Pudrirse desde adentro" es una exageración. – karim79

+4

Estoy de acuerdo. Lo he cambiado a algo más neutral. –

Respuesta

10

He estado programando en PHP durante la mayor parte de los últimos 10 años. Durante mucho tiempo he estado molesto con varias limitaciones de PHP (manejo de referencia deficiente y falta total de punteros, así como una biblioteca muy desordenada e inconsistente) Decidí cambiar a Python y wsgi. Lo que me puso al borde fueron los nuevos espacios de nombres que usaban barras invertidas como separadores.

En lugar de tratar realmente de mejorar sus productos, zend sigue grapando cosas nuevas en un producto que nunca fue diseñado para ser utilizado tal como se lo utiliza hoy en día.

Estoy haciendo todo esto sabiendo que básicamente estoy desperdiciando años de trabajo ... Pero siento que el futuro de PHP no es muy bueno ... También apesta, pasé 3 años desarrollando un framework de PHP que utilizo en muchos sitios web que he creado. Más de 70,000 líneas de código ahora obsoletas. :(

+0

¿No es que digo que te equivocaste al cambiar de opinión sobre PHP, pero el personaje de la barra invertida te empuja al límite? Hablando de la paja que rompió la espalda del camello ... es solo un personaje, realmente no veo el gran problema. – nickf

+2

No creo que sea lo suficientemente malo como para provocar que las personas abandonen PHP, pero el delimitador del espacio de nombres de barra diagonal inversa es un poco inestable. Toma esto: $ func = "foo \ bar"; $ x = $ func(); ¿Func se refiere a la función de barra en el espacio de nombres foo oa una función llamada foo {bell} ar en el espacio de nombres global? Cuando tienes la capacidad de invocar funciones a través de cadenas como esa reutilizando el personaje, escapar el carácter de tu delimitador es simplemente incorrecto. ¿Imagine lo mismo en una cadena que pretende pasar a create_function o eval? – jmucchiello

+0

'\ b' no se interpreta como cualquier cosa dentro de una cadena. "foo \ bar" evalúa la cadena literal 'foo \ bar' que no es un nombre de función válido. No tengo acceso a 5.3 por lo que no he probado si se resolverá como la función 'bar()' bajo el espacio de nombres 'foo'. – DisgruntledGoat

7

¿Qué tan rápido y con frecuencia qué se puede esperar cambios en el lenguaje venir? Supongo C++ es completamente muerto ya que no han actualizado en 10 años. Y Perl 6 es Duke Nukem Forever, ¿verdad?

Python : 2.0 en 2000, 2.6 en 2008. Eso es un ciclo de 12-15 meses. PHP: 5.0 en 2004, PHP 5.3 en 2009. Eso es un ciclo de 15-18 meses. Java: 1.0 en 1996 y 1.6 en 2008. Eso es 18-24 meses ciclo

desarrollo del lenguaje es duro. hacerlo rápido no significa que sea fácil.

+0

Estoy pensando C#. Lanzado en 2000, en 2009 tenemos 4.0. Esa es una nueva revolución cada 2 años. Podría tener 2 ciclos de retraso y volverme loco tratando de aprender todo lo nuevo, pero al menos estoy en un equipo genial. Yaay! –

+0

Este es un buen punto. Prefiero que hagan lanzamientos ocasionales buenos que solo muchos de ellos. –

3

Creo que es hig h tiempo que alguien bifurca PHP y crea una versión de PHP-Lite o más. Todo proyecto de código abierto de larga ejecución llega a esa etapa. Mira a Netscape, se hinchó y se tiró hasta que apareció alguien y creó una versión lite de FireFox. Lo mismo está sucediendo con MySQL. Hubiera sido genial si alguien hiciera eso por PHP también, solo para guardarlo.

+2

El único problema real sería la lista de funciones. Si reduces la lista de funciones (y corriges los parámetros de llamada para que tengan sentido) terminas con incompatibilidades. Cada incompatibilidad es una barrera de entrada que hace que su PHP-Lite sea menos tentador. Y debes decidir qué lo hace Lite. ¿Vuelve al historial de procedimientos de PHP o agrega más OOP (cadenas y matrices podrían ser eliminadas)? ¿Agregas soporte UTF a la base? Demasiadas variables – jmucchiello

+1

Todavía sería más fácil la transición a "PHP-Lite" (nombre incorrecto) que a un lenguaje completamente diferente como Python (cuya sintaxis personalmente no me agrada, por cierto). –

Cuestiones relacionadas