Есть ли у Lua будущее как язык сценариев общего назначения? - PullRequest
6 голосов
/ 06 ноября 2008

Как уже обсуждалось в " Lua как языке сценариев общего назначения? " Lua в настоящее время, вероятно, не лучший язык сценариев для среды рабочего стола.

Но что ты думаешь о будущем? Будет ли Lua настолько популярным, что скоро будет достаточно библиотек, чтобы можно было использовать его, например, Python, Ruby или что-то подобное?

Или он просто останется в своей нише WoW и все?

Ответы [ 9 ]

12 голосов
/ 06 ноября 2008

Я думаю, что у него большое будущее, многие проекты начинают его внедрять из-за его простоты и полезности.

Пример: Awesome WM (оконный менеджер)

Проект недавно выпустил версию 3, включающую новую систему конфигурации, полностью написанную на Lua. Позволяет вам буквально записать ваш файл конфигурации в виде программы, циклов, логических значений, структур данных. Лично мне нравится синтаксис и гибкость такой системы, я думаю, что она имеет большой потенциал.

Я не удивлюсь, если он станет более популярным в будущем.

Брайан Г

6 голосов
/ 06 ноября 2008

Полагаю, ответ начинается с «Зависит от того, как вы хотите его использовать ...».

Если вы пишете обычное бизнес-приложение (извлечение данных из базы данных, отображение данных на веб-странице или в окне, сохранение данных в базе данных), Lua уже имеет то, что вам нужно.

Kepler Project содержит полезности для веб-разработки. Проверьте их модули , чтобы увидеть некоторые из доступных библиотек - есть сеть, MVC, доступ к СУБД, XML, zip, WSAPI, документы ...

В качестве примера веб-приложения, посмотрите Спутник .

Для настольного интерфейса есть wxLua - Lua перехватывает для wxWidgets .

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

Если вы ищете специализированные библиотеки - научные, мультимедийные, для обеспечения безопасности - не рассчитывайте Lua, прежде чем проверять LuaForge .

Когда дело доходит до этого, в дизайне Lua нет ничего, что мешало бы использованию общего назначения. Просто он маленький, быстрый и легко встраивается ... так делают люди.

2 голосов
/ 02 декабря 2008

Все больше и больше библиотек для Lua.

Если вы пользователь Windows, посмотрите Lua для Windows . Поставляется с «батарейками в комплекте» (wxLua, LuaCURL, LuaUnit, getopt, LuaXML, LPeg ...).

Очень полезно!

2 голосов
/ 07 ноября 2008

Мм? Вместо этого я бы сказал, что WoW - это ниша в экосистеме Lua ... Мир Lua не вращается вокруг WoW, есть множество приложений, таких как Adobe Lightroom (например, не для игр), использующих Lua.

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

Но вы никогда не получите официальный большой дистрибутив с включенными батареями, такими как Python или Perl, потому что это просто не философия авторов.
Что не мешает другим людям создавать дистрибутивы, в том числе множество функций, из коробки (особенно для Windows, где сложно создавать программное обеспечение).

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

1 голос
/ 09 июля 2017

Это 2017 год, спустя 9 лет после того, как этот вопрос был впервые задан, и сейчас lua активно используется в области машинного обучения из-за библиотеки Torch.

1 голос
/ 06 ноября 2008

Я думаю, что отличительной особенностью Lua является то, что он очень легко расширяемый. Очень легко добавить интерпретатор Lua в вашу собственную программу (например, написанную на C, C ++ или Obj-C), и с помощью всего лишь нескольких строк кода вы можете предоставить Lua доступ к любому системному ресурсу, о котором вы только можете подумать. , Например. Lua не предлагает никаких функций для ххх. Напишите один и сделайте это доступным Луа. Но возможно и наоборот. Напишите свое собственное расширение Lua на языке по вашему выбору (тот, который можно скомпилировать), скомпилируйте его в нативную библиотеку, загрузите библиотеку в Lua, и вы сможете использовать функцию.

Тем не менее, Lua может быть не лучшим выбором в качестве автономного кроссплатформенного языка. Но Lua - отличный язык для добавления поддержки сценариев в ваше приложение кроссплатформенным способом (если ваше приложение кроссплатформенное, тем лучше!). Я думаю, что у Lua будет будущее, и я думаю, вы можете ожидать, что этот язык будет постоянно приобретать популярность в долгосрочной перспективе.

1 голос
/ 06 ноября 2008

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

Я использовал его в области WoW, но я также нашел его полезным в качестве общего языка сценариев для ряда различных приложений, над которыми я работал, в том числе в качестве типа триггера базы данных. Мне нравятся Ruby и Python и другие более полнофункциональные языки сценариев, но их не так удобно встраивать в небольшие приложения, чтобы дать пользователям больше возможностей для настройки их окружений.

0 голосов
/ 06 ноября 2008

Warhammer Online, и World of Warcraft использует его для своего языка аддона

Я думаю, что жарко! Я просто не очень хорош в этом!

0 голосов
/ 06 ноября 2008

удобство языка оболочки не имеет ничего общего с отличным языком общего назначения.

я, например, не использую его в других приложениях; я пишу свои приложения на Lua, а все, что «extra», - это библиотека специального назначения, как на Lua, так и на C.

Кроме того, быть популярным не так важно. в списке пользователей Lua периодически появляется кто-то, говорящий: «Lua не будет популярным, если он не сделает X!», и обычный ответ либо: «отлично !, пиши!», либо «уже обсужден и отклонен». 1005 *

...