LINUX.ORG.RU

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

 


2

0

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

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

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

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

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

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

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

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

★★★

Проверено: maxcom ()
Ответ на: комментарий от unikoid

> Для того, чтобы конфигурировать awesome, ion3 и т. д.

И, особенно, GRUB2.

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

Кстати, для тех кому не нравится синтаксис lua. Существует язык программирования, который пытается решать те же задачи, что и lua но имеет C/C++ подобный синтаксис: http://squirrel-lang.org/

не-не-не... накукуй? для тех кому нужен «С/С++»-подобный (интересно таки С или С++ всё же) синтаксис - есть те самые пресловутые С/С++... фишка Lua что он имеет простой синтаксис и можно, к примеру, программеров посадить движок пилить а геймдевам дать в руки луа и вперёд :)

shty ★★★★★
()

IBM_dW - этот человек добился того, что своими постами выработал у меня условный рефлекс - если меня интересует обозрение какой-то тематики с примерами, то я её первым делом ищу на www.ibm.com. хорошие статьи по яве, по bash, по gtk, по самбе, редактору vim, да много по чему. короче, респект IBM_dW. продолжай в том же духе.

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

>Я считаю хорошими языки с синтаксисом вроде С, Python (да, отступы мне тоже нравятся) или Lisp.

Честно говоря, не вижу чем Паскакаль выделяется. Он достаточно консистентен.

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

> А где разница? Они же один в один друг на друга похожи. Я чтото пропустил?

Эммм... Ну, коли так рассуждать, то и паскаль на С похож. =))) Назначение у сих языков _разное_. И, как следствие, области применения. То, что на javascript'е решается с пол-пинка, на Lua будет решаться через... И подстегнуть javascript'овый скриптец к существующей программе так же не совсем хорошо будет — проблем с реализацией выше крыши. Начиная от синтаксического анализа, который либо делать по полной программе надо, либо не делать вовсе.

Помнится, в своё время был весьма печальный опыт по использованию синтаксиса javascript'а в, по-моему, FastReport (под оффтоп, я уже и не помню точно как там оно называлось). _Тихий_ужас_, который врубили на полную мощность.

С Lua проблем меньше. Ну и что что синтаксис не столь богатый как в javascript'е? Или Tcl? Работает же... Свои задачи решает и слава Богу.

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

> Сомнительно и особенно глядя на биндинги lua к gnome (и как долго их рожали) и сравнивая их с gnocl для tcl.

Вот, IMHO, только биндинга lua к GNOME и не хватало... Зачем оно, если Вы же правильно заметили:

Tcl рангом выше и создавался прежде всего ДЛЯ людей, Lua таки больше под задачи заточен.

Абсолютно верно! Зачем создавать биндинг к оконной среде, если изначально язык рассчитывался на простую отработку относительно небольшого кода и, желательно, без «прерываний» и без особых извратов с тем, чтобы отработать свою часть как можно быстрее, вернуть результаты в вызвавшую его программу и тихо завершиться?

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

>вариант со скобками.

читаемость языка с синтаксисом построенном на нагромождении скобок - не рассматривается.

вы, фанатики, думаяете что мы защищаем синтаксис паскаля или lua. я же и сразу написал что они ужасны.

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

>попробуй http://ru.wikipedia.org/wiki/Squirrel , сочетание преимуществ lua с эстетикой (или «эстетикой» - кому как) си-подобного синтаксиса.

да, продолжайте плодить языки. Lua эффективен и удобен - значит надо использовать Lua. плевать на ужасный синтаксис.

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

tclkit без tk весит аж 500 кB - и это больше возможностей чем в Lua.

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

до Lua его существование оправдывало хотя бы не очень большая требовательность к ресурсам.

Н>у глупость же. Ресурсы дешевеют и вряд ли сегодня появился Lua.

это всё теория. lua используется в реальной жизни. перлам, питонам и прочей хрени там делать нечего.

ещё раз - я не защищаю синтаксис Lua. он он нужен и будет использоваться всё шире.

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

Всё время тянет написать if ... do, по аналогии с for ... do. Оператор repeat .. until опять же выделяется среди других операторов цикла. Но при этом строгое оформление переменных в программе. Вот это шатание слегка и раздражает.

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

