Size: a a a

2019 December 02

AB

Alexey Bolshakov in ErlangRus
Maksim Lapshin
не просто «косяки есть». Уровень дизайна сравним с глубиной продуманности яваскрипта.  Как можно _это_ называть продуманным, мне решительно непонятно
у Lua есть плюс - он очень простой. осваивается на выходные. и еще пару неделек (если после ерланга и иммутабельности) поспотыкаться об глобальность переменных.
источник

AB

Alexey Bolshakov in ErlangRus
любого, кто умеет программировать на чем угодно - можно набирать в прогаммисты на Lua
источник

ML

Maksim Lapshin in ErlangRus
так и ассемблер очень простой. Просто на нём программы сложно писать
источник

AV

Andrey Velikiy in ErlangRus
Maksim Lapshin
ага, крайне продуманный язык.

Особенно доставляет детерминированность и продуманность такой примитивной операции,  как узнать длину списка
а что не так с длиной списка? я давно не пользовался луа, но не припомню проблем.
источник

ML

Maksim Lapshin in ErlangRus
Andrey Velikiy
а что не так с длиной списка? я давно не пользовался луа, но не припомню проблем.
мозг забывает травмирующие воспоминания.

В луа есть оператор, который вероятностно может, если повезет, дать тебе длину списка:  #mylist

Но это не надежный вариант, который может давать сбой. Правда приятно иметь дело с языком программирования, в котором оператор длины массива умеет ошибаться?

Правильно так:

пройтись по всем ключам объекта (в луа нет массивов, в отличие от яваскрипта) и проверить, что все ключи идут строго от 1 до N и нет никаких других ключей и нет дырок.

И если так, то N и будет длиной массива.

Очень удобно и удачно задизайнено.
источник

AV

Andrey Velikiy in ErlangRus
а, насчет прохода - было такое. не поспоришь. насколько я помню, если не присваивать nil и не использовать table.setn - то ничего такого не наблюдалось. в защиту скажу, что часто можно обойтись без длины. в эрланге получение длины списка тоже не фонтан как реализовано
источник

AV

Andrey Velikiy in ErlangRus
вообще же, мое мнение, что луа задумывался как маленький скриптовый язык для маленьких задач. и, как и JS, вырос из своей ниши
источник

AV

Andrey Velikiy in ErlangRus
в смысле - перерос сам себя
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Так а кто его куда тянет?
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Типа tarantool? Так то он до сих пор выглядит как «полная по тьюрингу конфигурация»
источник

ML

Maksim Lapshin in ErlangRus
Andrey Velikiy
вообще же, мое мнение, что луа задумывался как маленький скриптовый язык для маленьких задач. и, как и JS, вырос из своей ниши
тогда зачем его называть хорошо спроектированным?
источник

PK

Petr Kozorezov in ErlangRus
"хорошо спроектированный тюринг полный язык для конфигурации" 😉
источник

AV

Andrey Velikiy in ErlangRus
для своих изначальных задач он хорош. когда его пытаются натянуть на глобус - возникают проблемы. эрланг тоже без ОТП не рекомендуют, а ты не рассматриваешь луа без надстроек. очевидно же, можно написать либу, которая исправит этот недостаток
источник

AV

Andrey Velikiy in ErlangRus
Petr Kozorezov
"хорошо спроектированный тюринг полный язык для конфигурации" 😉
вот-вот
источник

AV

Andrey Velikiy in ErlangRus
Maksim Lapshin
тогда зачем его называть хорошо спроектированным?
там, кстати, и массивы на хеш-таблицах реализованы, что не зело эффективно на больших размерах. повторюсь: для своей (изначальной) ниши хорошо спроектирован
источник

PK

Petr Kozorezov in ErlangRus
Хотя тот момент, который упоминает Макс про длинну списков смущает даже для конфигурации.
источник

AV

Andrey Velikiy in ErlangRus
этот момент можно нивелировать. либо через создание либы-обертки (тавтология), либо проверкой при переборе на nil. а так, знание некоторого числа как размера таблицы мало что дает как самоценное. оно (обычно) нужно как промежуточное: для того же перебора
источник

AV

Andrey Velikiy in ErlangRus
а уж как можно делать массивы через FFI в LuaJIT я и вовсе молчу
источник

ML

Maksim Lapshin in ErlangRus
Andrey Velikiy
там, кстати, и массивы на хеш-таблицах реализованы, что не зело эффективно на больших размерах. повторюсь: для своей (изначальной) ниши хорошо спроектирован
я никак не могу понять: что именно ты вкладываешь в «хорошо спроектирован»

Костыльнй ad-hoc дизайн, родившийся сам по себе на ровном месте?

Не, понятно, что мы так всегда пишем код, когда не знаем предметной области: проще сразу в бой и там потом освоиться, разобраться и переделать уже получше.

Но как можно это называть хорошим проектированием?
источник

AV

Andrey Velikiy in ErlangRus
Maksim Lapshin
я никак не могу понять: что именно ты вкладываешь в «хорошо спроектирован»

Костыльнй ad-hoc дизайн, родившийся сам по себе на ровном месте?

Не, понятно, что мы так всегда пишем код, когда не знаем предметной области: проще сразу в бой и там потом освоиться, разобраться и переделать уже получше.

Но как можно это называть хорошим проектированием?
по здравом размышлении я вынужден изменить "хорошо спроектирован" на "мне нравится задумка". почему мне нравится - я могу порассуждать, но это будет уходом в сторону от твоей постановки вопроса. так пойдет?
источник