LINUX.ORG.RU

Вышел Lua 5.3

 ,


2

8

Незаметно и внезапно вышла новая версия встраиваемого языка программирования Lua.

Значимые изменения:

  • Появился целочисленный тип (64-битный по умолчанию). До этого был тип number, хранящийся как число с плавающей точкой. При компиляции можно задать размер в 32 бита.
  • Битовые операции.
  • Базовая поддержка UTF-8.
  • Функции для сериализации данных в бинарные строки (похожа на python struct).
  • Удалён режим сборки мусора на основе поколений. Это была экспериментальная возможность в версии 5.2.

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

★★★★★

Проверено: fallout4all ()
Последнее исправление: cetjs2 (всего исправлений: 2)
Ответ на: комментарий от hothing

А точно нужно?

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

например пишете вы скажем сетевое приложение: берете делаете два объекта: стейтмашина + коннектор. далее наследуясь (или инкапсулируя) оба вы можете написать скажем «коннектор к БД» а еще дальше наследуя можете написать скажем ORM итп итд

случаев когда ООП более удобен чем модульное/функциональное программирование море. даже на C с его отсутствием ООП в язке много программ в стиле ООП пишется. например весь сокетный API по сути ООП на C.

И даже язык они выдумали сами :) Ничего плохого в их РВ нет. О каких других велосипедах речь?

  • все строковые операции, все табличные операции
  • отсутствие оператора continue
  • велосипед при работе с кодом бросающим исключения (pcall и xpcall это натурально выдуманный на коленке велосипед)

итп итд

так же убивает индексация с 1 (конечно есть еще языки с таким дебилизмом)

Этот язык изначально разрабатывался для описания конфигураций, а не как универсальный ЯПВУ.

проблема в том что его пихают в каждую дырку затычкой например в nginx, базы данных, итп итд

как язык _расширения/дополнения/«клей»_ других программ

язык расширения уже должен быть полноценным языком.

Вы уверены, что используете его разумно?

я использую его там где он есть и с чем приходится работать. nginx, tarantool итп. awesome я снес сразу как увидел lua. сижу под i3wm. все хорошо :)

NB Использую его довольно часто.

я к несчастью тоже очень часто. приходится на lua писать и на perl. на perl душа отдыхает. а на lua подвергается истязаниям :)

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

на lua подвергается истязаниям

Ну так не пиши на Lua. Больше скажу, Lua в NgX, в отличие от Perl'а, не в коробке даже.

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

совершенно точно нужно

Ну так в чем проблема-то? http://lua-users.org/wiki/ObjectOrientedProgramming

проблема в том что его пихают в каждую дырку затычкой например в nginx

В nginx'е Lua просто прекрасен. Компактно, быстро, красиво. Псевдо-синхронный код на coroutines, интегрированный с асинхронным движком nginx просто сказка. Китайцу (или японцу) кто это пилит - респект и уважуха.

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

Китайцам. Там и несколько (agentzh тимлид, а не вся команда ☺). Ну и их спонсирует CloudFlare (а раньше Ali/TaoBao). Так что респект и уважуху они получают во вполне материальном эквиваленте. Но да, он вообще молодец. Я с ним во многих NginX-related (и Lua-related) проектах пересекаюсь. Впечатления сугубо положительные :)

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

Смотрите, что Вы сказали:

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

Т.е. только в некоторых (меньше половины случаев) ООП позволяет повторно использовать код более удобно. Эээээ???....

Далее о велосипедах и прочем

все строковые операции, все табличные операции

Это базовые операции, они в любом языке как «велосипеды». Или Вам не хватает синтаксического сахара?

отсутствие оператора continue

Где? В цикле for он не нужен. Эту конструкцию запросто можно описать while`ом.

так же убивает индексация с 1 (конечно есть еще языки с таким дебилизмом)

Всего лишь речь о Вашей привычке, шаблоне мышления.

язык расширения уже должен быть полноценным языком.

В вашем понимании полноценный язык, это такой монстр который поддерживает все возможные парадигмы программирования? Уверен, что это ошибочное мнение. А вот по Тьюрингу язык Луа полный.

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

так же убивает индексация с 1 (конечно есть еще языки с таким дебилизмом)

Наиболее интуитивно, имхо. А вообще, в нормальных языках индекс должен быть переопределяем.

а на lua подвергается истязаниям :)

католики ж! :-D

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