> читаемость языка с синтаксисом построенном на нагромождении скобок - не рассматривается

На самом деле если писать на лиспе нормально, то он читается не хуже питона. Можно и на C написать кашу какую обычно пишут на Perl.

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

> да, продолжайте плодить языки. Lua эффективен и удобен - значит надо использовать Lua. плевать на ужасный синтаксис.

<dzen> боязнь, что вселенная полна вещей (и они продолжают появляться), которые ты не успеваешь помещать себе в мозг? не надо пытаться контролировать космос, достаточно контроля над собой. </dzen>

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

> меня tcl либо бесит либо приводит в уныние. хотел бы забыть о его существовании совсем. пока не получается

А меня не бесит и не приводит в уныние ... и что ?

это всё теория.


здарсте , tcl появился тогда на десктопах 16 Мгц тактовая CPU & 64 Мб Ram - это было круто, а в встраиваемых системах 0.2 mips & 0.5...16 Кб RAM как норма ( 8080 & 8051).

Ныне же, кусок текстолита с 100..200 Мгц CPU и 128 Мб RAM воспринимается уже как нечто безнадежно устаревшее.

А про цены всего этого вообщее не будем и говорить ...
mini ITX на Atom c одним гигом RAM за 80$ заруливает все смелые фантазии ясновидящих 90-х годов.

Такая вот теория ...
Ну а безрукие на любых тактовых частотах CPU остаются безрукими.




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

>Ныне же, кусок текстолита с 100..200 Мгц CPU и 128 Мб RAM воспринимается уже как нечто безнадежно устаревшее.

надо отвечать (или реагировать на их действия) тысячам пользователей сервисов имеющих постоянное соединение. тут часто только связка как такой лёгкий язык Lua + C-шные плагины. На новых проектах использовать tcl желающих не много. «питоны» «укладывают» такую систему.

ещё раз - Lua не скриптовой язык для «легких» программ. это легкий язык для интерактивного взаимодействия на нагруженных сервисах. он нужен там где реально нужны сишные плагины (по потребляемой памяти и ресурсам).

Atom со своими урезанными модулями не рассматривается как проц на котором работаю сервисы вообще.

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

меня tcl либо бесит либо приводит в уныние

чем?

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

> На новых проектах использовать tcl желающих не много. «питоны» «укладывают» такую систему.

Ну раcскажи мне что там уделывает на питоне нагруженные сервера AOL на tcl . Ась ?
За время существования tcl переломали кучу программ на питонах и перлах
- а tcl код 90-х может работать на сегодняшних системах без напильников.
И это ценится уже дороже любых интеллектуальных выбрыков авторов одноразовых софтин. Хотя, для любителей гона за костылями и устаревания всего и вся через полгода в linux - для них это не аргумент.
Время жизни вагон у них, и одно и тоже можно строчить до бесконечности в свое удовольствие.))


Да , есть еще элемент местной популярки: вот это книгу перевели на русский, а эту - нет. Следовательно, это не надо.
Ну еще тут сыграли свою роль недальновидные потуги RMS закопать TCL в угоду своему лиспу . Мол дюже просто, понятно и удобно всем - это явно не Ъ.
И что имели десять лет ? :
1. tcl & java анафема в Linux.
2. Бесспорно, это был хороший карт бланш для perl и python, а lisp это и так не спасло, хоть убей и запрети все скриптовые языки.
Как-то так ...



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

я не знаю что за нагруженные сервера у AOL. и это сервера. Lua часто используется там где он стоит на одной машине обеспечивая работу сервиса.

Ну еще тут сыграли свою роль недальновидные потуги RMS закопать TCL в угоду своему лиспу

на клоунады г-на Столлмана внимания и раньше не обращали. tcl ушёл ввиду того что реально на нем не хотят писать программы плюс мало желающих поддерживать сам tcl. не хотят писать почему - ну думайте сами. лыбые слова вы всё равно станете опровергать единичными ничегонедоказывающими примерами.

программисты используют то что удобно для проекта. часто это прога на C + плагины на C + Lua

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

> на клоунады г-на Столлмана внимания и раньше не обращали.

Это ты деткам уже рассказывай ))

я не знаю что за нагруженные сервера у AOL.


