company_banner

Приглашаем на Lua in Moscow 2017 5 марта



    В первое воскресенье марта в офисе Mail.Ru Group пройдёт международная конференция Lua in Moscow 2017. В программе — выступления автора языка Роберто Иерусалимского и лучших зарубежных и отечественных экспертов по Lua и LuaJIT.

    Lua — уникальный язык программирования, который используется далеко не только в индустрии компьютерных игр, но и как встроенный язык расширений в таких инструментах web-программирования, как Redis, nginx, Tarantool, OpenResty. Lua также применяется для анализа больших данных, научных вычислений. Во многих роутерах, принтерах и других подобных устройствах есть Lua.

    В 2014 году мы провели восьмую ежегодную конференцию по языку программирования Lua Workshop, крупнейшую по числу участников за все годы. С тех пор мы не забывали про язык программирования Lua, проводили митапы и потоки на IT-конференциях. И вот, наконец, в этом году у вас снова есть шанс лично задать вопросы автору языка, обменяться опытом с лучшими программистами и, конечно, послушать доклады про передовой опыт применения Lua и LuaJIT.

    Часть докладов будет на английском языке.

    Даже если вы ещё не пишете на языке Lua, приходите, возможно, конференция откроет вам глаза на что-то новое и интересное!

    9:30 Начало регистрации

    image 10:00 — 10:50 «Функции в Lua», Роберто Иерусалимский, PUC-Rio

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

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

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

    image 11:00 — 11:50 «Проблемы создания 'ещё одной' реализации Lua», Антон Солдатов, IPONWEB

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

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

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

    image 12:00 — 12:50 «Использование Lua в качестве языка для отказоустойчивых распределённых бэкенд-приложений», Константин Осипов, Tarantool

    Tarantool — СУБД и сервер высоконагруженных приложений, поэтому требования к языку программирования на борту предъявляет особенные. Надёжность и производительность — главные ценности, но ими хотелось бы обладать не в ущерб удобству и простоте использования.

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

    Мой доклад, таким образом, будет посвящён гипотетическим требованиям к «идеальному» языку:

    • надежность: программа на языке ни при каких обстоятельствах не должна завершать хост-процесс;
    • предсказуемость: сборка мусора и рантайм языка должны быть предсказуемыми для разработчика;
    • безопасность — синтаксис языка должен быть безопасен на этапе исполнения. Это касается как использования необъявленных переменных, так и системы типов, в частности поведении при переполнении или делении на 0.

    Сможет ли таким языком стать Lua?

    image 13:00 — 13:50 «Каменистый путь к mcode», Хавье Гуэрра Гиральдес, Cloudflare

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

    14:00 — 15:00 Обед

    image 15:00 — 15:50 «Самолёт построим сами! Опыт прототипирования инструментов для онлайн-маркетинга с использованием Lua», Дмитрий Потапов, LogicEditor

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

    image 16:00 — 16:50 «Тяжёлый труд написания нативных плагинов для кросс-платформенного игрового движка», Сергей Lerg, Spiral Code Studio

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

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

    image 17:00 — 17:50 «Как сделать жизнь Lua-разработчика лучше и приятнее?», Артём Зотов, IPONWEB

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

    Проблема: поиск на HH.ru по вакансиям с ключевым словом Lua дает примерно 700 резюме. Сравните с результатом при ключевых словах:

    • Perl: 9000 резюме;
    • Python: 14 000 резюме;
    • PHP: 55 000 резюме.

    На рынке труда очень мало разработчиков с опытом разработки на Lua. Бизнес IPONWEB в последние годы растет очень активно и компании нужно нанимать все новых и новых Lua-разработчиков. Что же делать? Создавать идеальные условия для работы и профессионального роста. Как мы это делаем? Об этом и будет моя презентация.

    18:00 — 18:50 Время вопросов и ответов

    Ждём вас на Lua in Moscow 2017! Вход бесплатный. Регистрация обязательна. Адрес: офис Mail.Ru Group, Ленинградский пр., 39, стр. 79.
    Метки:
    Mail.Ru Group 901,40
    Строим Интернет
    Поделиться публикацией
    Похожие публикации
    Комментарии 6
    • +2
      А никакой записи/трансляции не будет? Очень хотелось бы посмотреть, но приехать в Москву нет никакой возможности :(

      Особенно интересно послушать Роберта Иерусалимского на фоне выхода четвертой редакции его книги.
      • 0
        А она уже вышла или еще нет?
        • 0
          Вышла. На Амазоне видел, 60$ вроде. В свободном доступе не нашел.
      • 0
        Привет, будет и трансляция и съемка. Трансляцию можно посмотреть будет тут http://lua.moscow/conf/2017/
        • 0
          Приглашаю всех заинтересованных обсудить это событие в нашем тематическом Lua-чатике

          • 0

            Правильный чат тут https://t.me/luainmoscow


            Очередная встреча 17 июня
            https://habrahabr.ru/company/devconf/blog/328906/

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

            Самое читаемое