LINUX.ORG.RU

Для чего нужен Lua

 


2

0

Если Linux является вашей постоянной средой «обитания», то наверняка вам приходилось иметь дело с интерпретируемыми языками программирования (которые чаще называют языками для написания скриптов), такими как shell, Perl, Python, Ruby. Все они справляются с поставленными задачами, одни лучше, другие хуже, в зависимости от конкретной ситуации. Так зачем же нужен ещё один интерпретируемый язык? Не спешите выносить приговор – давайте сначала рассмотрим все преимущества и недостатки Lua.

Часть 1. Первый взгляд.

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

Часть 2. Практическое применение.

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

Часть 3. Сила в единстве.

В заключительной части мы рассмотрим взаимодействие Lua с другими языками программирования (в частности, с API) и конкретные примеры применения Lua как в свободно распространяемых, так и в коммерческих программах.

>>> Подробности

★★★

Проверено: maxcom ()

> В 1993 году Роберто Иерусалимши (Roberto Ierusalimschy), Луис Энрике де Фигуэйредо (Luiz Henrique de Figueiredo) и Вальдемар Селес (Waldemar Celes), члены группы разработки технологий компьютерной графики (Tecgraf) Епископального католического университета Рио-де-Жанейро (Pontifical Catholic University of Rio de Janeiro) в Бразилии создали скриптовый язык, сочетающий свойства императивных и функциональных языков и обладающий объектно-ориентированными свойствами. Назвали его португальским словом Lua (произносится «лууэ» [ˈluː.ə]), что в переводе означает «луна».
....

ЧОрд, интригующее начало ... так и быть, читаю всю статью.))

elipse ★★★
()

Для чего нужен Lua

Хорошее такое заглавие, лоровское, так и просится сказать - не нужен.

vga ★★
()

Ура, статьи группируются!

t184256 ★★★★★
()

Lua bindings можно было и больше уделить внимания , а примеры с lua-gnomе были бы тоже полезны, имхо.

Кстати, на вопрос «Для чего нужен Lua » - на это так и нет убедительных аргументов и мнений у автора в трех статьях )) А жаль.


elipse ★★★
()
Ответ на: комментарий от elipse

А статьи таки «забобрим» (какое дурацкое словечко)

elipse ★★★
()
Ответ на: комментарий от elipse

Луа может быть полезен для эмбеддеров на жутко порезанных системах, и то, если разработчики захотят его изучать и использовать вместо С, Rob Landley например заинтересовался для своего toybox, который наследник busybox. Если жутких ограничений нет - ecmascript имеет большую базу пользователей и реализаций языка.

vga ★★
()

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

Reset ★★★★★
()
Ответ на: комментарий от Reset

А в интепретаторе никаких global-locks нет? Я могу позвать несколько интерпретаторов из нескольких потоков? Если — да, то решение выглядит интересным.

Пример — контроллер сети банкоматов или платежных терминалов. Удобно логику обмена с устройством и банком/процессинговым центром реализовать встроенным интепретатором.

gns ★★★★★
()

Какой провокационный заголовок.

xetf ★★
()
Ответ на: комментарий от vga

>Хорошее такое заглавие, лоровское, так и просиХорошее такое заглавие, лоровское, так и просится сказать - не нужен.тся сказать - не нужен.

не говори, сам машинально подумал

anonymous
()
Ответ на: комментарий от opensuse

Да и не только) Сейчас вот ковыряю сервер одной корейской игрушки - все скрипты на Lua написаны.

devl547 ★★★★★
()

А для Ъ?
Я слышал что он удобнее встраивается, но если строить пайтон, то всё в разы красивее и удобнее.
Переубедите меня.

tia
()
Ответ на: комментарий от anonymous

Открыл Google...

GNU Guile is an interpreter/virtual machine for the Scheme...

закрыл Google.

Хоть одна новость про языки может обойтись без скобочных троллей?

anonymous
()
Ответ на: комментарий от tia

> Я слышал что он удобнее встраивается, но если строить пайтон, то всё в разы красивее и удобнее.
Переубедите меня.

А нафига ? Это дорогая операция ))

elipse ★★★
()
Ответ на: комментарий от tia

35К (если не ошибаюсь) размер полного интерпретатора в скомпилированном виде. Библиотеки, реализующие ВЕСЬ необходимый функционал непосредственно в приложении и того по-меньше будут.

Api прост... Ну, тут всего и расскажешь. Весьма полезный и довольно умно сделанный язык.

anonymous
()

Из статьи: «Отступы от начала строки с помощью пробелов и табуляций не играют никакой синтаксической роли (в отличие от Python), т. е. формат записи свободный.»

Что ж, имеет право жить. В отличии от.

anonymous
()

> Так зачем же нужен ещё один интерпретируемый язык?

Так зачем же нужен ещё один интерпретируемый язык?

