为Jabber机器人选择哪种语言?

我将写一个XMPP(Jabber)机器人,并且我需要决定用哪种语言编写它。 目前我正在考虑Python,Java和PHP。

由于我预计机器人大部分时间都在运行(即23.5 / 7),有没有一些具体的论点来支持或反对使用这些语言之一? (例如不是“$ x sucks”,而是“$ y有很好的守护进程库”或“$ z泄漏内存”)

机器人的目的主要是响应用户的输入。

如果这些语言都不适合你,你会推荐什么?


我会说Twisted框架的Python。 Twisted是异步网络的惊人框架,大部分时间它已经支持您正在寻找的协议。 由于反应堆模式有一个轻微的学习曲线,但一旦克服,您可以使用最少量的代码完成惊人的事情。 至于IRC协议已经有了它,所以虽然我不是IRC机器人专家,但我肯定会推荐Python和Twisted。

顺便说一句,这是第一个提出谷歌:Python IRC机器人使用Twisted


如果你想同时为多个用户服务(可能你想),PHP可能不是一个好的选择,因为它不支持(或者实验性地支持)线程,你必须为每个用户分发你的应用程序的副本。

我为此推荐Java。 Sun将Java描述为“简单,面向对象,分布式,解释型, 健壮 ,安全,架构中立,可移植,高性能, 多线程和动态”。

在我看来,除了时间关键型工作之外,Java最适合客户端 - 服务器体系结构。


你发布的选项中,我将不得不建议Java。 举个例子,PHP根本就不会做你想做的事情; 它意味着成为一种Web脚本语言,而不是其他任何脚本语言。 Python能够做你想做的事情,但我认为Java将为你试图实现的功能提供更多的开箱即用支持。

链接地址: http://www.djcxy.com/p/94043.html

上一篇: Which language to choose for a Jabber bot?

下一篇: Using Jabber to send network messages