Нужен встраеваемый язык с виртуальной машиной. Главное требование - безопасность - т.е. нужны гарантии, что исполняемый в VM код не сможет вызвать никаких внешних функций, кроме жестко заданного списка. Т.е. хочется без опасений запускать в ВМ код полученный от кого угодно, и быть уверенным что максимум что оно сделает - сожрет CPU. Никакого доступа к файловой системе, другим процессам, сокетам и т.д. Второе что нужно - возможность контроля ресурсов, используемых VM. Т.е. возможность синхронно выполнить не более N инструкций при том, что максимальное время выполнения каждой инструкции должно быть известно (либо выполняться не более N мсек), после чего VM отдает управление. Также с памятью - есть предел, при достижении которого VM можно прибить.
Если кратно, то хочется примерно следующее: дать возможность кому угодно залить мне любой код, и иметь гарантию что он не сможет сделать ничего лишнего и не будет жрать больше процессора, чем я укажу.
Наконец, нужно уметь сериализацию кода и данных, загруженных в VM в переносимую форму. Т.е. мне залили код, он повыполнялся у меня, я потом взял, и сбросил состояние VM в файл, который продолжил бы выполнять уже на другой машине (возможно другой архитектуры).
lua, например, отвечает заданным критериям? Никаких особых требований к самому языку нет.