Да, может. И это легко попробовать на небольшом проекте.
ИМХО, он идеально подходит для создания небольших приложений с графическим интерфейсом в сочетании с приличным инструментарием. Поскольку вы упомянули Visual Basic, я предполагаю, что вы сейчас концентрируетесь на Windows. В этом случае проверьте пакет Lua для Windows .
Lua для Windows объединяет ядро языка Lua с большим количеством полезных модулей расширения и упаковывает его с помощью соответствующего установщика Windows. Он включает в себя версию редактора SCiTE , которая имеет раскраску синтаксиса для Lua и встроенный отладчик. Он также включает привязки для инструментариев GUI wxWidgets и IUP .
Я использовал Lua с IUP для создания нескольких утилит. Вместе можно создавать довольно сложные приложения, не прибегая к скомпилированному коду.
Одной из областей, где Lua терпит неудачу, поскольку единственным языком приложения из коробки является упаковка, является упаковка. Для создания установщика, который предоставляет все, что нужно конечному пользователю, все равно требуется достаточный опыт работы с пакетами приложений Windows, что делает использование Lua в качестве основного языка для них неуместным.
Однако, как показали многие коммерческие проекты, эта проблема может быть решена. Я обычно заканчиваю компиляцией небольшого EXE-файла, который может иметь собственный значок по умолчанию и ресурс версии, который загружает и инициализирует ядро Lua и переносит его в сценарии Lua для остальной части приложения. Это в сочетании с одной или двумя DLL-библиотеками, которые реализуют любую функциональность, показанную профилированием, должно выполняться в скомпилированной среде, и все готово.
К счастью, даже если вы в конечном итоге поставите свою собственную копию Lua, вы обнаружите, что вся установка довольно мала. Кроме того, основной язык сам не обращает внимания на функции Windows, такие как Реестр, поэтому легко иметь несколько приложений, которые все используют Lua, даже если они разных версий.
Lua существует уже более 10 лет и имеет активное сообщество пользователей. Кроме того, это не сложный язык для изучения и изучения, поэтому ИМХО в действительности нет проблем с поиском людей, которые могут внести свой вклад в команду проекта.