Size: a a a

2021 March 02

AN

Alexey Novoselov in pro.elixir
MrFlorius
а как протоколы релизованы, где об этом почитать можно?
хз, только тут знаю https://hexdocs.pm/elixir/Protocol.html
источник

M

MrFlorius in pro.elixir
а, ну вообще можно в исходниках эликсира посмотреть
источник

LL

Lama Lover in pro.elixir
Alex Bubnov
но почему-то кложа минимальна, ортогональна и ориентирована на личный профессионализм, а в эликсире мы имеем что имеем.
Кложа на фоне эликсира очень плохо смотрится. Я уже некоторое время работаю кложуристом и скажу что очень больно работать без всяких банальных вещей, который энфорсятся elixir-ом

Взять какие-нибудь spectre, plumbing, которые меняют вообще весь код в другую сторону. Или взять, например отсутствие MIX_ENV или всякие команды типа lein deps, которые ничего не возвращают и даже не ясно сработали ли они или нет

Да и каких-то киллерфичей у clojure совершенно нет. Единственное отличие от java это динтипизация и макросы. Во всём остальном, вся лисповость остаётся только в репле и скобках, а на деле внутри всё та же жирная, старая, медленнеая жава
источник

AB

Alexander Babin in pro.elixir
Lama Lover
Кложа на фоне эликсира очень плохо смотрится. Я уже некоторое время работаю кложуристом и скажу что очень больно работать без всяких банальных вещей, который энфорсятся elixir-ом

Взять какие-нибудь spectre, plumbing, которые меняют вообще весь код в другую сторону. Или взять, например отсутствие MIX_ENV или всякие команды типа lein deps, которые ничего не возвращают и даже не ясно сработали ли они или нет

Да и каких-то киллерфичей у clojure совершенно нет. Единственное отличие от java это динтипизация и макросы. Во всём остальном, вся лисповость остаётся только в репле и скобках, а на деле внутри всё та же жирная, старая, медленнеая жава
Если говорить про экосистему то это так, но с точки зрения консистентности и ортогональности языка clojure оч хорошо написана
источник

LL

Lama Lover in pro.elixir
Alexander Babin
Если говорить про экосистему то это так, но с точки зрения консистентности и ортогональности языка clojure оч хорошо написана
> консистентности и ортогональности
Где? Какой? Там 1000 и 1 способ достать значение из мапы. Нет нормальных тайпспек. Есть жуткие DSL-и, которые полностью меняют весь код и делают его нечитаемым. Документация всей стандартной библиотеки написана очень грустно, например расскажите как работает (dosync), на локах или как?
источник

AB

Alexander Babin in pro.elixir
Lama Lover
> консистентности и ортогональности
Где? Какой? Там 1000 и 1 способ достать значение из мапы. Нет нормальных тайпспек. Есть жуткие DSL-и, которые полностью меняют весь код и делают его нечитаемым. Документация всей стандартной библиотеки написана очень грустно, например расскажите как работает (dosync), на локах или как?
Документация в целом не оч плохая, есть примеры ссылка на сорс - https://clojuredocs.org/clojure.core/dosync
В эликсире конечно лучше, но вот описание реализации кишок как оно там работает и нужно ли это в доке  это вопрос спорный (скорее тут в эксплиситности апи функции)

На кложе  разрабатывал около 3 лет, в целом есть универсальный синтаксис получения значения из мапы в не зависимости от значения, строка, кейворд и тд. В этом плане в эликсире я словил пару ментальных брейков с мапами и атомами и строками, а так же обращения через точку и квадратные скобки ну и про кейворд листы

В целом это вкусовщина, но в кложе я выучил один способ через (map key) и вперёд либо get и get-in (мб кстати тоже привыкал, ща уже и не вспомеить). Меня скорее бесит больше макросы и функции и невозможность их отличить - тут я часто спотыкался
источник

DP

Dmitry Ponyatov in pro.elixir
Alexander Babin
Документация в целом не оч плохая, есть примеры ссылка на сорс - https://clojuredocs.org/clojure.core/dosync
В эликсире конечно лучше, но вот описание реализации кишок как оно там работает и нужно ли это в доке  это вопрос спорный (скорее тут в эксплиситности апи функции)

На кложе  разрабатывал около 3 лет, в целом есть универсальный синтаксис получения значения из мапы в не зависимости от значения, строка, кейворд и тд. В этом плане в эликсире я словил пару ментальных брейков с мапами и атомами и строками, а так же обращения через точку и квадратные скобки ну и про кейворд листы

В целом это вкусовщина, но в кложе я выучил один способ через (map key) и вперёд либо get и get-in (мб кстати тоже привыкал, ща уже и не вспомеить). Меня скорее бесит больше макросы и функции и невозможность их отличить - тут я часто спотыкался
а Nim ном-ном?
источник

AB

Alex Bubnov in pro.elixir
Lama Lover
> консистентности и ортогональности
Где? Какой? Там 1000 и 1 способ достать значение из мапы. Нет нормальных тайпспек. Есть жуткие DSL-и, которые полностью меняют весь код и делают его нечитаемым. Документация всей стандартной библиотеки написана очень грустно, например расскажите как работает (dosync), на локах или как?
не знаю, какие у тебя проблемы с мапами. то, что кейворд IFn это непривычное решение, но почему бы и нет, если это не несет каких-то глобальных последствий?  
тайпспеки в общем не нужны.
доки эликсира от док кложи для меня не отличаются особенно - что там, что там одинаково исходники читать, когда поведение неочевидно.
dsl там в отличие от эликсира хотя бы осуждаются в целом, и то, смотря что считать за dsl. core.async и я осуждаю, а например graph из plumbing  - нормальный, вроде, непривычный, но выглядит в целом понятно.
источник