незнание фактов по предмету не является еще аргументом.

tcl tcl ушёл ввиду того что реально на нем не хотят писать программы плюс мало желающих поддерживать сам tcl. ввиду того что реально на нем не хотят писать программы плюс мало желающих поддерживать сам tcl.


Скорее это уже как следствие того, что tcl остался без заступничества в виде корпораций и не стал нативным для сообщества.

лыбые слова вы всё равно станете опровергать единичными ничегонедоказывающими примерами.


Верно, именно примерами и фактами ,а не с потолка взятыми суждениями.

программисты используют то что удобно для проекта. часто это прога на C + плагины на C + Lua


В моем случае, на доп. костыли к Lua небыло времени и человеческих ресурсов (хотя lua и понравился) . Все зарулил один человек на tcl четыре дня.


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

Зачем вообще начали сравнивать lua и tcl - абсолютно непохожи - сравнивать только из-за встраиваемости? Как язык lua лучше сравнивать с питоном, вот если из питона выкинуть все эти тонны мусора, оставить только самое основное - что-то вроде lua будет... ну скорее похуже. А tcl лучше с лиспом сравнивать, идеологически они ближе. Ну с perl еще бы понял - оба одинаково хороши для обработки строк :) например, lua тут не блещет.

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

1. Tcl рангом выше и создавался прежде всего ДЛЯ людей, Lua таки больше под задачи заточен.

эммм.... так заточенность под задачи - это правильно, не?

3. Диагностика ошибок в Lua - ну это нечто, собачий нюх нужен ))

это про любой язык так можно сказать пока не наловчишься :)

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

>Tcl [...] создавался прежде всего ДЛЯ людей

Свят-свят! Не хочу с такими людьми пересекаться! :D Это ж что у них с мозгами должено быть? Tcl же ещё птицеязычнее, чем Perl :)

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

> тянет написать if ... do, по аналогии с for ... do

а for ... then не тянет писать? Вообще, действительно непонятно, чем так паскаль выбивается из ряда c, python, lisp, т.к. «нерегулярности», коей хватает и в других языках, там не так много.

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

члены группы разработки технологий компьютерной графики Епископального католического университета Рио-де-Жанейро

Странныйы какой-то синтаксис. Как епискаоп пропустил? Конец блока должен быть нее end, а аминь.

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

For then это не по-английски. А вот if do вполне себе корректная конструкция.

PolarFox ★★★★★
()

Для чего не нужен lua?

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

>> и объектный API для него писать существенно проще.

Сомнительно и особенно глядя на биндинги lua к gnome (и как долго их рожали) и сравнивая их с gnocl для tcl.

1. Tcl рангом выше и создавался прежде всего ДЛЯ людей, Lua таки больше под задачи заточен.

2. Стабильность api и синтаксиса tcl это уже исторический факт

- в Lua это еще надо будет посмотреть.

3. Диагностика ошибок в Lua - ну это нечто, собачий нюх нужен ))

Вообще то объектная модель гнома - это ужас летящий на крыльях ночи. И это явно не показатель. Попробуйте просто сами для своей бибиотеки сделать объектные биндинги к tcl и lua.

Я пробовал. Tcl 8.6 не пробовал, но все ранее существовавшие модели объектосни tcl перековырял. Мой выбор lua.

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

У гнома, можно с уверенностью сказать, нет объектной модели. За то что есть, надо яйца разработчикам рвать. С корнем.
Может пора уже все перепроектировать и с чистого листа?

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

ЩИТО?!? 8-/

> У гнома, можно с уверенностью сказать, нет объектной модели.

Эммм... Громко... Слишком громко. В Вашем представлении, возможно и нет. Но то, что Вы не поняли что к чему в GNOME и на основании этого делаете такого рода заявления, к сожалению, не делает Вам чести. Я бы всё-таки постарался бы осилить... Пруф-линки не привожу сознательно... =)))

anonymous
()

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

так написали как будто этот язык недавно разработали. нужен, не нужен... луа уже в тыщу проектов встроили и довольны (не только в общеизвестные, но и в частные разработки). значит нужен.

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

если из питона выкинуть все эти тонны мусора

то получится ... python 1.5. По функционалу примерно соответствует Lua.

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