О конференции


Конференция Lua in Moscow 2017 состоялась в  Москве,  5 марта 2017г.

Основная цель конференции - это собрать вместе Lua-сообщество, чтобы его представители могли встретиться лично и обсудить язык Lua, его использование и применения.

Рабочим языком конференции является русский. Некоторые доклады будут представлены на английском, без перевода. См. программу.

События конференции



Программа конференции

Воскресенье, 5 марта 2017г.


10:00—10:50 Функции в Lua Роберто Иерусалимский
13:00—13:50 Каменистый путь к mcode Хавье Гуэрра Гиральдес
14:00—15:00  Обед
18:00—18:50 Круглый стол

Тезисы


  Функции в Lua
Роберто Иерусалимский PUC-Rio

Функции первого класса (известные как замыкания, лямбды, анонимные функции) - качественная черта функциональных языков, однако их концепция удобна также и в императивных языках.

Тем не менее, в большинстве императивных языков использование функций как значений первого класса нетривиально и используется опытными программистами. В Lua же, напротив, пользовательские функции первого класса являются строительным блоком языка. Программисты Lua постоянно получают выгоду от разнообразных свойств его функций для создания подпрограмм вроде обработки исключений, определения модулей, объектно-ориентированного программирования, а также итераторов. Более того, функции первого класса играют центральную роль в API между Lua и C.

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

  Проблемы создания "ещё одной" реализации Lua
Антон Солдатов IPONWEB

Классический интерпретатор Lua (aka PUC-Rio Lua) довольно быстр и Lua сам как язык спроектирован для лёгкого встраивания в другие системы. Однако иногда всё же есть нужда в альтернативной реализации языка: например, могут быть жёсткие бизнес-требования к производительности. На первый взгляд экосистема Lua предоставляет средства для собственной реализации языка: есть Руководство описывающее язык, включая библиотеки и API. Также есть пакеты тестов соответствия (как официальные, так и сторонние).

Тем не менее, работая над собственной реализацией Lua, мы столкнулись с некоторыми проблемами, которые я бы хотел обсудить в этом докладе. Особенно:

• Интерпретацию Руководства и интеграцию с официальным пакетом тестов;
• Выбор валидирующего пакета тестов из множества доступных;
• Обеспечения соответствия API стандартных библиотек Lua.

  Использование Lua в качестве языка для отказоустойчивых распределённых бэкенд приложений
Константин Осипов Tarantool

Tarantool - СУБД и сервер высоконагруженных приложений, поэтому требования к языку программирования на борту предъявляет особенные. Надёжность и производительность - главные ценности, но ими хотелось бы обладать не в ущерб удобству и простоте использования. Lua, а точнее LuaJIT 2.1, на сегодня, наш основной язык для написания приложений, но в последнее время мы также начали поддерживать Rust, Swift, C и С++. Мы имеем уникальный опыт "эксплуатации" Lua, т.к. постоянно разбираем инциденты и крэши пользователей Tarantool, происходящие как во время разработки, так и эксплуатации. В результате у нас сложилась достаточно картина о том, что именно мы хотим от идеального языка для backend'а.

Мой доклад, таким образом, будет посвящён гипотетическим требованиям к "идеальному" языку: - надежность: программа на языке ни при каких обстоятельствах не должна завершать хост-процесс - предсказуемость: сборка мусора и рантайм языка должны быть предсказуемыми для разработчика. - безопасность - синтаксис языка должен быть безопасен на этапе исполнения. Это касается как использования необъявленных переменных, так и системы типов, в частности поведении при переполнении или делении на 0. Сможет ли таким языком стать Lua?

  Каменистый путь к mcode
Хавье Гуэрра Гиральдес Cloudflare

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

  Самолёт построим сами! Опыт прототипирования инструментов для онлайн-маркетинга с использованием Lua
Дмитрий Потапов LogicEditor

Сейчас существует достаточно много средств анализа эффективности онлайн-рекламы – Google Analytics, Yandex.Metrika и др. Для управления и автоматизации контекстной рекламой инструментов не меньше: R-broker, K50, Alytics и др. Эти инструменты вполне неплохо справляются со своими задачами. В каких случаях разработка собственного инструментария может иметь смысл? Как может выглядеть этот инструментарий, в какой последовательности его разрабатывать, какие сторонние наработки могут оказаться полезными? На эти и другие вопросы автор и попробует ответить на примере собственного опыта.

  Тяжёлый труд написания нативных плагинов для кросс-платформенного игрового движка
Сергей Lerg Spiral Code Studio

Lua — прекрасный язык, он позволяет делать сложные вещи весьма просто. В кросс-платформенных движках для игр одна Lua функция может скрывать за собой сотни строк нативного кода (C++/Java/Obj-C), что позволяет разработчику игры сфокусироваться на конечном продукте.

В этом докладе я покажу, как я делаю нативные плагины для игрового движка Corona SDK, как разные реализации одних и тех же вещей на разных платформах превращаются в прекрасный единообразный API на стороне Lua.

  Как сделать жизнь Lua-разработчика лучше и приятнее?
Артём Зотов IPONWEB

IPONWEB разрабатывает платформенные решения для рынка Online Advertising и предлагает их клиентам по модели SAAS. Бизнес-логика реализуется на языке Lua, поэтому IPONWEB ищет и нанимает Lua разработчиков.

Проблема:
поиск на HH.ru по вакансиям с ключевым словом Lua дает примерно 700 резюме. Сравните с результатом при ключевых словах: Perl: 9000 резюме, Python: 14 000 резюме, PHP: 55 000 резюме. На рынке труда очень мало разработчиков с опытом разработки на Lua. Бизнес IPONWEB в последние годы растет очень активно и компании нужно нанимать все новых и новых Lua-разработчиков. Что же делать? Создавать идеальные условия для работы и профессионального роста. Как мы это делаем? Об этом и будет моя презентация :)

Организаторы


Конференция организована Александром Гладышем при поддержке спонсоров.

Спонсоры


Свяжитесь с нами

 agladysh@gmail.com

Другие конференции

Lua Workshop 2014 Lua Workshop 2018

Расскажите о конференции

#luainmoscow17