Ni PHP ni ASP ni ningún otro lenguaje de servidor puede correr en el cliente, así que no confundamos un lenguaje con otro.
JavaScript es un lenguaje que se ejecuta en el cliente, al contrario que PHP o ASP que se ejecutan en el servidor. Por tanto, no podemos ni compararlos, ni sustituir uno por el otro (como he leido más arriba), "no podemos navegar por el mar con un coche ni podemos conducir por la carretera con un barco", cada uno está hecho para un medio distinto.
Por tanto, para muchas aplicaciones es imprescindible utilizar un lenguaje de cliente, sea el que sea, (y no solo para abrir ventanas, si no para muchisimas más cosas) y jamás podremos sustituirlo por un lenguaje de servidor.