📜 ⬆️ ⬇️

Welcome to Lua in Moscow 2017 March 5



On the first Sunday of March, an international conference Lua in Moscow 2017 will be held in the office of the Mail.Ru Group. The program includes speeches by the author of the language Roberto Jerusalem and the best foreign and domestic experts on Lua and LuaJIT.

Lua is a unique programming language that is used not only in the computer games industry, but also as a built-in extension language in web-based programming tools such as Redis, nginx, Tarantool, OpenResty. Lua is also used to analyze big data, scientific calculations. Many routers, printers and other similar devices have Lua.
')
In 2014, we held the eighth annual conference on the programming language Lua Workshop, the largest in terms of the number of participants in all years. Since then, we have not forgotten about the Lua programming language; we have held mitaps and streams at IT conferences. And now, finally, this year, you again have the chance to personally ask questions to the author of the language, exchange experiences with the best programmers and, of course, listen to reports on the advanced experience of using Lua and LuaJIT.

Some reports will be in English.

Even if you are not writing in Lua yet, come, perhaps the conference will open your eyes to something new and interesting!

9:30 Start registration

image 10:00 - 10:50 “Functions in Lua” , Roberto Jerusalem, PUC-Rio

First-class functions (known as closures, lambdas, anonymous functions) are a qualitative feature of functional languages, but their concept is also convenient in imperative languages.

However, in most imperative languages, using functions as first-class values ​​is nontrivial and is used by experienced programmers. In contrast, in Lua, user functions of the first class are the building block of the language. Lua programmers constantly benefit from the various properties of its functions to create subroutines such as exception handling, module definitions, object-oriented programming, and also iterators. Moreover, first-class functions play a central role in the API between Lua and C.

In this report, we will discuss how the mechanism of first-class functions influenced the design of Lua and a quick glance at its implementation.

image 11:00 - 11:50 “Problems of creating another Lua implementation” , Anton Soldatov, IPONWEB

The classic Lua interpreter (aka PUC-Rio Lua) is quite fast, and Lua itself, as a language, is designed for easy integration into other systems. However, sometimes there is still the need for an alternative implementation of the language: for example, there may be strict business requirements for performance. At first glance, the Lua ecosystem provides the means to implement your own language: there is a guide describing the language, including libraries and APIs. There are also packages of compliance tests (both official and third-party).

However, while working on our own implementation of Lua, we encountered some problems that I would like to discuss in this report. Special:


image 12:00 - 12:50 “Using Lua as a language for fault-tolerant distributed back- end applications” , Konstantin Osipov, Tarantool

Tarantool is a DBMS and server for high-load applications, therefore, the requirements for the on-board programming language are special. Reliability and performance - the main values, but they would like to have not to the detriment of convenience and ease of use.

Lua, and more specifically LuaJIT 2.1, is today our main language for writing applications, but lately we have also begun to support Rust, Swift, C and C ++. We have a unique experience of "exploiting" Lua, because We constantly analyze incidents and crashes of Tarantool users, occurring both during development and operation. As a result, we have a sufficient picture of what we want from the ideal language for the backend.

My report, therefore, will be devoted to the hypothetical requirements for an "ideal" language:


Can this language become Lua?

image 13:00 - 13:50 “The Stony Path to mcode” , Javier Guerra Giraldez, Cloudflare

LuaJIT is capable of performing Lua at staggering speeds, but it is often difficult to understand what it does and when. This leads to the creation of myths and cargo-cult. We show a step-by-step journey from the Lua source code to the final executable machine code, using Loom as a visualization and learning tool.

14:00 - 15:00 Lunch

image 15:00 - 15:50 “We will build the plane ourselves! Experience in prototyping online marketing tools using Lua ” , Dmitry Potapov, LogicEditor

Now there are quite a few tools for analyzing the effectiveness of online advertising - Google Analytics, Yandex.Metrika, etc. For managing and automating contextual advertising, there are no less tools: R-broker, K50, Alytics, etc. These tools do quite well for their tasks. When does developing your own toolkit make sense? What can this toolkit look like, in what sequence to develop it, what third-party developments may be useful? The author will try to answer these and other questions with the example of his own experience.

image 16:00 - 16:50 “Hard work of writing native plug-ins for cross-platform game engine” , Sergey Lerg, Spiral Code Studio

Lua is an excellent language, it allows you to do complex things quite simply. In cross-platform game engines, one Lua function can hide hundreds of lines of native code (C ++ / Java / Obj-C), which allows the game developer to focus on the final product.

In this report, I will show how I make native plug-ins for the Corona SDK game engine, how different implementations of the same things on different platforms turn into a wonderful uniform API on the Lua side.

image 17:00 - 17:50 “How to make the life of a Lua-developer better and more pleasant?” , Artem Zotov, IPONWEB

IPONWEB develops platform solutions for the Online Advertising market and offers them to customers using the SaaS model. Business logic is implemented in the Lua language, so IPONWEB is looking for and hiring Lua developers.

Problem: search on HH.ru for jobs with the keyword Lua gives about 700 resumes. Compare with the result for keywords:


There are very few developers on the labor market with Lua development experience. The IPONWEB business has been growing very actively in recent years and the company needs to hire more and more new Lua developers. What to do? Create ideal conditions for work and professional growth. How do we do it? This will be my presentation.

18:00 - 18:50 Questions and Answers Time

We are waiting for you at Lua in Moscow 2017! The entrance is free. Registration is required. Address: Mail.Ru Group office, Leningradsky pr., 39, p. 79.

Source: https://habr.com/ru/post/322432/


All Articles