Lua – уникальный язык программирования, так и не ставший массовым, но при этом занявший кучу разных ниш. Его используют, чтобы писать моды для Factorio, Minecraft и Roblox, высоконагруженную логику для nginx, скрипты для redis, плагины для neovim и wireshark, и даже софт для микроконтроллеров. Все это стало возможным благодаря некоторым дизайновым решениям, которые сделали Lua самым удобным языком для встраивания в другие системы. Антон Солдатов, долгое время разрабатывавший код на Lua в IPONWEB, а также участвовавший в разработке внутреннего форка LuaJIT, рассказал нам все, что нужно знать про этот язык.
Содержание:
- 00:00 О чем выпуск
- 07:52 Почему массивы индексируются с 1
- 11:26 Основная философия языка
- 12:33 История развития Lua
- 22:48 Альтернативные реализации
- 27:21 Сравнение Lua с другими языками
- 33:30 Области применения
- 42:00 Встраивание Lua в другие системы
- 46:03 Преимущества и недостатки Lua
- 53:40 Динамическая типизация в Lua
- 55:15 Типы данных в Lua
- 01:00:35 Таблицы в Lua
- 01:07:39 Метатаблицы и метаметоды в Lua
- 01:13:38 Корутины в Lua
- 01:18:36 Обратная совместимость и эволюция языка
- 01:22:43 Экосистема Lua
- 01:29:50 LuaJIT
- 01:39:51 Будущее языка
- 01:46:07 Как вкатиться в Lua
- 01:53:24 Заключение