Size: a a a

2020 January 23

LL

Lama Lover in pro.elixir
Dk
Ну, я языки воспринимаю аналогично настольным играм. Просто играю по выданным правилам. И вообще, функциональщина мне заходит.
А ты раньше на чём писал, если не секрет?
источник

D

Dk in pro.elixir
На Python в основном, немного на Golang. Трогал Haskell, мне понравилось, но особо ничего не написал.
источник

LL

Lama Lover in pro.elixir
Прикольно
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Dk
Мне кажется, я понял почему мне не нравится Elixir. Его команды выглядят как шутка плохого дизайнера. Почему, если функция length работает ТОЛЬКО с листом - её не запихнули в модуль List? Как узнать длину tuple? Может у меня опыта это понять не хватает?
iex(1)> tuple_size {}
0
iex(2)> map_size %{}
0
iex(3)> length []
0
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Dk
Мне кажется, я понял почему мне не нравится Elixir. Его команды выглядят как шутка плохого дизайнера. Почему, если функция length работает ТОЛЬКО с листом - её не запихнули в модуль List? Как узнать длину tuple? Может у меня опыта это понять не хватает?
Не запихнули в List - чтобы не дублировать.
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Dk
Мне кажется, я понял почему мне не нравится Elixir. Его команды выглядят как шутка плохого дизайнера. Почему, если функция length работает ТОЛЬКО с листом - её не запихнули в модуль List? Как узнать длину tuple? Может у меня опыта это понять не хватает?
А ещё все 3 функции идут из Erlang-а и там так же и называются. По сути это наследие. И ещё обычно в Kernel-е (или erlang модуле) функции, которые имплементированы нативно. В Elixir-е конечно есть пару исключений, но в целом логика такая.
источник

ВА

Верховный Архитектор in pro.elixir
Dk
Ну для листа это же нужно зачем-то
Зачем? Tuple в памяти - статический массив, и создан исключительно для перечисляемо-похожих вещей типа {:ok, lol}, List - это уже списки, где под капотом linked-list
источник

D

Dk in pro.elixir
Я читал, да
источник

V

V in pro.elixir
length быстрее чем Enum.count
источник

V

V in pro.elixir
Dk
Мне кажется, я понял почему мне не нравится Elixir. Его команды выглядят как шутка плохого дизайнера. Почему, если функция length работает ТОЛЬКО с листом - её не запихнули в модуль List? Как узнать длину tuple? Может у меня опыта это понять не хватает?
А ты с какими языками знаком ранее?
источник

D

Dk in pro.elixir
На Python в основном, немного на Golang. Трогал Haskell, мне понравилось, но особо ничего не написал.
источник

DK

Denis Kharchuk in pro.elixir
length относится к модулю Kernel который неявно импортится в каждый модуль. И так как это макрос (как и практически все в elixir) он использует тот же протокол что и Enum
источник

ŹR

Źmićer Rubinštejn in pro.elixir
V
length быстрее чем Enum.count
Гораздо быстрее, раз в тысячу как минимум ))))
https://github.com/elixir-lang/elixir/blob/v1.9.4/lib/elixir/lib/enum.ex#L595
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Denis Kharchuk
length относится к модулю Kernel который неявно импортится в каждый модуль. И так как это макрос (как и практически все в elixir) он использует тот же протокол что и Enum
Length не использует протокол.
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Denis Kharchuk
length относится к модулю Kernel который неявно импортится в каждый модуль. И так как это макрос (как и практически все в elixir) он использует тот же протокол что и Enum
Он напрямую редирект в :erlang.length и работает только с листами, в отличие от Enum.count.
источник

VS

Viacheslav Shevchenko in pro.elixir
причем :erlang.length написан на си
источник

VS

Viacheslav Shevchenko in pro.elixir
Enum.count использует length только для листа для остального начинается дрочь с протоколами
источник

V

V in pro.elixir
Dk
На Python в основном, немного на Golang. Трогал Haskell, мне понравилось, но особо ничего не написал.
Почему не пишешь дальше на питоне, а учишь какой-то странный эликсир?
источник

V

V in pro.elixir
Есть же причина, иначе странно.
источник

D

Dk in pro.elixir
Меня как-то спросили, почему я пишу на Python, ведь он не очень популярный. Правда, сфера была и правда малопопулярная для Python.

На самом деле, всего по чуть-чуть. Меня и функциональщина привлекает и сферы, где это используется и сами методы как это делается. Спасибо евангелистам Elixir на Moscow Python conf++.
Питон, конечно, всеобъемлющий, но совсем что-то серьёзное вроде на нём и не делают.

Кстати, а в медицинском оборудовании я слышал функциональные языки лидируют. Elixir в их числе или только со строгой типизацией?
источник