@ProLua

Страница 88 из 307
Yuriy
28.04.2017
20:45:15
вообще не напрягают do end then и тд

удобнее чем скобки кстати

Snusmumriken
28.04.2017
20:45:34
Ну, тебя не напрягают, а у меня есть множество знакомых, которых напрягает.

Vadim
28.04.2017
20:45:50
это их личные половые трудности

Google
grinchfox
28.04.2017
20:46:06
Если сравнивать с JS то тут все гораздо круче. Как минимум все гибче
Нету страданий с контекстом и изобретений let потому что var получился неудобным

Yuriy
28.04.2017
20:46:22
по началу тоже не нравиось. Ну в общем то да. Дело вкуса Но от них по крайней мере не рябит в глазах все как то лаконично получается и однотипно

Snusmumriken
28.04.2017
20:46:31
Во, а ещё у луа кошмарный и очень глупый сборщик мусора, потому что полирует кучу элементов в которых ничего не удаляли. Это медленно.

Во, а ещё - кошмарное хеширование строк. Если наплодить кучу почти одинаковых строк - скорость работы с ними замедлится раз в пятьдесят или больше: больше строк - медленнее. Потому что в хешировании участвует всего несколько символов, из начала, конца, и двух точек в середине строки.

grinchfox
28.04.2017
20:48:11
При этом всем Garry's Mod отлично живёт на луа с огромным количеством всего внутри одного луастейта

Там luajit

Snusmumriken
28.04.2017
20:48:37
Ну, кого волнует гмод: это же просто игрушка, которая не волнует никого на реальном производстве.

Ща ещё кучу недостатков у луа найду.

grinchfox
28.04.2017
20:49:15
Да, но это живой пример производительности и удобства

Snusmumriken
28.04.2017
20:50:32
Во, а локальные рекурсивные функции? local function foo() return foo() end выдаст ошибку, ибо "foo не найдено". Это приходится обходить через: local foo foo = function() return foo() end

Рома
28.04.2017
20:51:14
это и все?

если хоть чутка напрячься, он окажется самым тупым языком!

Snusmumriken
28.04.2017
20:51:50
Вот я как раз ищу способы доказать, что луа - довольно стрёмный язык :3

Google
Snusmumriken
28.04.2017
20:52:11
Я ж говорил что lua крутой язык) мне никто не верит))
Потому что я не верю Юрке. Юрка говорит что крутой, а я не верю! Мне нужны доказательства!

Yuriy
28.04.2017
20:52:41
мне достаточно его гибкости

Vadim
28.04.2017
20:53:03
производительность игрушки против производительности нефтеустановки?

(для которых Lua и писалсяизначально)

Yuriy
28.04.2017
20:53:26
а он гораздо гибче чем те же Js, php и иже с ними

Snusmumriken
28.04.2017
20:53:30
На самом деле, нет плохих и хороших языков. Кроме эзотерических, типа petooh/whitespace/Malbolge/ALPACA. Разные цели.

Yuriy
28.04.2017
20:53:33
мне этого достаточно

Ну я не утверждал что он лучший))

Я просто сказал что он мне нраваится)

Рома
28.04.2017
20:54:02
где диапазоны, почему нельзя str[1] вместо str:sub(1, 1), что за язык без поддержки юникода искаропки, как тут адекватно вообще со временем работать, почему везде строка массив, а тут ссылка, что приводит к тормозам

Рома
28.04.2017
20:54:33
а ещё, как можно было так сделать, что только у всех строк есть глобальная метатаблица, но не у таблиц, не у чисел

Vladislav
28.04.2017
20:55:01
if 0 then print('WTF??') end

Рома
28.04.2017
20:55:12
это правильно!

Snusmumriken
28.04.2017
20:55:58
Во-во, доступ к строкам как к элементам таблиц, кстати, делается так: getmetatable(string).__index = function(self, key) if type(key) == 'number' then return self:sub(key, key) end return rawget(self, key) end ('string')[2] —> t

Рома
28.04.2017
20:56:23
а если я захочу доступ к элементам чисел или тру фолса?

во

а могли бы

Vadim
28.04.2017
20:56:43
"элементам тру фолса"?

Google
Vadim
28.04.2017
20:56:47
ШТА?

1) это называется "булевы значения"

2) какие там, нафиг, элементы?

Рома
28.04.2017
20:57:34
можно было бы и придумать, клевая идея

Vladislav
28.04.2017
20:58:04
а можно не стрелять себе в ноги ^^

Плюшка
28.04.2017
20:58:09
Это можно в ruby и crystal

Рома
28.04.2017
20:58:50
больше всего в луа скучаешь по выражениям, они всегда возвращают, а в луа лишь пустота в ответ

массивы поленились отдельно от хешей, но толку, ни у тех, ни у тех нет своих методов

все вроде?

Vadim
28.04.2017
21:01:51
всё есть

просто это как Gentoo. Или git.

тебе дано ровно то, что тебе нужно чтобы сделать то, что тебе нужно

Vadim
28.04.2017
21:03:09
т.е. от тебя нужно лишь немного усилий чтобы собрать себе ровно то, что ты хочешь

