Size: a a a

2021 April 07

LL

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

LL

Lama Lover in pro.elixir
Наличие говорит о том, что прикрутить типизацию возможно
То, что нет экосистемы, значит что языком никто не пользуется и серьёзных людей за ним нет. А не пользуются им, и никто его не поддерживает скорее всего потому что такой язык не нужен
источник

БЁ

Борщевик Ёбаный... in pro.elixir
Возможно и нужен, просто есть ещё такая штука как невозможность продать язык. Ниши как будто более-менее поделены, сильных игроков хватает, экосистем готовых за ними тоже хватает. Просто языковые фичи не продаются от слова совсем. Продаются лозунги, в которых описывается, какую проблему язык решает хорошо. Ворваться с новым языком на рынок значит реально потратить несколько лет своей жизни на допиливание до честного продакшен уровня, а не до уровня можно сделать пет проджект, который не развалится. С экосистемами ещё хуже, их тоже нужно кому-то делать. А чтобы их кто-то делал надо людям язык уже продать
источник

БЁ

Борщевик Ёбаный... in pro.elixir
А какая потенциально_продакшн аудитория у ерланг вм языка? Те, у кого в продакшене эликсир, либо ерланг, из них
1) Часть останется на эрланге потому что по какой-то причине до сих пор не переехала на эликсир
2) Часть останется на эликсире, потому что им удобно и нормально
Стоит ли это усилий строить экосистему под это? Я хз
источник

LL

Lama Lover in pro.elixir
Отчасти правда, но если язык не нужен создателю, то кому-то другому он врятли тоже не нужен. Это очевидно проблема курицы и яйца, но мне кажется что если язык хорош, то его вытащат и допилят те, у кого есть на это время. Так, например, было с clojure и scala, где коммунити уставших жавистов просто запилило экосистему языка
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Pony чёт не взлетел, а это ахуенный язык
источник

LL

Lama Lover in pro.elixir
Ну менять erlang на elixir смысла мало. Это тупо остановка разработки на год или два ради макросов и уменьшения кривой обучения. Иметь сразу два тоже немного душно. Но вон многие в процессе плавного перехода, когда на эрланге только поддержка, а на эликсире новые сервисы. Например, @maxlapshin подскажет по этому поводу точнее

Те, кто приходят в BEAM обычно приходят из других экосистем на уровне когда есть код наговняканный рубистами-стартаперами за год метаний из стороны в сторону, а теперь этот код не вывозит стабильно растущую нагрузку
источник

БЁ

Борщевик Ёбаный... in pro.elixir
Да почему остановка разработки на год-два? Я бы и месяца не дал, ты же уже знаешь рантайм, ты остаёшься в своей парадигме. Вопрос в синтаксисе, причём вопрос в синтаксисе простой, это не с лиспа на хаскель с хаскеля на зяву переехать
источник

БЁ

Борщевик Ёбаный... in pro.elixir
Время сэкономишь за счёт стабильных билд тулов
источник

LL

Lama Lover in pro.elixir
Да и потом, как-то слишком много в индустрии дрочева на языки. Когда я учился в школе это было оправдано — огромный мир разных идей, каждую из которых хочется попробовать и узнать. А сейчас язык воспринимается просто как инструмент и все какие-то разговоры о языках больше похожи на перекладывание вины за плохой проект или скучную работу.
Больше не буду участвовать в языкосрачах, обещаю
источник

LL

Lama Lover in pro.elixir
Да, есть даже тула для миграции rebar3 проектов под mix одной командой
источник

LL

Lama Lover in pro.elixir
Я имел в виду не переобучение, а переписывание. Переписывать код без ошибок довольно сложное и душное занятие. У elixir и erlang свои кернелы, свои модули для работы с мапами, листами и всем таким

Переписывать не учитывая специфику это всё равно что не переписывать. Для этого можно просто транспайлер какой-нибудь готовый использовать
источник

А

Александр in pro.elixir
языкосрач это еще нормально, сравниваеться не только язык, но и инструментарий вокруг языка. но вот срачи динамическая/статическая типизация - это сравнение идей, и в таких срачах больше фанатизма ну и ссылок на научные работы
источник

БЁ

Борщевик Ёбаный... in pro.elixir
научные работы здесь не при чём
источник

AN

Alexey Novoselov in pro.elixir
переписывать с эрланга на эликсир вообще никому не надо и ни один работодатель тебе эту бесполезную работу оплачивать не будет, поэтому и переезд с эрланга на эликсир никому по факту не нужен
источник

А

Александр in pro.elixir
значит остался голый фанатизм 🙂
источник

LL

Lama Lover in pro.elixir
Да, я примерно это и имел в виду
источник

БЁ

Борщевик Ёбаный... in pro.elixir
Моё личное ощущение— я хочу писать качественные вещи. Я считаю, что динамическая типизация НЕ означает писать некачественные вещи, я не считаю, что статическая означает, что ты написал качественную вещь.
Просто в моём понимании качественная вещь на стат типизации делается
1) Проще для разработчика потому что он опирается на гарантии, предоставленными тайпчекером и компилятором
2) Надёжнее для рефакторинга, не логическая ошибка всплывёт в компайл тайме
3) много других плюсов забесплатно, вот можно почитать. https://habr.com/ru/post/500926/ . Я не фанат автора, но с этой статьёй согласен целиком

Вы говорите о сравнении идей.  Но за идеей в моём понимании что-то такое типа теории должно стоять. Системы типов разные, они довольно сложны, если копать, там куча теории для тех, кому это интересно. За динамической типизацией я вижу как раз отсутствие идеи и просто отсутствующую фичу в языке, а не идею
источник

БЁ

Борщевик Ёбаный... in pro.elixir
@LamaLove как я тебе сегодня? Достаточно аргументов, не токсично?
источник

LL

Lama Lover in pro.elixir
Если заменить слово "качественные" на "верные в компайле", то тут я согласен
Уметь исключить целый класс ошибок в компайле это здорово, но это не единственный способ этого добиться
Типа в динамической типизации тоже решены проблемы 1 и 2 диалайзером и юнит-тестами. Да, если к этому добавить статическую типизацию, то ошибок будет меньше, но статическая типизация в то же время заставляет больше думать при написании программы и писать больше кода, потому что даже банальное сложение чисел может упасть из-за переполнения типа

Так что тут разговор не о плюсах, а о трейдоффах
И мне влом тратить время на объяснение этого. Все основные поинты расписаны в гугле
источник