А чем псевдо ооп в луа не годен?
Да неудобно с этими табличками. Методов нет, заголовков нет, иногда что-то копируется по значению, иногда по ссылке, из-за этого возникает непредсказуемое поведение. Вот например на МунБоте нельзя добавлять хэндл бота в качестве поля таблицы, из-за этого пришлось нагородить кучу табличек и функций, которые перенаправляют друг на друга, чтобы связать все данные между собой. В целом моя практика на Lua такова, что когда скрипт достигает определённого размера разработка замедляется в разы, очень много кода приходится писать по несколько раз, а чтобы внести какое-либо изменение приходится каждый переписывать всё псевдо ООП, чтобы добавить или ещё хуже убрать какое-то поле в этих таблицах. Больше всего напрягает тот факт, что пишется всё это в одном огромном файле и 50% времени уходит на скроллинг или поиск по документу. Может конечно я просто не освоил все тонкости Lua, но вот конкретно сейчас задача стоит таким образом, что весь остальной проект пишется на SF, и чтобы связать между собой SF и Lua приходится использовать мост в виде текстового файла, короче полный трэш.