А

Александр in pro.elixir
Появился вопрос. Если ли где-то прям такая хорошая инструкция как сделать приватный репозитарий hex пакетов (желательно с доками), с возможностью мешать приватные и публичные пакеты (или же проксирование если в приватном нету, то все запросы проксируються на публичный репо)?
источник

LL

Lama Lover in pro.elixir
Alex Bubnov
не знаю, какие у тебя проблемы с мапами. то, что кейворд IFn это непривычное решение, но почему бы и нет, если это не несет каких-то глобальных последствий?  
тайпспеки в общем не нужны.
доки эликсира от док кложи для меня не отличаются особенно - что там, что там одинаково исходники читать, когда поведение неочевидно.
dsl там в отличие от эликсира хотя бы осуждаются в целом, и то, смотря что считать за dsl. core.async и я осуждаю, а например graph из plumbing  - нормальный, вроде, непривычный, но выглядит в целом понятно.
Не, если выбирать elixir или clojure, то выбрать второе можно только в случае если уже есть код на жаве, к которому можно только нативно приклеиваться

Во всём остальном, clojure сильно проигрывает elixir-у. Особенно в состоятельности дефолтной библиотеки, ведь, я напомню, в clojure нет никакой интроспекции в рантайме, нет никакой изоляции ошибок, сборщик мусора всё ещё stw, зато есть несколько макросов-комбинаций пайпов и ифов
источник

A ß in pro.elixir
его ненавидят все VM-инженеры, чтобы убрать stw надо только...
источник

AB

Alexander Babin in pro.elixir
Lama Lover
Не, если выбирать elixir или clojure, то выбрать второе можно только в случае если уже есть код на жаве, к которому можно только нативно приклеиваться

Во всём остальном, clojure сильно проигрывает elixir-у. Особенно в состоятельности дефолтной библиотеки, ведь, я напомню, в clojure нет никакой интроспекции в рантайме, нет никакой изоляции ошибок, сборщик мусора всё ещё stw, зато есть несколько макросов-комбинаций пайпов и ифов
А при чем тут стандартная библиотека и рантайм?
Минус кложи то что она хост язык и нужно пользоватся наработками жабы - там кстати тоже оч много тулов по интроспекции (не таких крутых, но все же)
источник

AB

Alex Bubnov in pro.elixir
Lama Lover
Не, если выбирать elixir или clojure, то выбрать второе можно только в случае если уже есть код на жаве, к которому можно только нативно приклеиваться

Во всём остальном, clojure сильно проигрывает elixir-у. Особенно в состоятельности дефолтной библиотеки, ведь, я напомню, в clojure нет никакой интроспекции в рантайме, нет никакой изоляции ошибок, сборщик мусора всё ещё stw, зато есть несколько макросов-комбинаций пайпов и ифов
если сравнивать хосты, jvm у beam сосет просто не останавливаясь, тут не с чем спорить.
но хост и язык это немного отдельные вещи, и всё перечисленное к собственно эликсиру не имеет никакого отношения.
короче, ты читеришь в сравнении.
источник

LL

Lama Lover in pro.elixir
Alexander Babin
А при чем тут стандартная библиотека и рантайм?
Минус кложи то что она хост язык и нужно пользоватся наработками жабы - там кстати тоже оч много тулов по интроспекции (не таких крутых, но все же)
Не, типа была жава, у неё были проблемы. Пришла clojure поверх жавы и решила одну проблему — java-style ооп

Поэтому clojure плох, потому что он java, но с весёленькими макросами
источник

AB

Alexander Babin in pro.elixir
Lama Lover
Не, типа была жава, у неё были проблемы. Пришла clojure поверх жавы и решила одну проблему — java-style ооп

Поэтому clojure плох, потому что он java, но с весёленькими макросами
я бы сказал, что в этом плюс clojure так и ее минус
источник

LL

Lama Lover in pro.elixir
Alexander Babin
я бы сказал, что в этом плюс clojure так и ее минус
Это не плюс
java жуткая, но блин, почти любой язык лучше чем жава, а clojure не сильно-то и лучше чем java

А тем, кто выбирает clojure, чтобы облегчить java-страдания можно только посочувствовать
источник

AB

Alexander Babin in pro.elixir
Lama Lover
Это не плюс
java жуткая, но блин, почти любой язык лучше чем жава, а clojure не сильно-то и лучше чем java

А тем, кто выбирает clojure, чтобы облегчить java-страдания можно только посочувствовать
ну это прям оч. предвзято))
Жаба как язык звезд с неба не хватает, но говорить о том что это муки и страдания я бы не стал
Думаю с точки зрения оптимизации и работы GC лучше языка и нет
Линейная скорость оч хорошая
GraalVM сделал потребление памяти на уровне чуть хуже го
источник

AB

Alexander Babin in pro.elixir
так что я бы так откровенно не набрасывал))
источник

БЁ

Борщевик Ёбаный... in pro.elixir
почти любой язык лучше чем жава
кроме эликсира с эрлангом
перл мб
источник

A ß in pro.elixir
Alexander Babin
ну это прям оч. предвзято))
Жаба как язык звезд с неба не хватает, но говорить о том что это муки и страдания я бы не стал
Думаю с точки зрения оптимизации и работы GC лучше языка и нет
Линейная скорость оч хорошая
GraalVM сделал потребление памяти на уровне чуть хуже го
когда программист пишет код, он соприкасается не со сборщик мусора и житом
источник