2010-01-21 13 views
8

मैं एक वेब आधारित MMO गेम लिखना चाहता हूं जो उपयोगकर्ताओं को एआई लिखने और गेम के हिस्से के रूप में चलाने की अनुमति देगा। मैं ग्राफिक्स के लिए एचटीएमएल 5 का उपयोग करने की योजना बना रहा हूं और यह वेब आधारित होना चाहता हूं ताकि इसे स्मार्टफोन से एक्सेस किया जा सके। मुझे एक प्रोग्रामिंग भाषा खोजने की ज़रूरत है जो चीजों को आसान बनाने के लिए सैंडबॉक्सिंग, समरूपता, हॉट कोड स्वैपिंग और एक बड़ी लाइब्रेरी का समर्थन करेगी।कौन सी प्रोग्रामिंग भाषाएं हॉट कोड स्वैपिंग और/या सैंडबॉक्सिंग का समर्थन करती हैं?

इस समय मेरा शोध एरलांग, स्टैकलेस पायथन और लुआ को बदल रहा है। किसी भी मदद की सराहना की है।

+0

मैं जावास्क्रिप्ट एम्बेड करने पर एक नज़र डालेगा। लूआ लिंक –

उत्तर

15

एरलांग सैंडबॉक्सिंग का समर्थन नहीं करता है, तो शायद आप कम से कम अपनी स्क्रिप्टिंग भाषा के लिए इसका उपयोग नहीं करना चाहते हैं। Erlang वैसे भी स्क्रिप्टिंग के लिए आदर्श नहीं है, तो शायद यह ठीक है।

एरलांग इस तरह की एक परियोजना के लिए एक अच्छी बैकएंड भाषा बनायेगा, हालांकि, और मैं इसे व्यक्तिगत अनुभव से अत्यधिक अनुशंसा करता हूं।

मुझे नहीं लगता कि स्टैकलेस के पास सैंडबॉक्सिंग समर्थन है, इसलिए शायद यह सूची से भी दूर है।

लुआ, दूसरे हाथ पर, स्पष्ट रूप से सैंडबॉक्सिंग का समर्थन करता है, और coroutines भी है: http://lua-users.org/wiki/SandBoxes, http://lua-users.org/wiki/CoroutinesTutorial, इसलिए मुझे लगता है कि सिफारिश करेंगे अपनी पटकथा भाषा के लिए।

लुआ इस छोटे ट्यूटोरियल में दिखाई देने के लिए भी बेहद आसान है: http://heavycoder.com/tutorials/lua_embed.php (और आप सभी लाइब्रेरी लोडिंग सामानों के बिना भी दूर हो सकते हैं क्योंकि आप वैसे भी सैंडबॉक्सिंग करना चाहते हैं)।

+0

+1 अच्छा काम करेगा। बस सुनिश्चित करें कि उपयोगकर्ता केवल एआई सिस्टम को वैध डीएसएल भाषा जमा करते हैं। और नियम बनाओ कि एआई का पालन करना चाहिए। एआई एक दूसरे में कई संदेशों को नहीं भेज सकता है, और जीवित सवालों पर जवाब देना चाहिए। यह क्यों काम नहीं करेगा? –

+1

एरलांग के लिए – Flinkman

+0

ठीक है, स्टार्टर्स के लिए, यदि वे एक डीएसएल का उपयोग कर रहे हैं, तो यह एक एम्बेडेड भाषा के रूप में एरलांग नहीं है, यह एक डीएसएल है। सवाल में कहा गया है कि वह * एक भाषा * को खोजने के लिए * एक * भाषा * ढूंढने की तलाश में था। – pib

7

मैं इसकी अनुपस्थित अनुकूलता और बहुतायत के कारण लुआ के साथ भी जाऊंगा (यदि आपको यह वाक्यविन्यास पसंद नहीं है तो आप change it को कार्यात्मक या अजगर की तरह एक कर सकते हैं)। जैसा कि पिछले जवाब में कहा गया है, आपको सैंडबॉक्सिंग और मजबूत समेकन मिला है। मैं व्यक्तिगत रूप से लुआ की तुलना में कुछ और एम्बेड करने के बारे में भी नहीं सोचूंगा;>।

हालांकि, लुआ में विस्तारित मानक पुस्तकालय की कमी है, और यही वह जगह है जहां पायथन बड़ा समय जीतता है: /।

+0

एक एम्बेडेड भाषा के लिए, जहां विस्तारित मानक लाइब्रेरी की आवश्यकता नहीं है, हालांकि यह सही है। विशेष रूप से इस तरह के मामले में जहां यह अविश्वसनीय कोड चल रहा है, आप जितना संभव हो उतना टूटने के संभावित क्षेत्रों को सीमित करना चाहते हैं। एक सामान्य उद्देश्य प्रोग्रामिंग भाषा के लिए, निश्चित रूप से पाइथन हमेशा तक पहुंचता है। – pib

+1

जावास्क्रिप्ट, फर्थ और लिस्प अन्य भाषाओं में से हैं जो मैं एम्बेडिंग पर विचार करता हूं, लेकिन मुझे यकीन नहीं है कि इस तरह के कार्य के लिए लुआ के लिए कोई मजबूत प्रतिस्पर्धा है या नहीं ... – pib

संबंधित मुद्दे