А что скажет ПроФФессор, любитель «скриптовых недоязычков» (с) Mauhuur.

Bioreactor ★★★★★
()
Ответ на: комментарий от tia

> Я слышал что он удобнее встраивается, но если строить пайтон, то всё в разы красивее и удобнее.

Питон это жирно и толсто! Бр-р-р!

anonymous
()

Тот же JS, только с другими скобками и страндартной библиотекой(может только в этом и преймущество).

SV0L0CH
()
Ответ на: комментарий от anonymous

Библиотеки, реализующие ВЕСЬ необходимый функционал непосредственно в приложении и того по-меньше будут.

Это лишь говорит о обширности функционала :)

a3
()
Ответ на: комментарий от pseudo-cat

> в первом же примере убогое if then else end, там есть чтонить типа cond из коробки?

Звездность лисперов не дает тебе покоя и ты решил закосить под них?

anonymous
()
Ответ на: комментарий от anonymous

хотя сам Lua меня достаточно сильно заинтересовал

pseudo-cat ★★★
()

>то наверняка вам приходилось иметь дело

не приходилось

borring
()

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

Но пример Lua показывает, как важно удачно позиционировать язык и сделать хорошую реализацию. Lua «весит» на порядок меньше Python и раза в 2-3 быстрее работает. И соотвественно имеет свою нишу, не только в играх и встраиваемых системах. Вот, около половины adobe lightroom написано (по крайней мере было написано) на lua: http://www.sqlabs.net/blog/2006/01/adobe-lightroom-and-lua.html

И документация на сайте достаточно полная, с хорошим учебником.

Фактически, Lua - это Tcl/Tk наших дней. В-общем, симпатичный язык, дай бог ему и его авторам благополучия.

V_P
()
Ответ на: комментарий от pseudo-cat

Много ветвлений это вообще шило, особенно при большой вложенности :-)

yoghurt ★★★★★
()
Ответ на: комментарий от PolarFox

> Всё в lua хорошо, только синтаксис какой-то дурацкий. Паскалеподобный.

этим ты оскорбил паскаль. синтаксис там совсем плохой. но Lua нужен.

tommy ★★★★★
()
Ответ на: комментарий от yoghurt

в JS и в Lua прототипная модель объектов

anonymous
()
Ответ на: комментарий от gns

> Я могу позвать несколько интерпретаторов из нескольких потоков? Если — да, то решение выглядит интересным.

можешь

Reset ★★★★★
()
Ответ на: комментарий от anonymous

Не знаю, но lisp это вообще отдельная тема.

Reset ★★★★★
()
Ответ на: комментарий от elipse

>А нафига ? Это дорогая операция ))

Ну щас будет фреймворками на пистоне и всякими полуфабрикатами донимать ))

Спрячь свой баттхерт, не красиво.

Питон это жирно и толсто! Бр-р-р!

В каком смысле? Интерпритатор толстоват и slow-оват? Да, увы. Но писать код для приложения, в которое он встроен, очень легко, удобно и красиво. Я встраивал CPython в несколько своих приложений, как и lua. Луа же я откинул достаточно скоро из-за синтаксиса ибо тогда легче написать апи на С и писать на С вместо луа. Легче, удобнее, быстрее. А вот на пайтоне выйгрышь мне оказался очень по нраву.

gst встраивается ещё красивее чем пайтон.

Вут? Что есьм gst? Да, я слоу.

Тот же JS, только с другими скобками и страндартной библиотекой(может только в этом и преймущество).

Кстати да, хорошее сравнение.

tia
()
Ответ на: комментарий от tia

>Я слышал что он удобнее встраивается, но если строить пайтон, то всё в разы красивее и удобнее. Переубедите меня.

были желающие встроить и питон и перл туда где пашет Lua. эти проекты (полу)заброшены / непопулярны. на питоне пусть пишут фанаты питона. Lua там где просто надо писать скрипты, хоть это и безумные инструменты типа Tcl и Lua. Зато удобные для встраивания и очень просто в работе и довольно быстро работают при минимуме потребляемых ресурсов.

tommy ★★★★★
()

да того, чтобы насиловать мозги с конфигом осома.

/me буквально вчера на него перелез.

mega_venik ★★★
()

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

anonymous
()
Ответ на: комментарий от elipse

Оба-нааа...

> Ну щас будет фреймворками на пистоне и всякими полуфабрикатами донимать ))

Милейший, как я понимаю, новый завоз «Мечей-Кладенцов» на склад был? Так чтоб, «одним махом семерых убивахом»? =)))

anonymous
()
Ответ на: комментарий от tommy

Смотря какие цели и требования, да. Ресурсы и сложность встраивания - луа или тикль(хотя уже не актуален). Удобство АПИ и написания кода на встраиваемом языке - пайтон.

tia
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.