PHP Non-Thread Safe vs Thread Safe
Actualmente las versiones de PHP se están distribuyendo como Non-Thread Safe (NTS) y Thread Safe (TS), veamos en que consiste cada una: Thread Safe (TS) es una característica que permite optimizar PHP para un entorno MultiHilo (Windows) y no Multiproceso (Linux) , siendo así mas efectivo en Apache para Windows ya que permite, dicho de una forma totalmente ambigua, cargar todo el ambiente de PHP y mantenerlo en la memoria para todos los hilos que lo necesiten. Esto sin embargo generaba problemas varios en ISS al ejecutar PHP como ISAPI ya que muchas extensiones estaban hechas pensado en el modelo Multiproceso (Linux) y obligaba a utilizar PHP como CGI, esto lo hacía más estable pero exageradamente más lento debido a que tiene que cargar y descargar de la memoria el ambiente completo de PHP en cada requerimiento o proceso. Lo que Non-Thread Safe (NTS) permite es configurar ISS y otros servidores basados en el modelo de Windows (MultiHilo) para que usen PHP como CGI pero mejorando...
Comentarios
Por lo de polimorfismo, php sí que soporta polimorfismo, más concretamente polimorfismo subtipado, recuerda que puedes tener una clase A con un método x y dos clases B y C que hereden de A y llamar en cualquier objeto de estas clases al método x sin tener que preocuparte sobre qué objeto estás haciendo la invocación del método ya que cada clase lo implementaría de manera conveniente :)
En cuanto al polimorfismo lo que quiero decir es que si A tiene una función x la clase B que hereda de A pueda redefinirla con un nuevo código e incluso puedan existir múltiples funciones dentro de una misma clase con el mismo nombre y lo único que cambio es el parámetro, todo esto existe en java y le hecho de menos en PHP.
En fin, que trabajar con un lenguaje interpretado tiene sus ventajas y desventajas, es cuestión de valorar posibilidades, php5 por ejemplo viene con la API Reflection que permite hacer ingeniería inversa de funciones, clases, etc, ruby soporta clases abiertas e incluso modificar su código mediante instrospección en tiempo de ejecución lo que ha llevado a frameworks escritos en ruby como rails a ser ridículamente extensibles.
Yo en particular extraño la sobrecarga de operadores que no existe en java ni php y muy débil en c# pero sí bastante fuerte en Ruby, de ahí mi devoción por este lenguaje :3