سؤال

سأكون أكتب بوت XMPP (Jabber)، وأحتاج إلى تحديد اللغة التي يجب أن أكتبها. حاليا أنا أفكر في بيثون وجافا و PHP.

نظرا لأنني أتوقع أن يجري الروبوت معظم الوقت (أي 23.5 / 7)، هل هناك بعض الحجج المحددة أو ضد استخدام إحدى هذه اللغات؟ (على سبيل المثال لا "$ x تمتص"، ولكن "$ y لديه مكتبة الخفي الجيدة" أو "ذاكرة تسرب $ Z")

الغرض BOT سوف يستجيب في الغالب لإدخال المستخدم.

إذا كانت أي من هذه اللغات تبدو مناسبة لك، فماذا تنصحني؟

هل كانت مفيدة؟

المحلول

أود أن أقول بيثون مع ملتوية إطار العمل. الملتوية هو إطار مذهل للشبكات غير المتزامنة ومعظم الوقت لديه بالفعل دعم البروتوكول الذي تبحث عنه. هناك منحنى تعليمي طفيف بسبب نمط المفاعل ولكن بمجرد التغلب عليه، يمكنك القيام بأشياء مذهلة مع LITTLEST مبلغ من التعليمات البرمجية. أما بالنسبة لبروتوكول IRC الملتوية بالفعل، فلن أكون خبيرا في روبوتات IRC، أود بالتأكيد بيثون والملتوية.

راجع للشغل، وهذا هو أول من جاء مع Google: بيثون IRC بوت باستخدام الملتوية

نصائح أخرى

إذا كنت ترغب في الخدمة للمستخدمين المتعددين في نفس الوقت (ربما تريد)، فقد لا يكون PHP اختيارا جيدا، لأنه لا يدعم الخيوط (أو دعم تجريبيا)، يجب عليك شوكة نسخة من طلبك لكل مستخدم وبعد

أوصي جافا لهذا الغرض. تصف الشمس جافا بأنها "بسيطة، وجوه موجهة نحو كائن، موزعة، مفسر، قوي, ، آمنة، الهندسة المعمارية محايدة، المحمولة، عالية الأداء، multithereaded., وديناميكي ".

في رأيي باستثناء الوظائف الحرجة الزمنية جاوة أفضل بدلات بنية خادم العميل.

من الخيارات التي نشرتها، أود أن أقترح جافا. PHP، لأحد، ببساطة لن تفعل ما تريد ذلك؛ من المفترض أن تكون لغة نصية ويب، وليس لغة نصية أي شيء آخر. Python قادر على القيام بما تريد، لكنني أعتقد أن جافا ستقدم المزيد من الدعم خارج الصندوق للوظائف التي تحاول تحقيقها.

شخصيا سأبدأ jabberd. CodeBase والعمل من هناك - للحصول على وكيل خادم شبكة رأس الرأس، سيكون Erlang اللغة / النظام الأساسي الذي وصلت إليه أولا، ما لم تكن هناك حجج مقنعة لتكنولوجيا أخرى. يدفع البيانات المتنقلة والتزامن المستندة إلى الممثل جميع كود التدبير المنزلي العادي إلى المنصة، مما يترك لك حرية التركيز على البتات التي هي في الحقيقة ما هو تطبيقك.

كتب منذ بضع سنوات بوت إلى IRC باستخدام دلفي. من الأفضل بكثير من اللغات المترجمية - يأكل ذاكرة أقل، ويعمل بشكل أسرع بكثير، ويمكنك التأكد من أنه سيكون لديه احتياطي كبير من السرعة إذا كنت ستحتاج إلى إضافة المزيد والمزيد من الميزات في عبارات المستخدمين في المستقبل، ومعالجتها. على سبيل المثال، قمت بتسجيل الوصول بشكل خاص جميع الدردشة وأداء البحث السريع عن طريق طلب المستخدم (كتب المستخدم للتو! بحث كلمة / عبارة - قام BOT بإجراء بحث وإرسالها إلى نتائج المستخدم كقراضات قصيرة، لذلك يمكن للمستخدم تحديد إحدى الاقتباسات واحصل على المزيد من الوظائف حولها من السجل). لا يمكن تحديده تقريبا استخدام PHP لأنه بطيء جدا. إذا اقترح BOT العمل تحت * NIX - استخدم فقط C / C ++ :)

إذا كنت ترغب في استخدام اللغات التي تعدد فقط في مشاركتك - ثم Java فقط إلى ذهني. قراءة أعلاه لماذا.

بيثون Jabberbot.

هذه طريقة سهلة إلى حد ما لإنشاء Jabberbot مع بيثون.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top