без лишних тысячетонных комбайнов

Snusmumriken
28.04.2017
21:07:16
Комбайны уже есть. OpenResty поставляется с комбайном, есть penlight с расширениями синтаксиса и массивами-объектами и типами данных типа очередей.

Во, даже так: getmetatable('').__index = function(self, key) if type(key) == 'number' then return self:sub(key, key) end return string[key] end s = '12345' print(s[2])

Рома
28.04.2017
21:08:11
какой в опенрести комбайн?

Snusmumriken
28.04.2017
21:08:36
В опенрести - там всякие тонны шаблонизаторов/либ для json/xml/DOM и ещё кучи фигни.

Ну, луа-коробка мало чем отличается от js-коробки. js тоже беден без либ.

Google
Vadim
28.04.2017
21:09:02
какой в опенрести комбайн?
кстати, да. Большинство resty-либ там, всё же, отдельные либы, а не "из коробки в глобалспейсе" :)

Snusmumriken
28.04.2017
21:10:02
Фреймворки для js - тоже продукты третьих лиц. Это у питона приличная стандартная либа, и она, кстати, хороша отсутствием велосипедов. http-сервер? Отлично, с тебя три строчки! Асинхронный http-сервер? Целых тридцать строчек. Асинхронный с препроцессором? Ну тут уже пятьдесят!

Vadim
28.04.2017
21:10:12
...и?

(это не мешает js даже из коробки быть большим комбайном, чем Lua, кстати)

Рома
28.04.2017
21:12:24
всмысле что там целый дом из коробки в браузере или что там куча нодовых функций в ноде?

Snusmumriken
28.04.2017
21:13:03
Нода - это отдельный разговор. js искаропки не умеет практически ни во что. Попробуй почитать про js-api в windows. Да, тут встроен препроцессор Windows Based Script Host.

Yuriy
28.04.2017
21:14:16
Астанавитись! Я всего лишь сказал что хороший язык)))

Admin
ERROR: S client not available

Vadim
28.04.2017
21:14:40
да хороший-то хороший

но у всего есть свои недостатки и своя область применения :)

Snusmumriken
28.04.2017
21:14:59
Во-во.

Рома
28.04.2017
21:15:12
Да враки все это, на годном языке можно во что угодно

Vadim
28.04.2017
21:15:24
да

Snusmumriken
28.04.2017
21:15:25
Попробуй на хаскеле написать драйвер. Язык - офигенно годный.

Vadim
28.04.2017
21:15:36
можно и в Paint'e Мону-лизу нарисовать

Snusmumriken
28.04.2017
21:15:38
На луа - тоже можете попробовать.

Vadim
28.04.2017
21:15:39
но зачем?

Рома
28.04.2017
21:15:50
Есть языки общего назначения, хаскелл для выворота мозгов

Snusmumriken
28.04.2017
21:15:52
Не а, тут просто не получится. Скрипты не могут быть драйверами, службами и прочей системной фигнёй.

Google
Yuriy
28.04.2017
21:16:07
Это всего лишь инструмент

Плюшка
28.04.2017
21:16:28
1. Пихаешь интерпретатор в драйвер 2.??? 3. Профит

Vadim
28.04.2017
21:16:34
более того, есть пара fuse-драйверов на хачкеле

Snusmumriken
28.04.2017
21:16:47
Вот, разве что так. Но на ванильном интерпретаторе не выйдет (((

Vadim
28.04.2017
21:17:18
вот тебе драйвер на lua ;)

Snusmumriken
28.04.2017
21:17:36
Что это?

Рома
28.04.2017
21:18:05
Интересно, вроде бы у джулии фич больше, и она быстрее, может просто луа устарела и хватит с неё

Vadim
28.04.2017
21:18:06
фиговина, которая склеивает lua-софт с liblua в готовый бинарник :)

и не умеет в llvm4 ;)

Snusmumriken
28.04.2017
21:18:40
А. Не, это будет просто виртуалка с приклеенным кодом. Права те же что у бинарника (юзермод). Тут нужна оболочка-драйвер над интерпретатором, которая вывешивает в виртуальную машину свою апишку.

Vadim
28.04.2017
21:19:08
ок, luajit -bc

или как там :)

Snusmumriken
28.04.2017
21:20:53
Хм. Не так всё просто, но да, похоже. Хе-хе. #include <stdlib.h> #include <stdio.h> #include "lua.h" #include "lauxlib.h" #include "lualib.h" int main(int argc, char *argv[]) { int i; lua_State *L = luaL_newstate(); luaL_openlibs(L); lua_newtable(L); for (i = 0; i < argc; i++) { lua_pushnumber(L, i); lua_pushstring(L, argv[i]); lua_rawset(L, -3); } lua_setglobal(L, "arg"); #include "driverstuff.c" lua_setglobal(L, "driverstuff"); lua_close(L); return 0; }

Group Butler [beta]
28.04.2017
21:51:13
Добро пожаловать в чат pro.lua, Mons! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.

Добро пожаловать в чат pro.lua, Igor! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.

Страница 88 из 307