Pregunta

Voy a escribir un XMPP (Jabber) bot, y tengo que decidir en qué idioma debo escribir.Actualmente estoy pensando en Python, Java y PHP.

Ya estoy esperando el bot que ejecutan la mayoría del tiempo (es decir,23.5/7), hay algunos específicos de argumentos a favor o en contra de la utilización de uno de estos idiomas?(por ejemplo,no "$x chupa", pero "$y tiene buena demonio de la biblioteca" o "$z fugas de memoria")

El bot propósito de la mayoría será de responder a la entrada del usuario.

Si ninguno de estos idiomas parecen adecuados para usted, ¿qué recomendaría usted?

¿Fue útil?

Solución

Yo diría Python con el marco de la Twisted . Twisted es increíble marco para la creación de redes asíncronas y la mayor parte del tiempo que ya tiene el soporte para el protocolo que busca. Hay una ligera curva de aprendizaje debido al patrón del reactor, pero una vez superados se pueden hacer cosas increíbles con la cantidad más pequeña de código. En cuanto al protocolo IRC retorcido ya lo tiene, así que mientras yo no soy un experto en robots de IRC, sin duda recomendaría Python y trenzado.

Por cierto, este es el primero que se le ocurrió Google: Python bot de IRC usando Twisted

Otros consejos

Si desea servicio para múltiples usuarios al mismo tiempo(probablemente quieras), PHP puede no ser una buena opción, ya que no es compatible(o experimentalmente apoyo) roscado, usted tiene a la bifurcación de una copia de su solicitud para cada usuario.

Recomiendo Java para este propósito.El sol describe Java como "simple, orientado a objetos, distribuido, interpretado, robusto, seguro, de arquitectura neutral, portátil, de alto rendimiento, multiproceso, y dinámico.".

En mi opinión, con la excepción de tiempo de los trabajos críticos de Java que mejor se adapte para la arquitectura cliente-servidor.

De las opciones que posteaste, tendría que sugerir Java. PHP, por su parte, simplemente no va a hacer lo que usted quiere que; que está destinado a ser un lenguaje de scripting web, no un lenguaje de script-nada más. Python es capaz de hacer lo que quiere, pero creo que Java proporcionará más apoyo fuera de la caja de la funcionalidad que está tratando de lograr.

En lo personal me gustaría empezar con el ejabberd código base y trabajar desde allí - para un servidor de red sin cabeza agente, Erlang sería el lenguaje / plataforma me alcanzo en primer lugar, a menos que hubiera argumentos convincentes para otra tecnología. datos inmutable y concurrencia basado en los actores empuja todo el código de limpieza normal y baja hacia la plataforma, dejándolo libre para concentrarse en los bits que son realmente lo que su aplicación está a punto.

Escrito Hace algunos años bot de IRC usando Delphi. Es mucho mejor que las lenguas de interpretación - come menos memoria, que funciona mucho más rápido, y usted puede estar seguro de que tendrá una gran reserva de velocidad si se necesita añadir más y más características en el futuro - frases usuarios de análisis sintáctico, procesarlos. Por ejemplo, mi bot registra particularmente toda la charla y se realizó búsqueda rápida por petición del usuario (usuario acaba de escribir búsqueda palabra / frase - bot realiza la búsqueda y se envía a los resultados del usuario citas tan cortos, por lo que el usuario puede seleccionar una de citas y obtener más puestos alrededor del tronco). Es casi inaplicable utilizando, por ejemplo php porque es demasiado lento. Si se propone robot para trabajar bajo * nix - sólo tiene que utilizar C / C ++:)

Si desea utilizar sólo los idiomas enumerados en tu mensaje - entonces sólo Java para mi mente. Leer más arriba por qué.

Python Jabberbot

Esta es una manera bastante fácil crear un jabberbot con Python.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top