Обновить

Комментарии 9

Все бенчмарки подобного рода - мусор.

Разница иногда в 10 раз, Lua уходящая в "timeout", ну и местами мягко говоря неодинаковый код (например JS worker-threads против обычной Lua), кароче не вериться.
Peak-mem у Lua в 2-10 раз ниже, то есть вполне возможно, что у Lua большая часть времени ушла на сборку мусора, а условный "default-heap-size" просто забыли настроить. Ну и смысл от таких сравнений.

тесты тоже надо уметь писать.

и читать.

исходники доступны для перепроверок

Ну да, массивы с единицы - для инженеров нефтяников. А остальной синтаксис и метатаблицы, это для них просто ничто. Логика.

Тоже никогда не понимал, почему Lua считается простым языком. Можно относительно быстро объяснить человеку, что такое классы, экземпляры, и как ими пользоваться для моделирования реальных объектов. А вот чтобы дать ему этот же инструмент в Lua, ему сначала придется рассказать про метатаблицы и прототипное наследование.

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

Язык-то для встраивания.
Инженеру-нефтяннику не нужно знать классы, но свои объекты он получит, когда будет пользоваться софтом, в котором эти классо-объекты уже есть.
А вот механизм простейших классов, например, примерно такой:

local MyClass = {}
MyClass.__index = MyClass
function MyClass:new(a, b, c)
  self = setmetatable({}, self)
  self.a, self.b, self.c = a, b, c
  return self
end

function MyClass:foo()
  return self.a + self.b + self.c
end

Можно особенно не объяснять, и просто предоставить инженеру как сниппет, или выдать ему библиотеку предоставляющую простейшую функцию-классогенератор

MyClass = Class{
  new = function() ... end,
  foo = function() ... end
}

Он с ним справится, я гарантирую.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Информация

Сайт
tech.vk.com
Дата регистрации
Численность
1 001–5 000 человек
Местоположение
Россия
Представитель
Евгений Левашов