История изменений
Исправление rsync, (текущая версия) :
тут был длинный тред на тему
вкратце ну совершенно тупой язык в котором:
if 0 then
print('0 is true')
end
будет напечатано
0 is true
еще для извращенцев работа с nil:
local table1 = { 1, 2, nil }
local table2 = { 3, nil, 4 }
local table3 = { nil, 5, 6 }
print(table1)
print(table2)
print(table3)
тут вообще поведение до омерзения удивительное
далее
foo(unpack(table1), unpack(table2))
хоть и документировано, но такое поведение только клиническому дебилу в голову пришло бы сделать. Вообще с контекстом вызова lua работать нифига не умеет.
ну и бенчмарки: в куче мест фигарят бенчмарки, дескать lua быстр. дескать 2 + 3 быстрее на нем, нежели скажем на Perl. только когда дело дойдет до реальных задач, то выяснится, что у того же Perl есть over9000 разных либ, очень хорошо бенчмаркающих для всего и вся, а для lua XML'и парсят регекспами.
еще немножко было тут
ну и скриптовый язык программирования, который не может сам, без посторонней помощи справиться с ситуацией
local a = 10
local b = '20'
print(a + b)
обязан отправиться в утиль.
ну а о том, что lua по факту не может работать нормально с целыми числами, не поддерживает исключений (я имею ввиду удобную форму begin-end) итп итд можно не упоминать
Исправление rsync, :
тут был длинный тред на тему
вкратце ну совершенно тупой язык в котором:
if 0 then
print('0 is true')
end
будет напечатано
0 is true
еще для извращенцев работа с nil:
local table1 = { 1, 2, nil }
local table2 = { 3, nil, 4 }
local table3 = { nil, 5, 6 }
print(table1)
print(table2)
print(table3)
тут вообще поведение до омерзения удивительное
далее
foo(unpack(table1), unpack(table2))
хоть и документировано, но такое поведение только клиническому дебилу в голову пришло бы сделать. Вообще с контекстом вызова lua работать нифига не умеет.
ну и бенчмарки: в куче мест фигарят бенчмарки, дескать lua быстр. дескать 2 + 3 быстрее на нем, нежели скажем на Perl. только когда дело дойдет до реальных задач, то выяснится, что у того же Perl есть over9000 разных либ, очень хорошо бенчмаркающих для всего и вся, а для lua XML'и парсят регекспами.
еще немножко было тут
Исходная версия rsync, :
тут был длинный тред на тему
вкратце ну совершенно тупой язык в котором:
[code lang=lua] if 0 then print('0 is true') end
будет напечатано
0 is true
еще для извращенцев работа с nil:
[code lang=lua] local table1 = { 1, 2, nil } local table2 = { 3, nil, 4 } local table3 = { nil, 5, 6 } print(table1) print(table2) print(table3)
тут вообще поведение до омерзения удивительное
далее
[code lang=lua] foo(unpack(table1), unpack(table2))
хоть и документировано, но такое поведение только клиническому дебилу в голову пришло бы сделать. Вообще с контекстом вызова lua работать нифига не умеет.
ну и бенчмарки: в куче мест фигарят бенчмарки, дескать lua быстр. дескать 2 + 3 быстрее на нем, нежели скажем на Perl. только когда дело дойдет до реальных задач, то выяснится, что у того же Perl есть over9000 разных либ, очень хорошо бенчмаркающих для всего и вся, а для lua XML'и парсят регекспами.
еще немножко было тут