porqué no C, C++, Python o el que quieras de los lenguajes compilados? pues muy simple, salvo que tengas vos mismo tu propio servidor, o que el servidor que tengas contratado te permita instalar programas compilados o directamente compilar tus propios programas, lo que no es muy común en la mayoría de los servidores y menos cuando se trata de programas de chat, entonces no vas a tener más remedio que utilizar un lenguaje de script.
tené en cuenta que actualmente practicamente cualquier servidor te permite utilizar php, incluso muchos de los gratuitos, pero muy pocos te permiten instalar programas compilados.
y la verdad que no estoy para nada de acuerdo contigo en que php sea muy lento para esto, acordate que lo único que tenemos que manejar es la lista de contactos y sus estados. lo único que tendría que hacer el script php sería devolver una simple cadena de texto con esa información y luego nosotros la manipularíamos con visual basic, para eso php no es para nada lento.
fijate que personalmente he conocido gente que ha llegado a tener hasta más de 300 contactos en el msn, lo cual por lo general es la excepción que confirma la regla, la mayoría de los usuarios no tiene tantos contactos, pero de todas formas vamos a usar esa cifra.
lo único que devolvería el script sería algo como esto:
[email protected] ON|
[email protected] OFF|
[email protected] AWAY......
y todo así para todos los usuarios. si te fijás cada usuario ocupa unos 30 caracteres de texto aproximadamente (divididos en usuario estado) lo que haría que para 300 contactos sería unos 9000 caracteres más o menos (menos de 10Kb), todas cifras aproximadas obviamente.
y eso usando la dirección de email para identificar a cada usuario, sería muchísimo menos aún si usáramos simplemente un id autonumérico para eso lo que sería solamente unos 10 caracteres para cada usuario si tuviéramos miles de usuarios de nuestro chat, lo que sería unos 3Kb de info para 300 usuarios. ahora yo te pregunto, cuánto puede demorar php en devolver esa lista?
y eso sin usar ningún tipo de compresión, que perfectamente podríamos implementar algún sistema de compresión para que la info que tenemos que devolver sea aún más chica. y no te olvides que estamos usando una lista de 300 contactos, obviamente sería aún muchísimo menos si usamos una lista un poco más normal de unos 30 o 50 contactos.
personalmente no creo que php sea lento para devolvernos esa info.
ahora si me decís que tenés tu propio servidor y que podés utilizar todo lo que se te antoje, entonces no lo pensaría dos veces, obviamente programaría el código del servidor en C++, no lo pienso dos veces
pero si solamente cuento con un servidor gratuito o alguno que pague unos poquitos euros por mes y no pueda usar otra cosa que lenguajes de script, entonces sí lo hago en php.
espero que entiendas ahora el porqué de php y mysql, que no tiene porqué correr necesariamente en GNU/Linux, puede ser en windows también, aunque en ese caso recomiendo asp y sql server, si es que lo podés usar en el servidor, sinó te vas a tener que conformar con asp y access.
o sea, todo depende de lo que puedas hacer con el servidor que cuentes. creo que queda claro ahora no?