Многие из нас были проинструктированы в использовании XML для хранения данных. Это преимущества и недостатки, как правило, известны, и я, конечно, не хочу обсуждать их здесь. Однако в проекте, который я пишу на С++, я также использую Lua. Я был очень удивлен, насколько хорошо Lua можно использовать для хранения и обработки данных. Тем не менее, этот аспект Lua менее признан, по крайней мере, в мире игрового программирования.
Я знаю, что XML имеет свои преимущества в таких случаях, как отправка данных через Интернет и в места, где безопасность вступает в игру (используя данные, загруженные из сети, например, или загружая редактируемые пользователем файлы конфигурации) и, наконец, в случаи, когда одни и те же данные считываются программами на разных языках.
Однако, как только я узнал, как легко и просто обрабатывать данные с помощью Lua (особенно с luabind, чтобы поддержать вас!), я начал задаваться вопросом, есть ли какая-нибудь причина использовать XML для хранения игровых данных, если мы уже используем Lua в любом случае?
Blizzard, используя Lua для написания пользовательского интерфейса, по-прежнему сохраняет макет в XML. Причина в том, что связано только с UI?
Каковы недостатки использования Lua в качестве языка хранения данных?