Size: a a a

2020 February 24

YN

Yevhen Nakonechnyi in pro.elixir
Andrey Pavlov
Язык общего назначения это булшитовый термин из 60х. Когда от парадигмы "нам нужно решить задачу -- сделаем язык который заточен на решение этой и только этой задачи" окончательно отошли. Взамен пришли всякие лиспы, алголы и т.д. где можно решать любые задачи.
SQL, R, Power Shell, Julia
источник

PG

Pïg Grëënëst in pro.elixir
Pavel
То, что Elixir больше применим для телефонии/веба, еще scenic есть. Это да, что тут спорить.
Был опыт со scenic?
источник

P

Pavel in pro.elixir
Pïg Grëënëst
Был опыт со scenic?
К сожалению нет ))
источник

P

Pavel in pro.elixir
Bogdan
а эту книгу читали кстати?
я ее купил, но не читал еще :( не добрался пока
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Mørk‎
Хотя элексир приятный язык, я подозреваю, что он не идеален и, помимо малого количества вакансий и плохо развитой экосистемы, есть какие-то еще проблемы. В силу скромного опыта я их пока не замечал, но хотел бы о них знать.
Результат дизайна beam-платформы и соответственно Elixir языка - даёт то, что нет мутабельных данных (или очень лимитированное их наличие, к примеру, в виде ets) - с одной стороны, это сильная фича, с другой стороны - сильно сужаются алгоритмические возможности ускорить своё приложение в hot path-ах, что приводит к тому, что когда утыкаешься в какой-то hot path своего приложения, где требуется много изменений состояния - ты не можешь сделать его достаточно быстрым (как в том же go, да даже в том же Python и nodejs) из-за того, что у тебя нет никакого доступа к реальной памяти, кроме как уходить в nif: C, Rust и так далее. И проблема в том, что когда ты заходишь в C - у тебя теперь не миллион процессов, а остаётся 12, к примеру, (как количество шедулеров - а в Go все те же зелёные треды) или уход в dirty nif-ы и прочая не простая тематика, а так же свитч контекста съедает перформанс, о котором тоже нужно думать и использовать очень аккуратно.

Я, к примеру, работаю над pet project приложением, аналоги которого написаны на C, C++ и Python, где нужна математика и изменяемые данные - и замечаю, как скорость моего приложения проседает, когда я пишу больше на Elixir, и как комфорт разработки(добро пожаловать segfault) и скорость разработки и гарантии beam-платформы и прочее проседает, когда нужно что-то писать на C.

P.S.: https://blog.discordapp.com/using-rust-to-scale-elixir-for-11-million-concurrent-users-c6f19fc029d3
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Чтобы понять зачем динамическая типизация попробуйте написать в акторах на расте
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Весь код превращается в ебучий бойлерплейт
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Из типов
источник

AP

Andrey Pavlov in pro.elixir
Yevhen Nakonechnyi
SQL, R, Power Shell, Julia
Simulink, graphviz .dot, plantuml, gnuplot .plot, давайте еще поперичисляем кто что знает. Я бы не причислял SQL к языкам программирования вообще, а то можно дойти до того что CSS тоже ЯП. А остальные вполне себе общего назначения. Я не говорю что специализированные языки вымерли, или что всё однозначно. Но скорее человек разрабатывающий на языке не общего назначения знает что ониразрабатывет именно на нем и не задаётся по этому поводу вопросами. И скорее всего любой популярный язык будет языком общего назначения.
источник

LL

Lama Lover in pro.elixir
Źmićer Rubinštejn
Чтобы понять зачем динамическая типизация попробуйте написать в акторах на расте
Писал на расте на tokio. Нормально получалось
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Lama Lover
Писал на расте на tokio. Нормально получалось
Токио не акторы
источник

LL

Lama Lover in pro.elixir
Źmićer Rubinštejn
Токио не акторы
Но там их можно захуярить
источник

LL

Lama Lover in pro.elixir
источник

AP

Andrey Pavlov in pro.elixir
Раст плохой пример. Лучше скалу с акой взять)
источник

LL

Lama Lover in pro.elixir
Andrey Pavlov
Раст плохой пример. Лучше скалу с акой взять)
Кстати удваиваю, скала хорошо справляется в акторной модели со статической типизацией
источник

Е

Евгений in pro.elixir
Lama Lover
Практически копия Ecto. Скажу что и тут нет dsl, это просто сахар для описания структур, это не язык
dsl язык сделанный на эликсире
источник

LL

Lama Lover in pro.elixir
Евгений
dsl язык сделанный на эликсире
dsl это когда код пишется на одном языке, а ошибки возвращаются в другом )
источник

Е

Евгений in pro.elixir
Lama Lover
dsl это когда код пишется на одном языке, а ошибки возвращаются в другом )
это не существенно
источник

LL

Lama Lover in pro.elixir
Евгений
это не существенно
Это была шутка
источник

Е

Евгений in pro.elixir
Lama Lover
Это была шутка
или таки сарказм?
источник