Shub
Эликсир вообще не об этом
Vladyslav
ну бля, когда тебе надо для сваггера ещё раз описывать схему и потом ещё деструктить в контроллере. Я спросил в чате шо они себе думают по этому поводу. И шо мне сказали. То всё от лукавого да и вообще программисты обленились писать спеки, а тут вот тебе какой инструмент хороший.
Vladyslav
Или другими словами : нафиг ты туда за орм пошел?
язык общего назначения. А сегодня у меня была работа с базой. Я до GenServera и других приколов BeamVM даже не дошёл. И, видимо, не дойду в ближайшее время
Shub
ну бля, когда тебе надо для сваггера ещё раз описывать схему и потом ещё деструктить в контроллере. Я спросил в чате шо они себе думают по этому поводу. И шо мне сказали. То всё от лукавого да и вообще программисты обленились писать спеки, а тут вот тебе какой инструмент хороший.
Они тебе в принципе правильно говорят, но при этом они не понимают тебя и твоей проблемы. Правильнее было бы сказать, что эликсир - это не доя вебприложений в мейнстримном понимании этого слова
Ilya
Го — это тоже язык общего назначения.
Shub
Эликсиром надо заканчивать, а не начинать
Vladyslav
Они тебе в принципе правильно говорят, но при этом они не понимают тебя и твоей проблемы. Правильнее было бы сказать, что эликсир - это не доя вебприложений в мейнстримном понимании этого слова
они-то правильно говорят, но они не видят в плотную что у меня 8 несчастных апи и мне не нужна спека, а видят - спеку, мудак, не пишет
Nuxs🏴‍☠️
Эликсир странный, просто пиздец
Nuxs🏴‍☠️
Ещё более экзотика, чем хаскель
Vladyslav
та вот статья была. Эликсир топ 1. Решил поизучать. В целом, мне больше кложи понравился (из-за хорошего паттерматчинга)
Vladyslav
но вот некоторые моменты
Vladyslav
почти все, кроме паттерна
Vladyslav
пока я буду пилить Эрланг они статику завезут разве что тогда)
Shub
Там кстати есть линтер с проверкой типов
Shub
Но это не нужно. Типы переоценены
Vladyslav
диалайзер, да
Vladyslav
не, ошибки он пишет для динамики аки боженька
Vladyslav
в кложе я прикололся разбирать их
Nuxs🏴‍☠️
Я после ТК программирование без типов представить себе не могу
Shub
Почему же?
Потому что в динамических языках статической проверки типов нет и втаскивать ее туда - занятие противоестественное и оттого мерзко перед Богом
Vladyslav
я уже попробовал и кложу даже поработал на ней и вот эликсир и пока я на стороне типов
Shub
Я после ТК программирование без типов представить себе не могу
«Мам, я борщ не люблю, там отварная капуста»
Vladyslav
я попробовал порефакторить вчерашний код с {:ok, res} на :ok. Я пол часа рефакторил 100 строк
Shub
Разговор не про системы типизации. Речь про эрланг и что он может
Shub
я попробовал порефакторить вчерашний код с {:ok, res} на :ok. Я пол часа рефакторил 100 строк
Ну а шо ты хотел, через две недели писать как Джо (будь Аллаh милостив к его душе)?
Shub
Ок, понял
Если б у эрланга был конкурент - то еще можно было бы что-то обсуждать. Но довольно большое количество его фич завязаны на динамическую типизацию. Ну или отсутствие статической, скажем так
Shub
а что поменяется? я выучу весь проект?
Научишься писать так, чтобы легко было рефакторить
Shub
Если ты привык, что у тебя идеешечка делает весь рефакторинг, то в языках без иде будет тяжко
Vladyslav
Научишься писать так, чтобы легко было рефакторить
это нереально. Банально это надо тогда так писать что бы никогда никогда, прям никогда не менять структуру мапок или переименовывать ключи
Shub
Шутки в сторону, посмотри как например Сохацкий написал свой n2o
Shub
Можно много чего говорить про Сохацкого, но код там хрестоматийный. Был раньше по крайней мере
Shub
Тебе по ходу надо перестраивать мышления на дизайн своего софта протоколами и сообщениями, что не так-то просто
Vladyslav
не, я видимо слишком тупой для такого. Я не могу запомнить все эти ключи в мапах банально
Shub
не, я видимо слишком тупой для такого. Я не могу запомнить все эти ключи в мапах банально
Не говори «я тупой». Говори «у меня мало опыта в этом аспекте»
Vladyslav
всё упирается в то что помимо кода надо ещё помнить кучу всего: как мапу собрать, как её собрал до этого, какие (это вообще забей) кейворды в стороней либе
Vladyslav
это программирование на строках. У тебя связывание кода по строкам. Как запомнить это всё?
Shub
всё упирается в то что помимо кода надо ещё помнить кучу всего: как мапу собрать, как её собрал до этого, какие (это вообще забей) кейворды в стороней либе
Мне видится сразу несколько проблем и возросшая сложность как следствие. Поэтому результат где-то закономерен даже
Vladyslav
та какая там сложность в интернет-магазине то) мапку из контроллера в мапку из базы
Shub
это программирование на строках. У тебя связывание кода по строкам. Как запомнить это всё?
Ну очевидно не программировать не строках, ага? Основная проблема огромного числа кодерков - неумение упрощать, отчего внутренние состояния делаются громоздкими, протекают повсюду и банально хоронят все под собой
Vladyslav
не программировать на кейвордах?
Shub
Эликсир может тебе помочь хтмл в браузер послать
Vladyslav
Ну так нафига ты взял эликсир для интернет магазина?
если он и этого не вывозит (или я не вывожу) то это фигня какая-то
Shub
не программировать на кейвордах?
Я щас литералли стою на холодном бетоне и поокрастинирую, тарая одним пальцем по экранной клаве через дырку в боку флакона от зубного эликсира. Давай завтра обсудим, когда я буду за нормальной ЭВМ?
Nuxs🏴‍☠️
"Процесс упал? Ну и хуй с ним! У меня есть супервизор, он поднимет поток и работа будет возобновлена вовремя!"
Shub
Ладно
Ты на онколах сидишь?
Shub
?
Шо неясно? On-call, он же пейджер, он же саппорт. Обязанность такая в профессиональных командах на ответственных проектах
Shub
Обычно достается самым грамотным, самым ответственным инженерам. Сам понимаешь, абы кому прод не доверят
Shub
Нет, не сижу
Ну тогда просто поверь мне на слово, что рестарт упавшего процесса - гораздо более сложный вопрос, чем это может показаться с точки зрения здравого смысла. Потому что если мы начнем даже с банальных вещей, например «что есть рестарт» - это на месяцы обсуждений
Vladimir
на прошлой работе после нескольких бессонных ночей я упросил девопсов сделать тулзу по автоматизации рестартов, очень стало удобно прод ишуи вывозить
Vladimir
хочешь одну ноду рестартишь, хочешь роллиннг рестарт, хочешь хард роллиннг рестарт, удобно!
Pavel S
В асп.нет иис умеет рестартить упавший воркер процесс. Елексир не нужен?
Андрей
что-то мне говорит, что это вы не про тот процесс
Pavel S
Я про w3wp.exe в котором хостится веб приложение
Vladimir
А кубер сам не рестартует?🤔
это был сервис фабрик)
Vladimir
и да, кубер ноды не рестартует)
Anonymous
язык общего назначения. А сегодня у меня была работа с базой. Я до GenServera и других приколов BeamVM даже не дошёл. И, видимо, не дойду в ближайшее время
Если ты пытаешься в Эрланг/Эликсир и ЕЩЁ НЕ ДОШЁЛ до genserver, то ты ещё не начал даже или что-то явно пошло не так.
Mikhαil
и да, кубер ноды не рестартует)
Что ты называешь нодами?
Mikhαil
В данном случае
Vladyslav
Если ты пытаешься в Эрланг/Эликсир и ЕЩЁ НЕ ДОШЁЛ до genserver, то ты ещё не начал даже или что-то явно пошло не так.
Я не понимаю такой кривой обучения. У меня есть проект, очень не сложный. Там есть апи и база. Я переписал его на elixir. Мне нужно сразу с GenServer начинать? Самому создавать процессы для реквестов?
Vladimir
Что ты называешь нодами?
нодами обычно называются реальные серверы или виртуалки
Igor
нодами обычно называются реальные серверы или виртуалки
For reliable management of cluster membership, Orleans uses Azure Table, SQL Server, or Apache ZooKeeper for synchronization of nodes.