Какие языки программирования поддерживают горячую замену кода и / или песочницу? - PullRequest
8 голосов
/ 21 января 2010

Я хотел бы написать MMO-игру, основанную на сети, которая позволит пользователям писать ИИ и запускать его как часть игры. Я планирую использовать Html5 для графики и хочу, чтобы он имел веб-интерфейс, чтобы к нему можно было получить доступ со смартфонов. Мне нужно найти язык программирования, который будет поддерживать песочницу, параллелизм, горячую замену кода и большую библиотеку, чтобы упростить задачу.

В настоящее время мои исследования включают в себя Erlang, Stackless Python и Lua. Любая помощь приветствуется.

Ответы [ 2 ]

16 голосов
/ 21 января 2010

Erlang не не поддерживает песочницу, поэтому вы, вероятно, не хотите использовать это, по крайней мере, для вашего языка сценариев. Эрланг в любом случае не идеален для написания сценариев, так что, наверное, все в порядке.

Erlang будет хорошим языком бэкенда для такого проекта, однако, и я очень рекомендую его из личного опыта.

Я не думаю, что в Stackless также есть поддержка песочницы, так что это, вероятно, также не в списке.

Lua, с другой стороны, явно поддерживает песочницу и имеет сопрограммы: http://lua -users.org / wiki / SandBoxes , http://lua -users.org / wiki / CoroutinesTutorial , поэтому я бы порекомендовал это для вашего языка сценариев.

Lua также чрезвычайно легко встраивать, как видно из этого крошечного урока: http://heavycoder.com/tutorials/lua_embed.php (и вы даже можете уйти без загрузки всей библиотеки, так как вы все равно захотите поместить ее в песочницу).

7 голосов
/ 21 января 2010

Я бы тоже пошел с Lua из-за его абсурдной настраиваемости и универсальности (если вам не нравится его синтаксис, вы можете изменить его на функциональный или похожий на питон). Как сказано в предыдущем ответе, у вас есть песочница и сильный параллелизм. Лично я бы никогда не подумал о встраивании чего-либо еще, кроме Lua;>.

Однако в Lua отсутствует расширенная стандартная библиотека, и именно здесь Python побеждает: /.

...