Главная Юзердоски Каталог Трекер NSFW Настройки

Программирование

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 502 43 142
Выспавшихся программистов тренд /elixir/ /elixir/ Аноним 28/06/21 Пнд 14:33:26 2082722 1
elixir.png 34Кб, 450x188
450x188
Здравствуй, дорогой анон.

Сегодня хочу рассказать тебе о прекрасном функциональном языке для написания неубиваемых распределённых систем, а более конкретно вебни на бэке, больших soft-realtime систем и IoT говен. Называется он Elixir, а работает он на виртуальной машине real human BEAM, на которой ещё работает язык Erlang

Немного истории

Эликсир это современный язык, построенный поверх языка Erlang с блекджеком и лисповыми макросами. У этих языков полный интероп в обе стороны, но при этом эликсир лишает вас этого удовольствия написания Сам язык Erlang появился в компании Ericsson как язык для написания максимально отказоустойчивых телекоммуникационных систем. Именно из желания создать среду для написания максимально отказоустойчивых систем появились все основные фичи.

Основные фичи

⚹ Ахуенно приспособлен к разработке параллельных и конкуррентных программ. Эликсир способен запускать мильоны процессов-акторов, работающих асинхронно, с различными приоритетами и всем таким. Эти процессы не делят память и общаются через пересылку сообщений.

⚹ Ахуенно приспособлен к разработке распределённых систем. Все основные проблемы написания распределённых систем вроде сихнронизации монотонных часов, общения между машинами, поиска машин, heartbeat-ы, группы процессов, gossip-ы уже включены в язык
Любая достаточно сложная распределённая программа содержит заново написанную, неспецифицированную, глючную и медленную реализацию половины языка Erlang.

⚹ Ахуенно приспособлен к разработке отказоустойчивых систем. Что делают кубы, когда падает сервис? Они перезапускают его. Эрланг делает то же самое, только не с сервисами, а с процессами, что значит что неожиданное исключение в одной части функционала никак вообще никак не заденет другой функционал.

⚹ Ахуенный тулинг. В отличие от эрланга с его хэдерами, makefile-ами и прочими пыльными приколами, эликсир за секунды позволяет создать проект, скомпилировать его, сконфигурировать его, собрать артефакт, скачать зависимости и всё такое в стандартах всех современных языков. Серьёзно, местный билдтул (mix)гораздо лучше чем забугорские cargo, npm, go и gem


Нахуя

Ты хочешь нормально спать по ночам? Ты хочешь отказаться от ночных дежурств? Ты хочешь сэкономить на этих богомерзких девопсах и прочих сисянах? Ты устал дебажить очередной дата-рейс ебучих горутин?

Я хочу спать по ночам. Как вкатиться?

Чтобы успешно найти работу на эликсире, нужно уже иметь некоторый опыт разработки за деньги и понимание того какое же говно это ваше ойти. Желательно от одного года в вебе. Самый быстрый способ обучения это в то же время и самый эффективный способ, поэтому синтаксис и стандартная либа постигается вот тут
https://elixirschool.com/ru

Более подробное описание внутренностей, хороших практик и хитростей стандартной либы описывается вот тут.Тут будет эрланг, но это не должно быть проблемой
https://learnyousomeerlang.com/

Конкретно вебня на эликсире
платно: https://www.amazon.com/Programming-Phoenix-1-4-Productive-Reliable/dp/1680502263
бесплатно: https://hexdocs.pm/phoenix

Тому, кто ценит своё время, я советую начать писать какой-нибудь проектик параллельно с чтением книжек. Чтобы стать джуном на эликсире опытному бэкендеру нужно не больше месяца

Рыночек

Средняя температура по больнице зарплата у эликсирщика традиционно больше чем у любого друогого языка, поэтому поменять голанг или питон на эликсир будет выгодно. Вакансии на рынке РФ существуют, искать можно на hhрю или в чатиках в телеге t.me/proelixir. Забугорных вакансий значительно больше и они охотно нанимают разработчиков с опытом. Самое важное качество при найме это не знание самого языка, а софт-скиллы и общее понимание веб-разработки как таковой, так что придётся социализироваться

Вопросы?
Аноним 28/06/21 Пнд 14:39:18 2082724 2
> Самое важное качество при найме это не знание самого языка, а софт-скиллы и общее понимание веб-разработки как таковой, так что придётся социализироваться

ну и нахуй нужен такой язык?
Аноним 28/06/21 Пнд 14:41:46 2082726 3
>>2082724

Привет, Сычёв. Вылезай из берлоги, родной, самое время заводить себе друзей-анимешников в мире программирования
Аноним 28/06/21 Пнд 16:05:40 2082823 4
>>2082722 (OP)
>Чтобы стать джуном на эликсире опытному бэкендеру нужно не больше месяца
И зачем опытному бекендеру становится джуном с непонятными перспективами и дропом зп?
Аноним 28/06/21 Пнд 16:15:50 2082839 5
>>2082726

> друзей
> анимешников
> в мире программирования

тройное ненужно
Аноним 28/06/21 Пнд 17:14:17 2082893 6
>>2082823

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

В этом и есть вся перелесть эликсира: если ты разбираешься в вебе, в распределённых системах, то эликсиру тебя научат на месте работы, при этом, зп только вырастет
Аноним 28/06/21 Пнд 17:16:05 2082897 7
scrot2010031026[...].png 759Кб, 1920x1080
1920x1080
>>2082839

Эх, а я так хотел с тобой подружиться. Няшились бы с тобой под пледиком, посматривая GTO и перекидывая друг другу лямбдочки по distributed erlang
Аноним 28/06/21 Пнд 17:29:55 2082909 8
>>2082893
> эликсиру тебя научат на месте работы
Если тебя нанимают как опытного бекендера, от тебя ждут, что ты сам будешь обучаться всё таки.
Аноним 28/06/21 Пнд 17:47:23 2082929 9
>>2082909

Почему? Вообще понятие сам/несам какое-то не совсем ясное, ведь ты в любом случае будешь задавать вопросы и на них в любом случае будут отвечать.

Базовый уровень эликсира подтягивается за день/неделю в зависимости от одарённости на https://elixirschool.com , а всё остальное узнаётся на месте. И если тебя нанимают (а тебя нанимают), то люди точно готовы отвечать на твои вопросы касательно собственного стека
Аноним 28/06/21 Пнд 17:52:42 2082935 10
>>2082722 (OP)
Elixir хуйня; работы нет
Приходи через 4 лет
/трет
Аноним 28/06/21 Пнд 17:55:00 2082936 11
>>2082929
Вопросы касательно собственного стека != банальные вопросы по языку, которые ты можешь сам найти в доках.

> понятие сам/несам какое-то не совсем ясное
Имеется ввиду, что ты сначала сам попытаешься решить свою проблему, а только потом пойдёшь спрашивать у других. И, если ты действительно разработчик с опытом, то вопросы будут касаться либо каких-то крайних тонкостей стека, либо доменной области, что явно не соответствует тезису "тебя научат на месте работы".
Аноним 28/06/21 Пнд 18:01:47 2082943 12
>>2082929
>Базовый уровень эликсира подтягивается за день/неделю
Ну ок, вижу на hh две вакансии на джуна элексира без опыта работы на нем, зп до 130к, явно для опытного будет дроп.

https://hh.ru/vacancy/45430273
Один стартап с требованием верстать шаблоны для фронта и смутным
>Это стартап поэтому работать нужно много.

Второе это
https://hh.ru/vacancy/45531785

И все, нет больше вакансий в россиюшке.
Аноним 28/06/21 Пнд 18:20:11 2082966 13
Аноним 28/06/21 Пнд 18:41:36 2082990 14
>>2082943

Джунов никто и не ищет на эликсир. Это язык не для начинающих программистов

Большинство вакансий на эликсире не требуют коммерческого опыта разработки. Достаточно запилить какой-нибудь TODO-list на местных рельсах, чтобы показать что ты знаешь язык и вкатиться в нормальную работу

> вакансий в россиюшке
Во-первых, российский ойти рынок вообще не показатель. Во-вторых, ты реально в этой стране хочешь остаться? В-третьих, вот тебе ахуенный план: ты тут потеешь два года в какой-нибудь конторке набивая экспу и опыт, а потом уезжаешь забугры востребованным специалистом. Лично я и пара моих знакомых такое провернули

> нет больше вакансий
Вакансий и правда мало, но и количество кандидатов пропорционально меньше. И если учесть что джуны в эликсире никому не нужны, это ещё неплохое колчество вакансий

> явно для опытного будет дроп
Опять же, опытный чувак свапает стек и устраивается точно не на джуновскую вакансию. Это будет как минимум миддл, а опыт на руби конвертируется почти 1 к 1.

Поэтому я и завёл этот тред, в эликсире реально не хватает опытных разработчиков. И опытных не в плане знания самого эликсира, а в плане понимания вебдевелопмента
Аноним 28/06/21 Пнд 18:49:27 2082994 15
>>2082966
Серьезно. Эликсир классный язык, но работы нет, изучать его имеет смысл только если в рамках имеющейся компании и продукта что-то на него переписывать и то не факт, ведь нет работы -> нет спецов.
Аноним 28/06/21 Пнд 18:51:02 2082999 16
А ещё эликсир пропагандирует какую-то фулстак хуйню со своим liveview и даже рубистов заразил этим дерьмом
Аноним 28/06/21 Пнд 18:51:37 2083000 17
>>2082936

Под словами "тебя научат на месте работы", я имел в виду что тонкостям эликсира тебя реально обучат на месте работы.

Хороших разработчиков на эликсире очень мало, поэтому компании и идут на такой шаг: берут людей без опыта в эликсире, но с мозгами, и делают из них эликсирщиков

Опять же, базовые вещи касательно эликсира учатся за день-неделю, я это написал. Тонкости касательно эликсира уточняются на работе. Вообще не может быть такого чтобы эти тонкости не уточнялись на работе, тебя же блять наняли и знали что ты не шибко эликсирщик, а значит были к такому готовы
Аноним 28/06/21 Пнд 18:53:28 2083001 18
>>2082990
>Лично я и пара моих знакомых такое провернули
Спокойно реализуется и на других языках

>Опять же, опытный чувак свапает стек и устраивается точно не на джуновскую вакансию. Это будет как минимум миддл
Без опыта работы с языком и экосистемой сильно сомневаюсь, что возьмут на мидла, даже на линкедине нет такого, по крайней мере я не нашел

>а опыт на руби конвертируется почти 1 к 1
Скажи что еще и без знания OTP и распределенных систем можно вкатится. От руби там только куски синтаксиса.
Аноним 28/06/21 Пнд 18:55:20 2083003 19
>>2082990
> опыт на руби конвертируется почти 1 к 1
Забываешь почти все свои ООП шаблоны, правила организации структуры проекта, подходы к сторонним сервисам (типа сайдкика), а потом сдвигаешь парадигму с императивщины на функциональщину (а научиться думать по-другому - это не так просто).

Если ты действительно опытный разработчик, это для тебя не будет чем-то непосильным, но о конвертации 1 к 1 тут точно говорить нельзя.
Аноним 28/06/21 Пнд 18:57:00 2083005 20
>>2083001
Справедливости ради, помимо кусков синтаксиса там есть ещё феникс, который очень пытается мимикрировать под рельсы.
Аноним 28/06/21 Пнд 18:58:40 2083007 21
>>2082999

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

Я понимаю почему ты так думаешь, анон, но он не совсем верно. Вакансии существуют, проекты на эликсире существуют, при чём в том количестве, которое вполне реально потянуть. Тут не нужно рвать жопу, нужно просто поднять себе базовый лвл эликсира.

Я не заставляю менять стек и не говорю что у тебя, анон, всё обязательно получится, я лишь говорю что язык ахуенный, и работа на нём есть, реально есть. И если ты, как человек любящий погроммирование, уделишь ему свободное время, то, помимо банальной смены рутины и удовольствия от погроммирования на классном языке, ты можешь ещё и получить классную работу за бугром

> liveview
Такая тема есть, но никто не заставляет тебя это использовать. Вообще, у рубистов это кривовато работает немного. На эликсире это нативнее, быстрее, и уже есть кучи гайдлайнов касательно PETAL стека
Аноним 28/06/21 Пнд 18:58:45 2083008 22
>>2083005
>там есть ещё феникс, который очень пытается мимикрировать под рельсы
Это кстати нездоровая хуйня, что руби был языком одного фреймворка, что у эликсира из популярных только феникс
Аноним 28/06/21 Пнд 18:59:35 2083010 23
>>2083007
>ты можешь ещё и получить классную работу за бугром
Что мешает получить работу за бугром на любом другом ЯП?
Аноним 28/06/21 Пнд 19:04:07 2083012 24
>>2083008
На сколько я знаю, у рубей сейчас не один фреймворк. Та же синатра. У эликсира из альтернатив только `Plug.Router`, который абсолютно бесполезен для сколько-нибудь расширяющегося веб-приложения. Есть ещё несколько мёртворождённых обвязок вокруг последнего, но они не в счёт, т.к. не развиваются.

Но для полноценного развития альтернативных фреймворков нужны компании, которые будут вливать в это деньги, а для этого нужна аудитория пошире, чем у эликсира. Так что всё идёт вполне естественным ходом.
Аноним 28/06/21 Пнд 19:05:33 2083014 25
>>2083001
> Скажи что еще и без знания OTP и распределенных систем можно вкатится

OTP не нужно знать, а распределённые системы желательно хотя бы на троечку. Типа знать что такое логические часы и клиент-сервер будет достаточно для успешного свапа на миддла

> Спокойно реализуется и на других языках
Это правда, я не спорю. Я это говорил лишь к тому что российский рынок ойти вообще не показатель

> Без опыта работы с языком и экосистемой сильно сомневаюсь, что возьмут на мидла, даже на линкедине нет такого, по крайней мере я не нашел

Я понимаю твою обеспокоенность, дорогой анон. Вот то что я нашёл:
https://t.me/proelixir/184763
Вот сюда через несколько месяцев будут искать свежую кровь: https://t.me/proelixir/183217
https://t.me/proelixir/172553
Аноним 28/06/21 Пнд 19:09:59 2083018 26
>>2083012

> `Plug.Router`
Что? Это просто модуль, который роутит по хэндлерам, это не вебфреймворк

> Есть ещё несколько мёртворождённых обвязок вокруг последнего, но они не в счёт, т.к. не развиваются.
Навскидку есть такие фреймворки, каждый из которых работает: cowboy, plug, phoenix, mochiweb, ash
Да, phoenix сейчас сильно популярен, но пока что он покрывает 99% кейсов

> нужны компании, которые будут вливать в это деньги
За эликсиром стоят большие компании, списочек вот тут: https://elixir-lang.org/cases.html
Аноним 28/06/21 Пнд 19:10:42 2083019 27
>>2083014
> OTP не нужно знать
Только отчасти правда. У тебя достаточно готовых либ, чтобы делать какие-то банальные вещи из крудоебли, действительно. И OTP для них понимать не надо. Но, если у тебя возникнет какая-то сложная проблема с одной из таких либ, где тебе придётся лезть в потраха, либо если тебе придётся написать что-то своё (вполне реальный кейс, учитывая, что язык всё ещё активно развивается), то без OTP будет сложно.
Аноним 28/06/21 Пнд 19:13:06 2083021 28
>>2083019

Понятное дело, что OTP рано или поздно придётся выучить. Я говорил о том, что его не особо нужно знать для устройства на работу.

Это не сильно сложная вещь, которая познаётся прочтением книжки Elixir in Action 2 за пару дней
Аноним 28/06/21 Пнд 19:17:21 2083029 29
Аноним 28/06/21 Пнд 19:19:59 2083033 30
>>2083018
> Это просто модуль, который роутит по хэндлерам
Если в твоём микросервисе пара эндпоинтов с общением исключительно по хттп, и ты не планируешь как-то это расширять, то тебе его хватит вместо полноценного веб-фреймворка. plug предоставляет достаточную гибкость, чтобы писать веб-приложения, не подключая ничего больше. Только без вьюшек придётся обойтись. :)

> есть такие фреймворки: cowboy, plug
Это не фреймворки. cowboy -- сервер. plug -- обвязка вокруг него, чтобы удобно было писать вебню. Хотя, в стандартную поставку входят полезные самодостаточные вещи (как я описал выше).

> mochiweb
Какая-то либа для эрланга. 404 на ссылку на доки на хексдоксе и никакого описания в ридми. В любом случае эрланг несколько ниже эликсира в плане метапрограммирования, так что я бы не стал это использовать без самописных (или кем-то написанных) обвязок.

> ash
Сомнительная затея.
Аноним 28/06/21 Пнд 19:20:08 2083034 31
>>2083029

> опыт работы с Elixir от 1-го года
Не значит ровно нихуя. Всем насрать на твой реальный опыт. Если ты адекватный и дома выучил основные поинты, всё окей

> Мимокроку не залететь, только рубисту
Это правда, но шибко мудрым эликсирщиком не нужно быть, а я именно об этом и говорил

> Русичи в пролете
ХРЮК

Аноним 28/06/21 Пнд 19:22:10 2083037 32
>>2082994
>Серьезно. Эликсир классный язык, но работы нет

Я уже 5 лет пиздярю на elixir за деньги, вакансий не так много, но работы хватает, если опыт какой-никакой есть - hr'ы даже со своими 5 вакансиями заебывают предложениями

>>2082999
>хуйню со своим liveview

Так крутая хуйня же!
Аноним 28/06/21 Пнд 19:24:41 2083042 33
>>2083033

> cowboy -- сервер
А как же cowboy_rest? Да и встроенного функционала хватает. Там есть аналоги для самых нужных плагов из Plug

> plug -- обвязка вокруг него
И чем это не фреймворк, дорогой?

> ash Сомнительная затея.
А мне кажется что это ахуенная идея. И кто прав?

> mochiweb
Спасибо анон, я перепутал. Я хотел сказал n2o и nitro
Аноним 28/06/21 Пнд 19:26:31 2083048 34
>>2083037
>Так крутая хуйня же!
Шаблонизаторы это нихуя не крутая хуйня, шаг вне стандартного функционала и приходится страдать.
Аноним 28/06/21 Пнд 19:30:01 2083058 35
>>2083048

> шаг вне стандартного функционала и приходится страдать
Что конкретно ты имеешь в виду?

Но вообще я соглашусь, что liveview не серебряная пуля. Написать интерактивную админку или прочую одностраничную интерактивную хуйню будет очень легко, просто и быстро. Это именно то, что нужно в мире IoT и на первых этапах стартарпататов
Аноним 28/06/21 Пнд 20:03:20 2083099 36
>>2083042
> cowboy_rest
Как я уже сказал, использовать эрланговские либы, которые выиграли бы от метапрограммирования, в эликсире напрямую, не самая лучшая идея.

> > plug -- обвязка вокруг него
> И чем это не фреймворк, дорогой?
Он, конечно, фреймворк, но слишком бедный для сколько-нибудь сложного приложения (как я упомянул здесь >>2083033)

> > ash Сомнительная затея.
> А мне кажется что это ахуенная идея. И кто прав?
Идея избавиться от бойлерплейта - это, конечно, хорошо. Только оно слишком похоже на рельсы, чтобы на этом было не больно писать. :)

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

Когда у тебя разрастается логика, реального бойлерплейта становится не так уж и много.

И всё бы хорошо, если бы оно навешивалось поверх существующих механизмов феникса и экто, но она делает свои не переиспользуемые обёртки. Так что даже возможности переписывать отдельные куски, когда логика станет сложнее, у тебя нет.
Аноним 28/06/21 Пнд 20:08:24 2083112 37
>>2083099
Рубисты сбежали из рубей, что бы сделать ещё одни руби?
Аноним 28/06/21 Пнд 20:14:23 2083122 38
>>2083042
Ещё отдельный минус для ash - расположение файлов в туториале (ресурсы в lib/my_app/resources/*). Феникс притащил этот рак из рубей, раскидав контроллеры и вьюхи по отдельным директориям, введя соглашение об именовании модулей противоположным способом. Теперь ещё и этот рак в бизнес-логике. В эликсире (как и во многих других фп-языках с нормальными модулями) есть своё соглашение по именованию модулей и файлов, которое позволяет довольно гибко и логично организовать структуру проекта, а здесь они просто забили на это болт, введя дополнительные проблемы для людей, которые потом будут на этом писать.
Аноним 28/06/21 Пнд 20:16:19 2083125 39
>>2083099

> слишком бедный для сколько-нибудь сложного приложения
Почему ты так думаешь? Во-первых, плаг совместим со всем, что есть в фениксе. Во-вторых, плаги пишутся очень просто. В-третьих, у меня писались сложные приложения на плаге

Насчёт ash я согласен, он не особо гибкий. Но он и не стремится таким быть, а просто существует как фреймворк для ультрабыстрого крудошлёпства, типа такой postgrest, только чуть-чуть умнее
Аноним 28/06/21 Пнд 20:16:23 2083126 40
>>2083112
А ещё они прибежали в эликсир и утащили себе паттерн-матчинг.
Аноним 28/06/21 Пнд 20:18:40 2083129 41
>>2083122

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

Вообще такое положение файлов не навязывается, но мне оно нравится, потому что оно защащет от смешивания бизнес-логики-модели от контроллеров и вьюх
Аноним 28/06/21 Пнд 20:24:21 2083134 42
>>2083125
> > слишком бедный для сколько-нибудь сложного приложения
> Почему ты так думаешь?
Плаг не просто совместим со всем, что есть в фениксе. Феникс работает через плаг.

Но я говорил не об применимости плага в веб-приложении (без своих плагов было бы сложно), а об использовании исключительно плага без феникса. Написать самописную вьюшку для пары эндпоинтов - легко, но когда у тебя появляется пачка эндпоинтов, тебе уже нужен какой-то общий механизм рендеринга, чтобы не писать бойлерплейт.

Плюс, если у тебя не какой-нибудь специфичный микросервис, который ты не планируешь расширять дальше, тебе с большой вероятностью понадобятся какие-нибудь веб-сокеты. Или что-нибудь ещё из стандартной поставки феникса. В конечном итоге ты придёшь к тому, что тебе надо всё переделать под феникс (либо попытаться воткнуть его куда-то между, но это, полагаю, будет ещё больнее).
Аноним 28/06/21 Пнд 20:28:42 2083141 43
>>2083134
Помимо этого в фениксе у тебя есть куча удобных механизмов вроде пайплайнов и скоупов. У тебя есть довольно гибкая система рендеринга во вьюшках (которую ты можешь расширить на любой формат помимо дефолтных html и json в несколько строк). Есть система content negotiation, которая позволяет не дублировать код, если тебе надо отдавать что-то сразу в нескольких форматах.
Аноним 28/06/21 Пнд 20:31:41 2083143 44
>>2083134

Опять же, соглашусь, феникс включает в себя плаг. Но если ты уверен, что тебе достаточно будет только плага, нужно выбирать именно его. Как ты сказал, микросервисы, ресты, самописные HTTP API это его область применения.

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

Между тем, напомню, что у кложуристов вообще ничего кроме местного плага (который ring) нет
Аноним 28/06/21 Пнд 20:32:38 2083144 45
>>2083141

Ты прав, но не всем приложениям нужен SSR, вебсокеты, или несколько скоупов
Аноним 28/06/21 Пнд 20:48:32 2083155 46
>>2082722 (OP)
>Именно из желания создать среду для написания максимально отказоустойчивых систем появились все основные фичи.
В чем его отказоустойчивость проявляется, что нельзя использовать другой язык?
Аноним 28/06/21 Пнд 20:59:49 2083163 47
>>2083155
Микросервисная архитектура на уровне языка
Аноним 28/06/21 Пнд 21:03:55 2083170 48
nuJEfEC-CZ8.jpg 157Кб, 1080x1078
1080x1078
>>2083155

В двух словах, отказы бывают таких видов:

1) Софт падает
Это может быть баг в программе. Неотловленные баги чинятся одним способом: рестартом. Эрланг изолирует программу в множество относительно независимых процессов, если процесс падает, он перезапускается по определённой стратегии. Получается, что некоторые незначительные аномалии не будут полностью ронять систему, а будут просто чуть-чуть замедлять её общее
состояние
Для отлавливания багов в компайле у эрланга и эликсира есть тайпчекер и крутые линтеры

2) Хардварь падает
Для этого программы должны работать в кластере. Эрланг содержит самый лучший тулинг для разработки распределённых систем

2.1) Падает сеть
Для этого программы должны уметь трекать причины отказа, и в зависимости от этого определять своё поведение при сплитах и прочем

Аноним 28/06/21 Пнд 22:01:01 2083236 49
>>2083008

Справедливости ради, в реальной разработке часто приходится пилить всякие микросервисы без феникса, на голом elixir. С рубями такое редко бывает, разве что гемы на голых пишут.
Аноним 28/06/21 Пнд 22:04:19 2083245 50
>>2083048
>Шаблонизаторы это нихуя не крутая хуйня

Ну я бы не сказал, что это прям шаблонизатор, это крутая хуевина для рендеринга html на стороне сервера, если немного разобраться в этом, то понимаешь, что затея пиздатая. В реально разработке пока что не приходилось это юзать, а для себя дома ковырял - ощущения необычные, понравилось (тем более я ненавижу js ебоманый)
Аноним 28/06/21 Пнд 22:26:58 2083281 51
>>2083245
>В реально разработке пока что не приходилось это юзать, а для себя дома ковырял - ощущения необычные, понравилось
Это не показатель, захотят у тебя дизигнеры на работе сделать окошко более закругленным и все.
Аноним 28/06/21 Пнд 22:43:18 2083295 52
>>2083281
Пусть делают, не вижу проблем. Можно же часть страницы на обычном html написать и только в нужные части liveview встроить.
Аноним 28/06/21 Пнд 22:47:22 2083300 53
>>2083295
>Можно же часть страницы на обычном html написать и только в нужные части liveview встроить
И тут появляется анимация, которая изменяет сразу два компонента.
Аноним 28/06/21 Пнд 22:54:03 2083304 54
>>2083300
Хз в какую сторону ты мыслишь, никто не советует и не пишет все подряд с liveview - это хуевина для специфичных проектов, где с ней реально можно удобно делать интерактивности всякие без привлечения фронтендеров даже
Аноним 28/06/21 Пнд 23:14:24 2083310 55
Screencast 2021[...].mp4 7482Кб, 1920x1080, 00:00:36
1920x1080
>>2083304
Типа, можно вот такие хуйни писать на изи без js
Аноним 28/06/21 Пнд 23:16:47 2083311 56
>>2083310
Ты вообще работал в компаниях, где есть свой отдел с дизайнерами?
Аноним 28/06/21 Пнд 23:17:57 2083313 57
>>2083281

Я юзал liveview на большом пендосском проекте. Всё нормально и с анимациями и с интерактивностью. Типа liveview спокойно живёт вместе с js

Всякие банальные интерактивные вещи на нём делать одно удовольствие. Если нужны какие-то особенные анимации, всё это на бэке пишется вообще без проблем

Единственное, это бывают моменты когда что-то прям ну очень нужно на клиенте обсчитать, но это совершенно не сложно и вполне себе уживается вместе с liveview
Аноним 28/06/21 Пнд 23:19:25 2083314 58
>>2083311
Да, но я бэкенд пишу и никак с дизайнерами не взаимодействую вообще, с liveview я только дома игрался
Аноним 28/06/21 Пнд 23:22:09 2083316 59
>>2083310
Как погода в ульяновске?
Аноним 28/06/21 Пнд 23:23:50 2083319 60
Аноним 28/06/21 Пнд 23:29:18 2083320 61
>>2083319
Посмотрел, в вакухах очередные "Сильным плюсом будет опыт в RoR". Элексиристы вообще из других языков бывают?
Аноним 28/06/21 Пнд 23:30:19 2083321 62
>>2083320

Много кто из эрланга. Есть много ценителей ФП. Лично я из питона пришёл
Аноним 28/06/21 Пнд 23:31:47 2083322 63
>>2083321
И какой опыт в эрланге и какая зп? Мне на го/пистон недавно предлагали перекатится с 220к, почти без дропа.
Аноним 28/06/21 Пнд 23:32:32 2083324 64
>>2083320
Ну, чисто исторически так сложилось, что большинство с рубей перекатились, собственно и сам разработчик elixir'a раньше в рельсах был в кор тим. А так да, есть еще бывшие эрлангисты >>2083321
Аноним 29/06/21 Втр 10:05:55 2083478 65
Test
Аноним 29/06/21 Втр 10:07:17 2083479 66
>>2082722 (OP)
На нем можно писать приложухи для десктопа и компилировать их в ехе?
Аноним 29/06/21 Втр 10:54:48 2083510 67
>>2083479
>2021
>приложухи для десктопа
Аноним 29/06/21 Втр 11:06:38 2083523 68
>>2083008
Хз, я последние 3 года феникс встречаю только как подкладку под Absinthe. В теории его можно вообще выпилить нахуй, и прикрутить абсент к ковбою через плаг, но лень, там все равно оверхед минимальный.
Феникс, я так понимаю, нужен в основном всяким хуяк-хуяк-фулстекам для проектов с SSR, которых, по-идее, много во фрилансе, или соло-стартапщикам, которым нужно быстро накидать МВП. С другой стороны, феникс, как и рельсы, настолько хорош, что иметь больше одного фреймворка под эти задачи просто нет смысла.
Аноним 29/06/21 Втр 11:50:46 2083544 69
>>2083479

Чисто теоретически -- да, но никто этим не занимается
Для десктопа есть две-три либы: wxWidgets, elixir-desktop поверх неё и ещё одна, название которой я забыл
Для компиляции в бинарник есть bakeware
Аноним 29/06/21 Втр 12:58:31 2083620 70
>>2083510
Чел мне похуй, я программирую, потому что это блять интересное времяпровождение, в отличии от того, чтобы лежа на диване часами смотреть в потолок. Особенно интересно отрисовывать все в окне, а не буковки в консоли или на ебучем сайте (хотя видимо к этому я тоже скоро приду)
30/06/21 Срд 22:24:18 2085127 71
Так и умер тред, лул
Аноним 30/06/21 Срд 23:06:44 2085168 72
Аноним 06/07/21 Втр 08:00:38 2088614 73
Кто там писал, что вакансии нет на эликсир?
Я php разраб с 4 годами опыта, и у меня 60% предложении на линкед ин - эликсир разработчик. Хрюши прям настойчиво предлагают собесы, хотя я им говорю, что не работал с эликсиром совсем, и вообще во фронт перекатываюсь.

Вакансии полно, просто они не для всех.
Аноним 06/07/21 Втр 09:42:15 2088636 74
>>2088614
>Хрюши прям настойчиво предлагают собесы
Они всем предлагают, чел. Им KPI нужно выполнять.
Аноним 06/07/21 Втр 10:08:07 2088653 75
>>2088636
>Им KPI нужно выполнять.
И? Вакансии то есть. А пройдет анон-перекат собес или нет - это другой вопрос.
В любом случае, нормальному бэкэндеру не составит труда перекатиться, т.к. стек технологии в большинстве вакансии совпадает на 60-80%
Аноним 06/07/21 Втр 10:32:52 2088670 76
>>2088653
Звучит как антиреклама языка. Если хочешь начать на нем проект, то тебе нужно нанимать людей без опыта в нем и платить им больше по рынку, что бы у них дропа ЗП не было сильного, да и не факт, что ты найдешь таких за приемлемое время. Большинству тимлидов будет легче взять другой язык и напедалить микросервисную архитектуру, чем все это.
Аноним 15/07/21 Чтв 20:57:50 2096815 77
>>2088670

> людей без опыта в нем и платить им больше по рынку

Язык учится за две недели, он жутко простой. Платить больше чем рынок не нужно, достаточно платить также как раньше или чуть-чуть больше. На эликсир переходят как минимум потому что язык очень няшный

> не факт, что ты найдешь таких за приемлемое время
> легче взять другой язык и напедалить микросервисную архитектуру

Даже для большого проекта нужно не больше 5-6 элксирщиков. В начале проекта нужно не больше двух. Язык очень высокоуровневый и очень хорошо приспособлен к вебне. На найм гоферов или кого-то ещё уйдёт ещё больше денег и времени, потому что банально потребуется больше человек для эквивалентной разработки
Аноним 15/07/21 Чтв 22:03:21 2096885 78
>>2096815
>Язык учится за две недели, он жутко простой.
Чет вспомнил, как плюсовиков в проекте заставили на пистоне писать, они там свой csv ридер сделали, так как с библиотекой не были знакомы. Утверждение, что можно быстро пересесть на другой язык и писать хороший код очень сомнительна.
Аноним 15/07/21 Чтв 22:15:20 2096896 79
>>2096885
Понятное дело, что пересаживаться нужно под чьим-то присмотром. Рубисты реально за две недели пересаживаются, все остальные максимум за месяц
Аноним 17/07/21 Суб 16:16:45 2098502 80
>>2088670
>Если хочешь начать на нем проект, то тебе нужно нанимать людей без опыта в нем и платить им больше по рынку, что бы у них дропа ЗП не было сильного, да и не факт, что ты найдешь таких за приемлемое время. Большинству тимлидов будет легче взять другой язык и напедалить микросервисную архитектуру, чем все это.
Есть такие ребята Klarna самый дорогой финтех стартап европы, в свое время много писали на Эранге/Эликсире https://github.com/klarna?q=&type=&language=erlang На конференциях выступали.

А теперь у них джава, питон и пых https://jobs.lever.co/klarna/?team=Engineering
Я их спрашивал почему отказались, были какие-то технические претензии у Эрлангу какие именно чувак был не в курсе и проблемы с поиском разработчиков.
Аноним 17/07/21 Суб 23:14:26 2099006 81
>>2098502
>проблемы с поиском разработчиков.
Кто бы мог подумать
Аноним 19/07/21 Пнд 11:14:47 2100210 82
Зашел в тред посмотреть на код и вопросы/ответы из любопытства. Весь тред состоит из А ЕСТЬ ЛИ РАБОТА на эликсире. Нойс.
Аноним 19/07/21 Пнд 13:20:28 2100303 83
>>2100210
Откуда тут взяться вопросам, если все думают, что нет работы и не вкатываются, а у тех, кто вкатился, вопросов нет?
Аноним 20/07/21 Втр 16:45:32 2101538 84
Работы нет пацаны, не вкатывайтесь, юзлесс хуитка, учите пайтон, жабу, да и руби живее всех живых, базарю.



нахуй ты создал тред мудак, и так язык уже почти мейнстрим стал, уже пора выкатываться скоро, а ты еще ускоряешь еблан
Аноним 20/07/21 Втр 18:25:56 2101657 85
>>2098502

> А теперь у них джава, питон и пых

Ну там также и эрланг. Количество вакансий не показатель. К тому же, существуют компании, которые меняют жаву на эрланг. Так что попробуй ещё раз, анон

Искать разработчиков на эрланг раньше было и правда сложно, но сейчас эликсирщиков очень много, да и пересадить рубиста на эликсир будет совсем не сложно
Аноним 20/07/21 Втр 18:28:41 2101660 86
>>2101538

> Работы нет пацаны

Дорогой анон, я понимаю твои тревоги, но ты хотя бы просто так без пруфов не вкидывай, хорошо? Я прямо сейчас могу тебе переслать с почты около 8 активных вакансий в РФ и примерно в 10 раз больше забугорских. Если поискать в интернетах, то их количество окажется сильно больше
Аноним 21/07/21 Срд 19:50:19 2102919 87
>>2101657
>Ну там также и эрланг. Количество вакансий не показатель.
Если их ноль - то показатель. Я смотрел их вакансии еще год назад и там тоже был ноль. Плюс ты наверное не заметил, но
>Я их спрашивал почему отказались
И ответ был, что да Эрланг команды остались и сервисы на Эрланге никто не выкидывает, но новые не пишут. У них теперь Эрланг - легаси.
Аноним 21/07/21 Срд 20:18:51 2102943 88
>>2101660
Дай угодаю, в требованиях или опыт на эликсире или на рубях?
Аноним 21/07/21 Срд 20:27:46 2102952 89
>>2102943
>в требованиях или опыт на эликсире

Шок-контент, в требованиях к "Ищем разработчика на Х" есть опыт работы с X. Охуеть!
Аноним 21/07/21 Срд 20:39:54 2102962 90
>>2102952
Тогда ты нахуя нам вкатываться предлагаешь, если вакансии не для 99% разрабов?
Аноним 21/07/21 Срд 20:46:16 2102967 91
>>2102962
>если вакансии не для 99% разрабов?

???

А какого хуя так должно быть? Воспринимай это как узкоспециализированную технологию что ли. Если какой-то опыт набьешь, то без работы потом уже точно не останешься.
Аноним 21/07/21 Срд 20:56:35 2102978 92
>>2102967
Показывай джун вакансии тогда, сколько их у тебя
Аноним 22/07/21 Чтв 19:31:41 2103783 93
Специально для вкатунов: https://career.habr.com/vacancies/1000074892

ЗП От 20 000 до 50 000₽ это конечно такое себе, но я в свое время джуном вообще за 18к вкатывался. Так что кому надо - пиздуйте, набивайте коммерческий опыт и перекатывайтесь в компанию получше.
Аноним 22/07/21 Чтв 19:33:24 2103784 94
>>2103783
Провтыкал, что там Самара без удаленки, но похуй, может внезапно кто-то оттуда есть
Аноним 26/07/21 Пнд 11:35:51 2107118 95
Эх, я вот хорошо выспался за выходные, а вы как? В Sentry около 100 эксепшонов за выходные и при этом нихуя даже близко не упало
Аноним 27/07/21 Втр 12:56:51 2108283 96
>>2107118
>не упало
Тоже нормально спал, в докере рестарт настроил и все
Аноним 27/07/21 Втр 17:44:43 2108569 97
>>2108283
И че, каждый раз целый сервис рестартится из-за одной ошибки?
Аноним 27/07/21 Втр 17:51:24 2108576 98
>>2108569
Только если все совсем плохо, а так только воркер в сервисе
Аноним 27/07/21 Втр 18:08:05 2108583 99
>>2108576
А в эликсире рестартится только один процесс. Типа, если падает один веб-хэндлер, то падает только он и это никак не влияет на производительность
Аноним 27/07/21 Втр 18:23:10 2108596 100
>>2108583
>А в эликсире рестартится только один процесс.
У нас тоже
Аноним 27/07/21 Втр 21:57:12 2108924 101
Аноним 28/07/21 Срд 11:55:15 2109336 102
>>2107118
>Эх, я вот хорошо выспался за выходные, а вы как? В Sentry около 100 эксепшонов за выходные и при этом нихуя даже близко не упало
К сожалению ваша транзакция проебалась, но хорошие новости в том, что наш разработчик выспался.
Аноним 17/08/21 Втр 16:26:37 2130718 103
Сап двощ, кто тут на эликсире работает?
Аноним 20/08/21 Птн 15:24:55 2134128 104
Аноним 22/08/21 Вск 21:26:28 2136900 105
>>2134128
Какой опыт? Как вкатился? Сколько получаешь?
Ну и самое главное, какие ощущения?
Аноним 25/08/21 Срд 01:59:34 2139302 106
>>2136900
Лет 5, с ерланга, 7k$, ощущения приятные
Аноним 26/08/21 Чтв 11:20:21 2140573 107
>>2139302
Увожаемо, увожаемо. Показывай классный опенсорс

Из интересного на эликсире, я нашёл realtime, который стримит изменения базы данных, которые получает через протокол репликации
Аноним 31/08/21 Втр 11:16:22 2145534 108
Аноним 09/09/21 Чтв 17:02:29 2153855 109
>>2145534
Лапшин, залогинься
Аноним 10/09/21 Птн 23:09:37 2154779 110
>>2083003
Так падажжи ебана, а ООП - не декларативщина? Меня обманули?
Аноним 12/09/21 Вск 13:11:21 2155791 111
>>2153855
Кстати тыщу лет ничего не слышал от него.
Насколько я помню, он плохо относился к Elixir, не делал ни одного коммита в какой бы то ни было открытый эликсир проект, да и эрливидео никакого отношения к мембране (которая намного больше и интереснее) не имеет.
Аноним 24/09/21 Птн 16:14:21 2165816 112
>>2154779
ООП менее декларативный чем иммутабельное ФП.
Делкаративность и императивность это скорее спектр, чем грань
Аноним 25/09/21 Суб 03:20:00 2166398 113
>>2165816
Но ведь ФП про явный вызов функций и явную передачу аргументов им, тогда как в ООП можно просто вызвать метод, который сделает что-то под капотом и вернёт что надо. Это ли не декларативнее?

Понавыдумывают терминов, ебучие погромисты
Аноним 28/09/21 Втр 18:46:04 2169326 114
>>2166398
>Но ведь ФП про явный вызов функций и явную передачу аргументов им

Паттерн матчинг добавляет в это все декларативщину
Аноним 10/10/21 Вск 15:50:32 2179343 115
Как на эликсире выглядит простой таймер?

Пример на руби:

def time(&block)
t1 = Time.now.to_f
yield
t2 = Time.now.to_f
t2 - t1
end

time { some_function() } # => 0.15946728

Гуглил, везде какие-то монстры на сто строк. Неужели так просто нельзя?
Аноним 10/10/21 Вск 16:00:53 2179347 116
>>2166398
>Но ведь ФП про явный вызов функций и явную передачу аргументов им
>в ООП можно просто вызвать метод, который сделает что-то под капотом и вернёт что надо
1) А функция не делает что-то под капотом и не возвращает что надо?
2) Метод уже перестал быть функцией?
3) В методы ничего передавать не надо и в инициализацию класса тоже?
Аноним 10/10/21 Вск 16:25:12 2179373 117
>>2179347
Я не спорю. Я вообще так считаю, что у ООП и ФП куда больше общего, чем различий, просто реализованы эти абстрактные идеи по-разному.
Аноним 10/10/21 Вск 20:03:18 2179657 118
>>2166398
Есть такая штука referential transparency, это про отсутствие побочных эффектов и про возможность заменить вызов функции значением, которое она вернула бы.
Так вот из referentially transparent штуковин легче собрать декларативную штуку, а без этого свойства есть вероятность написать спагетти-код - это как бы противоположность декларативного.
Аноним 11/10/21 Пнд 02:00:11 2179910 119
Аноним 11/10/21 Пнд 04:55:18 2179925 120
>>2179657
> а без этого свойства есть вероятность написать спагетти-код - это как бы противоположность декларативного.
Ну это уже полная религиозная шиза, затирать, что на ФП языках спагетти код не возможен, и что он возможен только если писать декларативно. Сразу видно, что человек не разбирал ни одной рекурсии, написанной свежеиспеченным адептом ФП. В большинстве случаев, написать декларативный цикл с мутацией выйдет ГОРАЗДО проще и читаемее, чем лепить редьюсы или боже упаси рекурсии для реализации той же логики. Хоть ты обосрись с ФП, но набор команд "добавь к х единицу" воспринимается человеческим мозгом в сто раз привычнее. И как в таковой, в мутации стейта ничего плохого нет(программа без мутации стейта может существовать только на бумаге, а не выполняться в компьютере), плохой она становится только если стейт протекает и начинает изменяться из неожиданных мест в неожиданное время. Но код можно испортить тысячей разных способов, в которых никаких стейтов и близко нет.
Аноним 11/10/21 Пнд 05:06:41 2179926 121
>>2179925
> написать декларативный цикл с мутацией выйдет ГОРАЗДО проще и читаемее, чем
ну это уже получается императивный цикл, какой-нибудь foreach или map уже более декларативны.
самый известный пример декларативного языка - это sql.
> И как в таковой, в мутации стейта ничего плохого нет, плохой она становится только если стейт протекает и начинает изменяться из неожиданных мест в неожиданное время.
ну вот когда стейт изменяется из неожиданных мест в неожиданное время - это ведь точно не декларативно, так? что-то в этом роде я и пытался сказать.
Аноним 11/10/21 Пнд 12:43:06 2180156 122
>>2179926
>ну это уже получается императивный цикл
Там я хотел сказать "не-декларативный", т.е тот самый якобы "спагетти-код - противоположность декларативного". В двух местах, где было "декларативно" должно быть "не декларативно", ну 5 утра хули.
Аноним 24/10/21 Вск 16:06:22 2192240 123
>>2082935
>Приходи через 4 лет
А в будущем вакансий станет больше?
Аноним 24/10/21 Вск 22:05:57 2192575 124
>>2082994
Работа время от времени появляется, особенно много вакансий зарубежом, а спецов по Elixir реально не хватает и готовы брать на сеньорские позиции с 2-3 годам опыта на каком-нибудь Руби/Питоне/Go. А уж если есть опыт с Erlang/Elixir и вообще шаришь в CS и архитектуре, то с руками отрывают.
мимо 6 лет на эликсире
Аноним 25/10/21 Пнд 01:09:36 2192704 125
>>2082722 (OP)
Что ты притащил сюда свинья? Забери это говно и удали тред.
Аноним 25/10/21 Пнд 02:16:03 2192769 126
>>2098502
Буквально на днях звали оттуда на собеседование. Так что Erlang у них еще используется.
Аноним 25/10/21 Пнд 02:18:55 2192772 127
Главный минус Erlang/Elixir в том, что поработав на нем пару лет над реальными production системами, не можешь потом смотреть на говно вроде Go/Java. В итоге перекатиться на что-то более популярное становится тяжело ментально.
Аноним 25/10/21 Пнд 21:03:48 2193464 128
Перекатываюсь с Rust на Elixir, ну чё как он?
Аноним 26/10/21 Втр 01:02:14 2193618 129
>>2193464
У языков совершенно разные ниши
Аноним 26/10/21 Втр 01:36:27 2193626 130
>>2193464
Молодец, будешь знать два единственных языка будущего.
Аноним 26/10/21 Втр 10:52:17 2193720 131
>>2193626
Нет, языки будущего - это JS и Python.
Аноним 26/10/21 Втр 13:31:59 2193859 132
Аноним 26/10/21 Втр 13:56:17 2193882 133
Аноним 26/10/21 Втр 13:59:34 2193888 134
>>2193720
Я ебал JS и Python.
JS потому что JS.
А Python потому что он блядь медленный пиздец, и я ебал это.
Ну а вообще мне эликсир реально заходит
тот чел который писал про перекат с rust на elixir
Аноним 26/10/21 Втр 14:08:19 2193897 135
>>2193888
Чтобы перекатиться нужно сначала вкатиться.
Аноним 26/10/21 Втр 14:23:33 2193907 136
>>2193897
Я вкатывался в Rust, но когда ты делаешь некоторые вещи на этом языке как например веб разработка то это боль в жопе.
Аноним 26/10/21 Втр 15:15:33 2193956 137
>>2193907
Надо ВКАТИТЬСЯ, а не вкатываться. Глагол совершенного вида, понимаешь?
Аноним 26/10/21 Втр 15:23:31 2193964 138
>>2193956
>Глагол совершенного вида, понимаешь?
Да
Аноним 29/10/21 Птн 15:42:15 2197285 139
>>2193907
Стоит провериться на геморрой.
Аноним 20/11/21 Суб 23:54:28 2218295 140
>>2082722 (OP)
Какие шансы закатиться у недоджуна, знаю haskell на базовом уровне, есть опыт в пару месяцев на python/django или такие не нужны и ждут мидлов+?
Аноним 21/11/21 Вск 08:59:58 2218448 141
>>2218295
Джуны нужны, но ты ведь не джун еще. Хотя бы год-полтора если бы было опыта разработки на питоне/руби, то можно было бы найти. Мы недавно искали разработчика. Если раньше было легко найти эрлангиста с опытом, то сейчас вообще никого. Решали брать даже джунов/мидлов, просто толковых, с опытом на каком-нибудь питоне/руби, которые с энтузиазмом хотели бы освоить эликсир. В итоге взяли джуна с полтора года опытом на питоне, пока справляется.
Аноним 21/11/21 Вск 09:07:52 2218452 142
>>2218295
>>2218448
Ну и если ты все таки подучишь прежде эрланг/эликсир, напишешь какие-нибудь простенькие пет проекты или полезную библиотеку (что вообще не сложно, так как библиотек для Эликсира часто не хватает и все пишут свое), то это сразу выделит тебя.
Аноним 23/12/21 Чтв 23:28:52 2246435 143
Сап, эликсирач, какие проекты чаще встречаются на элексире? Есть еще какие нибудь фреймворки кроме феникса?
Поглядываю из рубей одним глазком
Аноним 04/01/22 Втр 17:07:35 2255891 144
>>2246435
Чаще всего веб, апи сервисы, реже софт риалтайм. Rest-фреймворк только феникс, GQL фреймворк тулкит - Absinthe. Вообще, в языке не особо поощряются всякие фреймворки в классическом смысле, тот же феникс - просто набор миддлварей и макросов.
Аноним 04/01/22 Втр 21:18:13 2256134 145
Аноним 08/01/22 Суб 01:34:15 2258897 146
Тестирую распределённую систему, которую потом будет как инфраструктуру использовать команда дизастер рекавери. От того часто приходиться ловить баги связанные с кластером рэбита и иногда даже приходиться читать его крашдампы (которые вроде как просто трэйсбэки от эксешенов). А я не умею их читать. Там что на эрлаговском. И в исходники заглянуть не могу чтобы понять что упало т.к. эрланга не знаю. Хочу выучить эрланг на том уровне чтобы шарить за внутренее устройство рэбита. Как думаете стоит? Сложно он его до такого уровня выучить? Где-то ещё это знание может пригодиться?
Аноним 08/01/22 Суб 07:07:18 2258957 147
Пиздец эликсир БАЗА
Аноним 10/01/22 Пнд 00:07:20 2260663 148
>>2258897
По-быстрому, максимум ты сможешь изучить его для чтения крешдампов. Чтобы понимать внутренне устройство кролика, нужно будет знать язык на хорошем уровне, а не только синтаксис, а это долго и ради такой задачи - проеб времени. К тому же, без реального опыта написания чего то ты все равно не сможешь понять всех ньюансов. Учить эрланг сейчас смысла нет, скоро на нем останется только рэббит, энжабер и всякое легаси. Так что проще разбираться с рэббитом как с чёрным ящиком, он относительно популярный, не думаю что у тебя там какие-то уникальные ошибки, с которыми никто никогда не сталкивался.
Аноним 10/01/22 Пнд 13:23:55 2260962 149
>>2260663
А можешь тогда подсказать материалов по изучению рэбита? большинство, что советуют индетрнете это про то как к нему коннекторы а разных языках писать, а не про внутреннее устройство
Аноним 10/01/22 Пнд 17:13:59 2261174 150
>>2260962
github и читать исходный код. Иначе просто гуглить ошибки.
Аноним 10/01/22 Пнд 18:30:23 2261267 151
>>2261174
>github и читать исходный код
Для этого нужно эрланг хорошо знать
Аноним 15/01/22 Суб 22:29:05 2266122 152
>>2261267
Тогда сначала изучи эрланг. learnyousomeerlang.com
Аноним 23/01/22 Вск 01:22:13 2274080 153
image.png 292Кб, 394x842
394x842
Мммм, божественное фп...
Аноним 26/01/22 Срд 14:36:55 2277541 154
Аноним 01/02/22 Втр 21:41:24 2283876 155
>>2082722 (OP)
Никто не хочет объединиться и что нибудь сделать совместо?
Например telegram tdlib
Аноним 01/02/22 Втр 23:31:27 2284029 156
>>2082722 (OP)
Какие шансы вкатиться, если android kotlin middle dev ?

Не хочется в руби лезть. Здесь мне нравятся идеи, а беком не занимался. Ну, занимался, обычный туду лист условно, но на этом все.
Аноним 02/02/22 Срд 04:31:52 2284190 157
>>2284029
>если android kotlin middle dev

А зачем? Если ты не пиздабол конечно. У вас же и так там все хорошо на рын очке.

Мимно-5-лет-коммерческих-динамических-оперденей-на-эликсире-и-эрланге

А если серьезно хочешь, то ничего не мешает - если ты мидл на этих ваших jvm, то ты, очевидно, не совсем дебил и сможешь освоить любой нормальный ЯП. Из плюсов - если есть более года-двух опыта работы на elixir/erlang, то эйчары прямо таки ебут вакансиями (пишут даже на ватсап), потому что таких людей в снг очень мало, а компаниям они очень нужны. У меня только на email больше 20 предложений с середины января по сегодня, если не отвечаю на письма, то еще по 3 раза пишут и просят хотя бы явно ответить отказом
Аноним 02/02/22 Срд 12:58:29 2284434 158
>>2284190
>Из плюсов - если есть более года-двух опыта работы на elixir/erlang,

Ну вообще, это в любом языке от 1-2 года опыта, мне тоже долбят еверидей.

>А зачем? Если ты не пиздабол конечно. У вас же и так там все хорошо на рын очке.
У каждого, кто не отбитый, будет все хорошо. Тут вопрос в интересности больше. Да и в макакуконтору не возьмут, это вакансии для стабильный компаний у который сформировался стек, я так полагаю. Так что, все еще размышляю.
Аноним 02/02/22 Срд 23:47:57 2285171 159
>>2284190
>Мимно-5-лет-коммерческих-динамических-оперденей-на-эликсире-и-эрланге
Расскажешь стори? Как впечатления от работы и в целом атмосфера.
Аноним 03/02/22 Чтв 11:43:14 2285397 160
>>2285171

Да хз что рассказывать. Радует, что писать приходится что-то отличное от обычного бэкенда под crud, задачи обычно посложнее и поинтересней. Коммьюнити нормальное, не знаю как сейчас, а раньше на форуме мог сам создатель эликсира на вопросы отвечать и, если требуется, оперативно делать багфиксы
Аноним 03/02/22 Чтв 12:21:03 2285431 161
>>2285397
Спасибо за ответ, хоть и краткий)
А какие +- задачи в целом ? Если не круд обычный.
Аноним 03/02/22 Чтв 16:53:33 2285743 162
e.png 287Кб, 1244x1522
1244x1522
>>2082722 (OP)
Авторы вообще развивают язык? Судя по конференциям и статьям, сейчас язык просто находится в поддержке и у них пустой беклог. Идеи кончились?
03/02/22 Чтв 19:02:08 2285914 163
>>2285743
зачем ломать, если не сломано
Аноним 03/02/22 Чтв 19:12:51 2285927 164
>>2285743
https://youtu.be/_Bnhwv9JLzs?t=2696

В прошлом релизе (2 месяца назад) очень ускорили время компиляции, добавили нативную поддержку xref и Code.Fragment - полезную для редакторов.
Сейчас продолжают работать над интеграцией с OTP-24, логгером и просто добавляют новые функции, улучшают матчинг и т.д.

https://github.com/elixir-lang/elixir/blob/c6e18cd17bc5911afe1422ba3247a37cbbab58e6/CHANGELOG.md
Аноним 03/02/22 Чтв 23:19:02 2286153 165
>>2285743
Типа того. Был план что надо в языке, все сделали по плану. Красиво же
Elixir is done +- в 2018
Аноним 04/02/22 Птн 01:59:52 2286257 166
pingpong.png 262Кб, 1352x1780
1352x1780
>>2082722 (OP)
Мой первый пинг понг, конечно можно легче без дефмодулей. Но все же.
Аноним 05/02/22 Суб 00:20:02 2287258 167
>>2082722 (OP)
Elixir is a just a curtain and behind it there is evil erlang.
Аноним 06/02/22 Вск 00:58:01 2288218 168
genserver.png 171Кб, 1068x1246
1068x1246
Сначала реализовал свой генсерсер, без хендлинга ошибок, просто spawn receive с call & cast

Сейчас познакомился с самим генсервером.

Вообще интересно конечно.
Аноним 06/02/22 Вск 15:13:28 2288672 169
>>2082722 (OP)
Сколько зп в эликсире?
Он используется на беке и IoT ?
Аноним 06/02/22 Вск 15:17:46 2288677 170
И почему вообще челы взялись за live view ? Это же кринж по сокету (или по чему там..) строить UI через бек.

Еще кринжовей, это найти elixir desktop с 700 звездами. Это полнейшая дичь вообще, люди комитят в либы, которые вообще не нужны для эликсира
Аноним 06/02/22 Вск 17:46:19 2288848 171
Аноним 06/02/22 Вск 17:55:57 2288869 172
Аноним 06/02/22 Вск 17:58:46 2288873 173
>>2288677
Я лично знаю чувака, который делает elixir-desktop, и ему банально нужно было запилить максимально просто десктоп UI клиент к его сервисам для распределенной хуйни. Он это делает под себя и для себя, причём даже готов платить за разработку этой хуйни

А LiveView, как уже 1000 раз до меня говорили, это решение для маленьких и локальных админок для, например, IoT или какой-то домашней хуйни. Хотя на LiveView делают и большие сайты, чекай https://cars.com
Аноним 06/02/22 Вск 18:00:25 2288874 174
>>2287258
Боже мой, ты прямо как с Обнуляй репостишь. Типа, если на английском цитатка, то она сразу правильная и в неё нужно верить.

Залогинься
Аноним 06/02/22 Вск 19:05:30 2288948 175
>>2288874
по делу есть что сказать, шиз?
Аноним 06/02/22 Вск 20:37:28 2289031 176
>>2288873
> Хотя на LiveView делают и большие сайты, чекай https://cars.com

Не знаю. Ты нажимаешь обновить - отправляется запрос на бек - строится верстка и выплевывается - и на этой огромной операции фронт показывает лоадер.

С этим примером можно много юз кейсов придумать, с которыми стрельнешь себе ногу. Что уж говорить об анимациях и прочего. Все еще не понимаю.
Аноним 06/02/22 Вск 22:40:17 2289178 177
БД есть какая? Хочу бэк на элексире с БД пердануть.

И чтобы этот бэк запускал несколько nodejs процессорв (игроговно) со всеми настройками.
Аноним 07/02/22 Пнд 00:05:55 2289226 178
Аноним 07/02/22 Пнд 00:07:45 2289228 179
>>2289178
И нужно ли тебе вообще элик для запуска несколько процессоров?

У тебя ерланговская ВМ комфортно себя чувствует с 100к - 280кк зелеными тредами. А ты хочешь 3-4 зеленых запускать. Надо ли оно тебе вообще, мб возьми другой язык (но если хочешь Fault tolerance то welcome)
Аноним 07/02/22 Пнд 00:30:22 2289243 180
def multiply(x: number, y: number): :: {number, String.t()} do
{x * y, "Jeez, come on!"}
end

Почему нельзя было сделать так?
Аноним 07/02/22 Пнд 01:16:58 2289259 181
f.png 80Кб, 1078x484
1078x484
Аноним 07/02/22 Пнд 09:00:34 2289306 182
>>2289226
А бд своей нет типо? Так-то можно и постгресс на n репликаторов с бизнес-логикой поднять.
С элексиром это будет проще или чо?

>>2289228
> И нужно ли тебе вообще элик для запуска несколько процессоров?
Это на одном инстансе только. Инстансов может и сотня быть. Да и игровые сервера сами себя не поднимут.
Впринципе оно нормально и на обычном пистоне/жс будет работать и подниматься (вместе с репликаторами и постгрессом), но хочется чего-то новенького.
> А ты хочешь 3-4 зеленых запускать.
Так это игровые сервера только, по факту самое главное. Там остальные приложения могут и под 100к процессов пернуть, если игроков зайдёт дохуя.
Так понимаю именно для этого мне элексир нужен? Чтобы пердеть нормально процессами и иметь годные пробросы до бд и кэшэй?
Аноним 08/02/22 Втр 14:41:10 2290724 183
Аноним 09/02/22 Срд 13:23:50 2291558 184
Аноним 09/02/22 Срд 14:12:14 2291612 185
>>2291558
Нет. Если знаешь elixir, то, считай, что и erlang знаешь, останется только нюансы синтаксиса запомнить и всё.
Аноним 09/02/22 Срд 14:20:47 2291617 186
Аноним 10/02/22 Чтв 01:44:42 2292208 187
>>2291558
Зависит от того, с чем собираешься работать. Если планируется типичная круд хуйня с парочкой фоновых задач в Oban'е и капелькой асинхронности через Task, то не нужно.

Но если какой-то реалтайм проект с massive concurrency, то нужно, но не сам язык (хотя он очень простой и минималистичный, хоть и непривычный, потому что пролог) с выражениями и прочим, а OTP, процессы, BEAM и так далее. Поскольку без понимания всего этого кора и принципов архитектуры приложений на этой платформе шанс поесть говна почти 100%.

Лично я на собесах смотрю на какой проект человека хайрят, если на типичную апи хуйню почти без риалтайма, то спрашиваю только Elixir/Ecto/Phoenix/Absinthe и минимум по OTP, а если на реалтайм, то больше будем пиздеть про цепочки процессов, деревья супервизоров, ньюансы генсерверов и так далее.
Аноним 10/02/22 Чтв 01:55:17 2292210 188
>>2289243
Может потому что в языке динамическая анонимная типизация и многие не пишут спеки? А так пришлось бы всем писать.
Аноним 10/02/22 Чтв 09:14:32 2292303 189
>>2292208
>то больше будем пиздеть про цепочки процессов, деревья супервизоров, ньюансы генсерверов и так далее.
Но нахуя тут нужен эликсир? Никак понять не могу. Всё то же самое можно хоть на ноде сделать, похуй вообще будет. В чем суть-то нахой??777

Вот например, нормально ли распределённая бд? В чем преимущества эликсира тут? Есть какие-то высокопроизводительные решения с бд и меморизацией? Готовые ништяки с FoundationDB есть?

Или, может, эликсир работает тупо как распределённый орекстратор, который не обсирается и не падает?
Аноним 10/02/22 Чтв 09:49:23 2292314 190
>>2292303
>Вот например, нормально ли будет пердолить распределённую бд через эликсир?
слоуфикс
Аноним 10/02/22 Чтв 10:07:28 2292329 191
>>2292303
>Но нахуя тут нужен эликсир? Никак понять не могу. Всё то же самое можно хоть на ноде сделать, похуй вообще будет. В чем суть-то нахой??777

Потрудился бы хоть почтитать про elixir/erlang

>Вот например, нормально ли будет пердолить распределённую бд через эликсир?

Нормально, в erlang тащемта уже есть https://ru.wikipedia.org/wiki/Mnesia

Нормально будет пилить любую distributed/fault tolerant хуйню
Аноним 10/02/22 Чтв 10:39:03 2292346 192
>Нормально будет пилить любую distributed/fault tolerant хуйню
Это можно на любом языке сделать, если настроить внешний супервизор и каналы коммуникации между сервисами. Единственное отличие элексиров/эрлангов в том, что там это встроенно в язык. Однако, гораздо легче найти программиста, который знает кубер/кафку/кролика и т.д. чем эрлангиста/элексириста. Единственную реальную вакуху, которую тут запруфали это телеком, для которого эти языки и были собственно созданы.
Аноним 10/02/22 Чтв 11:22:35 2292388 193
>>2292329
>Потрудился бы хоть почтитать про elixir/erlang
Да я писал даже на нём мелкие пердоли и апишечку не написал в итоге, кек
Кросиво, увожаемо.
> Нормально, в erlang тащемта уже есть https://ru.wikipedia.org/wiki/Mnesia
Разве она не оче слоу? Нужна относительно быстрая бд, тащемта я с постгресса хочу слезть на FoundationDB только из-за этого.
Но вообще можно всё быстрое отправить в отдельные процессы. Но ебать там сложность и кол-во языков получается.
> Нормально будет пилить любую distributed/fault tolerant хуйню
Что-то тут смущает меня, никак не могу понять что.
Возможно ли что эликсир/ерланг очень слоу (даже хуже ноды) и мне придётся всякие рейтинговые подборы перепердолить в отдельных С процессах?
Аноним 10/02/22 Чтв 12:41:24 2292475 194
>>2292210
Причем здесь динамическая типизация и явный показ типов? В питоне тоже динамическая типизация, братишка.

Но я и без тебя понял и нашел ответ, ведь ты не можешь ответить на вопрос. Здесь достаточно свой макрос сделать и все.
Аноним 10/02/22 Чтв 12:43:16 2292478 195
>>2292346
Одни ищут причины использовать Х, другие просто бегут и используют то, что надо. Остуди жопу, чмо.
Аноним 10/02/22 Чтв 13:34:22 2292547 196
>>2292478
Откуда ты знаешь что "то, что надо" действительно нужно использовать? Подбор стэка один из самых геморойных этапов разработки и довольно долгий.
Аноним 10/02/22 Чтв 13:46:39 2292563 197
>>2292478
То есть ты признался, что элексир это булщит для скучающих программистов, которые хотят выебнутся и никакие предварительные расчеты проводить не нужно
Аноним 10/02/22 Чтв 13:55:01 2292577 198
>>2292388
А ты действительно занимаешься чем-то таким высоконагруженным или занимаешься преждевременной оптимизацией на двачах?

Используй любую стороннюю СУБД, которая тебе нравится, а на elixir хуярить бизнес-логику, которая с этой СУБД конкурентно и откозоустойчиво взаимодействует, ёпта.
Аноним 10/02/22 Чтв 14:20:59 2292619 199
>>2292577
>А ты действительно занимаешься чем-то таким высоконагруженным или занимаешься преждевременной оптимизацией на двачах?
Ну я имел дело в прошлом с высоконагруженным игроговном, в пике до 2кк/сек было, долбоеб неудачно рекламу разместил. На ноде, пистоне, цитоне и с++. Работало как-то, поднималось автоматически.
Сейчас занимаюсь преждевременной оптимизацией, потому что делаю фреймворк для потенцивально высоконагруженного игроговна. а сейчас вообще застрял на обновлением видеобуфера на клиенте, ебать, как мне функции-то нормально отправлять в проход кадра
> Используй любую стороннюю СУБД, которая тебе нравится, а на elixir хуярить бизнес-логику, которая с этой СУБД конкурентно и откозоустойчиво взаимодействует, ёпта.
Вот тут проблемы в игроговне с разделением бизнес-логики и высоконагруженной хуиты. Архитектура непонятная нихуя. Видимо для игроговна эликсир вообще лучше не использовать?
Аноним 10/02/22 Чтв 14:27:02 2292630 200
>>2292563
Мне похую на тебя браток, и на то, как ты воспринимаешь инфу.

Аноним 10/02/22 Чтв 14:37:28 2292640 201
>>2292619
Если у тебя какой-то онлайновый игровой движок, то не подходит, так как элексир это про мягкий риалтайм хотя если обновление данных построено на эвентах, как hots...
Аноним 10/02/22 Чтв 14:42:29 2292642 202
>>2292478
Четко братан, мышление миллионера прям
Аноним 10/02/22 Чтв 15:15:18 2292687 203
>>2292640
Не, игровой движок отдельно идёт, он на ноде и как отдельный процесс стартует, оно в любом случае отдельно. Речь скорее про оркестровку этими процессорами на десятках серверов по всему миру и отправка туда инфы всякой. Плюс обычный социальный набор - друзья, сообщения, группы, оповещения и вся дата пользователя для игры.
Сейчас план прост как две копейки - кластеры постгресса.

И проблема тут в том что даже обычные действия и всяческий посыл говна на отдельные сервера должен происходить достаточно быстро.
Аноним 10/02/22 Чтв 15:38:55 2292709 204
Screenshot from[...].png 687Кб, 691x935
691x935
>>2292687

На elixir пишут сервера для игроговна тоже, в panzerdog не так давно искали разработчиков: https://spb.hh.ru/vacancy/32702285

Wargaming тоже как-то искал
Аноним 10/02/22 Чтв 15:45:23 2292714 205
>>2292709
>На elixir пишут сервера для игроговна тоже
>присоединиться к команде Premium Shop
Это мягко говоря не про сам игровой сервер, лол.
Для магазинчика-то самое то.
Аноним 10/02/22 Чтв 16:36:10 2292802 206
>>2292714

В другой вакансии:

>Разработка нового игрового функционала и развитие существующего на стороне мета-сервера (внутриигровые покупки, матчмейкинг, турниры, кланы, социальные функции, квестовая система и тд)
Аноним 10/02/22 Чтв 16:39:56 2292809 207
>>2292709
Ну хуй знает. Выглядит конечно заебок. Готовые решения есть какие вообще?
Аноним 10/02/22 Чтв 17:00:49 2292830 208
>>2292809
Хз, что ты подразумеваешь под готовым решением. "Установите и настройте рабочий игровой сервер из коробки" - ничего такого, само собой, нет. Есть веб фреймворк со всякими pubsub хуйнями (phoenix), есть встроенный в язык фреймворк для динамической хуеты (OTP) - обмазывайся сам как хочешь.
Аноним 10/02/22 Чтв 17:42:59 2292861 209
commits.png 352Кб, 2630x1474
2630x1474
>>2082722 (OP)
Комиты которые мы заслужили. Fix docs, update docs, Fix indentation
Аноним 10/02/22 Чтв 18:03:34 2292881 210
>>2292830
>Хз, что ты подразумеваешь под готовым решением.
Да тоже хуй знает. Скорее я пытаюсь найти отговорки чтобы не использовать ерланг.

Он слишком приторный. Как приторная любовь, или что-то такое, приторно-сладкое. Слишком хороший для всей это оркестрации соединений, а значит там будет какая-то большая-большая проблема. Сложность разработки и создания? Хз.
Аноним 10/02/22 Чтв 18:06:42 2292885 211
>>2292881
Так и не используй, если не хочешь, пиши на чем угодно
Аноним 10/02/22 Чтв 18:11:59 2292894 212
>>2292885
Это да, видимо придется просто кластеры хуярить или вроде того. а потом набирать эликсирщиков чтобы переписали нерабочий говнокод на эликсир
Аноним 10/02/22 Чтв 18:14:52 2292898 213
>>2292881
Долгий поиск новых разработчиков, вот главный минус
Аноним 10/02/22 Чтв 18:25:55 2292911 214
>>2292898
Ну это-то проще всего планирую заработать овердохуя на относительно новых нишах, ух влажно потекло по штанине
Просто он слишком приторный. Слишком хороший.
Аноним 10/02/22 Чтв 18:26:09 2292912 215
>>2292898
для этого есть удаленка

>>2292881
>Слишком хороший для всей это оркестрации соединений, а значит там будет какая-то большая-большая проблема. Сложность разработки и создания? Хз.
Честно, вы боитесь что то попробовать. Что за страх у всех. Взял да и попробовал . В чем проблема?
Аноним 10/02/22 Чтв 18:37:04 2292932 216
>>2292912
> Взял да и попробовал .
Ну так-то нельзя просто взять и попробовать два раза написать бизнес-логику, если эликсир не зайдёт. Это тонны говнокода.
> В чем проблема?
Хз, хз. Что-то из разряда и иррационального. По крайней мере у меня.
Аноним 10/02/22 Чтв 19:10:57 2292972 217
>>2292802
>(внутриигровые покупки, матчмейкинг, турниры, кланы, социальные функции, квестовая система и тд)
Т.е. к самому игровому серверу (который именно обрабатывает ввод и отдаёт апдейты юзеру) вторая вакансия имеет только косвенное отношение.
Аноним 10/02/22 Чтв 19:18:27 2292982 218
>>2292932
>Это тонны говнокода.
А нахуя тебе высирать тонны кода, когда тебе всего-то надо заебашить какой нибудь MVP и подумать насколько оно применимо?
Аноним 10/02/22 Чтв 19:24:42 2292990 219
>>2292912
>для этого есть удаленка
Аргумент говна, конечно.

Что она меняет-то? Вот нашёл ты за пол года на рынке 3 программиста на эликсире, завтра какой нибудь банк/стартап поднявший раунд инвестиций/буржуйская галера зашедшая на местный рынок с $ зп начнёт хайрить — они убегут одним днём и сиди ищи ещё пол года.
Аноним 10/02/22 Чтв 19:51:21 2293020 220
>>2292972
К игровому серверу да, игровые сервера полностью на с/с++ делают, в крайнем случае js, как моё браузерное говно. Ну или на жабе, ололо

Вот все эти игровые покупки, внутриигровые сообщения, сервера, матчмейкинг, социалка - бизнеслогика игроговна. И теоретически всякие эликсиры тут мастхэв, потому что куча пользователей и кучу параметров.
Но репликация и кластеры позволяют вполне неплохо балансировать огромные нагрузки, так еще и бизнеслогику можно на с++ писать, шобы оно быстрое было и утилизировать мощности серверов нормально. Буквально десяток серверов с бд и бизнес-логикой на весь мир и локальные игровые сервера позволяют балансировать десятки миллионов пользователей.

Т.е. вероятнее всего эликсир в игроговне будет служить тупо оркестратором с++ либ, вроде typesense, матчмейкеров, серверов, бд, кэшэй.
Может, эликсир полезен будет когда кол-во серверов будет измеряться в стойках, а не в штуках? Хуй знает.

Но всё равно приторно.

>>2292982
Два проекта сразу в прод делаю, должно работать еще вчера. Не получится взять и две бизнеслогики напердолить.
Аноним 10/02/22 Чтв 20:30:29 2293066 221
>>2293020
Бля, да если у тебя реально сервера на nodejs, то с elixir ты точно не соснешь. Аналогичный сервер на elixir (с нормальным concurrency и отказоустойчивостью) дадут вашей ноде за щеку раз 100, несмотря на то, что нода быстрее работает на бумаге. Не говоря уже о том, насколько приятней все это будет разрабатывать и дебажить.

Всерьез считаю полными опидоревшими безумцами людей, которые додумываются бэкенд на js писать
Аноним 10/02/22 Чтв 21:07:20 2293118 222
>>2293066
>Аналогичный сервер на elixir (с нормальным concurrency и отказоустойчивостью) дадут вашей ноде за щеку раз 100, несмотря на то, что нода быстрее работает на бумаге
В контексте игрового сервера не даст, потому что там прежде всего нужна сырая производительность в однопотоке плюс числодробилки всякие, и ничего из этого сильной стороной эликсира не является, и нода на выдроченном на производительность V8 надает ему за щеку только так. Игровой сервер - это не распределенная система, а один поток, который должен быстро-быстро хуярить тики.
Аноним 10/02/22 Чтв 21:21:45 2293135 223
>>2293020
>Два проекта сразу в прод делаю, должно работать еще вчера. Не получится взять и две бизнеслогики напердолить.
Тогда пиздуй кранчить как нормальный гейдев, хули ты тут сидишь тебе прямо сейчас вкат в новые технологии вот вообще не всрался, не задумывался об этом?
Даже если элексир подойдёт на 1000% — ты обосрёшься.
Аноним 10/02/22 Чтв 21:31:05 2293148 224
>>2293066
Бизнеслогика на питоне, частично на ноде и с++. Нода действительно быстро работает, коннекты тоже норм держит, потому что сетевуха на с++.

>>2293118
Игровой сервер это нода и с++ либы, речь про именно игровой сервер не идёт. Тут ежу понятно что никакие эликсиры не справятся. Оно по сути отдельной жизнью живёт вообще, взаимодействует остальными серверами только на старте/конце, загружая/отгружая крупные массивы данных изредка.

Проблема вся в том что остальные сервисы (матчмейкеры, социалка, магазины) тоже требуют относительной быстроты, плюс на игровые сервера нужно крупные куски данных лить часто, быстро.

>>2293135
>Тогда пиздуй кранчить как нормальный гейдев, хули ты тут сидишь
Нужно пиздовать думать, ето да. Достаточно прохладился.

>тебе прямо сейчас вкат в новые технологии вот вообще не всрался, не задумывался об этом?
Нет на самом деле, не задумывался. Ты прав, нахуй не всрался, нахуй я вообще эликсир взял тестить и проектировать. Кажется потому что репликация не решает всех проблем, не помню где был затык уже, нужно разобраться блокноты.

>Даже если элексир подойдёт на 1000% — ты обосрёшься.
Всё так.
Аноним 10/02/22 Чтв 22:23:09 2293210 225
>>2293148
>Проблема вся в том что остальные сервисы (матчмейкеры, социалка, магазины) тоже требуют относительной быстроты, плюс на игровые сервера нужно крупные куски данных лить часто, быстро.
Это все можно писать на любом веб-фреймворке, потому что это по сути обычная веб апиха, и тут стандартные джанга с рельсами подойдут гораздо лучше эликсира хотя бы просто из-за популярности и простоты.
Аноним 10/02/22 Чтв 23:34:04 2293264 226
>>2293210
Джанга с рельсами, жиденько пукнув, умрут после первой же тысячи rps.
Аноним 11/02/22 Птн 00:01:17 2293288 227
>>2293264
Во-первых не умрут, во-вторых это прежде всего оптимизируется количеством серверов и лоад балансером, говорить как ты говоришь "у нас будет много запросов, поэтому оптимизируем на уровне языка сразу же и пишем на си, чтобы один инстанс вместо одной тысячи rps хенделил три" может только шизик. Высоконагруженные веб-сервера спокойно пишутся на чем угодно, там есть миллион способ оптимизации, которые не требуют переписывания всего проекта на другой язык.
Аноним 11/02/22 Птн 07:11:43 2293433 228
>>2293288
На плюсы логику переписывают чтобы не закупать серверные стойки вместо одного сервера. Иногда выгода в 20раз получается.
И вместо 1к rps он будет 11-18к брать, а не три.
Аноним 11/02/22 Птн 09:45:10 2293463 229
>>2293433

Что-то более-менее сложное, ещё и под хайлоад, на крестах пилить это адъ и пиздецъ. Ты утонешь потом в ловле багов и поддержке этой хуеты, если писать нормально по "C++ way". А если без крестовых маразмов, то проще сразу пиздон или руби взять или что там ещё высокоуровневое в живых осталось.
Аноним 11/02/22 Птн 09:47:35 2293465 230
>>2293433

> Иногда выгода в 20раз получается.

А на асме в 50. Но есть нюанс.
Аноним 11/02/22 Птн 10:29:33 2293495 231
>>2293465
Да нет там нюанса, в гейдеве плюсисты хоть и в основном посредственные — один из преобладающих видов хомо анальникуса.
Аноним 11/02/22 Птн 10:34:49 2293501 232
>>2293495

Ну гейдев понятно - на стабильность срать, хайлоада нет, главное чтобы относительно быстро шуршало и на так задротно писать как на чистом асме и winapi. На второй фейсбук или ютуб этот подход перенести малой кровью не получится.

Ну пора уж принять, что большинство проблем "плохих" языков решаются апгрейдом железа.
Аноним 11/02/22 Птн 10:40:53 2293507 233
>>2293463
Багов будет куча в любом случае, но не из-за языка. Если его не будет писать 2,5 ждуна, кек.

>то проще сразу пиздон или руби взять или что там ещё высокоуровневое в живых осталось.
Для всего, что не связано непосредственно с геймплеем (если не говорить про браузерки/пошаговые стратегии) так и делают.

>>2293501
>На второй фейсбук или ютуб этот подход перенести малой кровью не получится.
В фейсбуке и ютубе этих плюсов не то чтобы сильно меньше. Тут уже вопрос выгоды бизнеса.

>Ну пора уж принять, что большинство проблем "плохих" языков решаются апгрейдом железа.
Так никто и не спорит, речь шла про игори.
Аноним 11/02/22 Птн 12:48:10 2293642 234
>>2293463
Нормально всё, пилишь на императивщине и всё. Можно и на си писать отдельные либы логики.
Конечно часть логики на пистоне, жабе, шарпе и ноде пишут, если это не критично.

>>2293465
Пчел, ты не понимаешь уровень нагрузок.
С одной неудачной рекламной компании может 2кк игроков завалиться в раз. Или если новость об игроговне запостит кто. Всё это нужно моментально обработать и выдать без промедлений клиентам, по этому довольно много логики написано именно на плюсах.

>>2293501
> Ну гейдев понятно - на стабильность срать, хайлоада нет,
Ну вообще-то нет. Там и хайлоад есть и стабильность нужна. Стабильность через балансеры, да.
Аноним 11/02/22 Птн 12:56:22 2293656 235
>>2293642
Ты серьезно пытаешься сказать, что единственный способ написать хайлоад веб-приложение - это писать его на плюсах? И что на руби, питон, жсе хайлоада нет и всякие бейскампы просто падают при большой нагрузке, ведь они же не на си написаны? Ты ебанутый?
Аноним 11/02/22 Птн 13:03:28 2293664 236
>>2293656
Чел, что за шизофрению ты выдумал вообще? Этого же буквально нет в моём посте, ты придумал всё. Таблетки выпей.
Речь об отдельных либах логики на плюсах, а не о приложении.
Аноним 11/02/22 Птн 13:13:22 2293675 237
>>2293664
Каких отдельных либах, если в ветке обсуждения идет разговор о том, на чем писать сервер под хайлоад? И да, вставка низкоуровневого кода исключительно ради оптимизации - это пиздец редкость в вебе, а не некая распространенная практика, как ты подразумеваешь. Обычно с головой хватает оптимизации через переписывание обычного говнокода, никому не нужен еще и лишний говнокод на си.
Аноним 11/02/22 Птн 13:17:27 2293680 238
>>2293675

В вебе обычно кресты заканчиваются на веб-сервере и интерпретаторе VHLL-хуеты. Бизнес-логику на крестах для веба никто не пишет. Ну может что-то штучно-уникально-самойстийное для банков и тп, хотя у банков фетиш на джаву с 90ых ещё.
Аноним 11/02/22 Птн 13:29:55 2293688 239
>>2293675
Чел, сервер не обязательно означает стандартное веб приложение, которому надо сходить в базу и плюнуть ответ.

Тебе уже 10 сообщений подряд втирают, что речь не про написание сайта идёт и с тобой никто не спорит.

>>2293656
У «всяких бейзкампов» принципиально другая модель взаимодействия, нет необходимости в сколько нибудь риалтаймовом взаимодействии, да и просто экономика бьётся.

А вот у всякой фри ту плей мультиплеер залупы это всё не так от слова совсем.
Аноним 11/02/22 Птн 13:46:02 2293700 240
>>2293688
>Чел, сервер не обязательно означает стандартное веб приложение, которому надо сходить в базу и плюнуть ответ.
В контексте разговора - означает, веб-сервер для игрового магазина или лаунчера занимается именно стандартными для среднего сайта вещами, а не дохуя трейдинговым риалтаймом.
Аноним 11/02/22 Птн 14:08:59 2293729 241
>>2293675
>Каких отдельных либах, если в ветке обсуждения идет разговор о том, на чем писать сервер под хайлоад?
Что значит "на чем писать сервер"? Ты имеешь ввиду либу типо asio? Или что? Сервер пишется на нескольких языках, которые включают и системные либы, сокеты, либы матана, либы компрессии и многое другое. Почти все эти либы на плюсах написаны.
> И да, вставка низкоуровневого кода исключительно ради оптимизации - это пиздец редкость в вебе, а не некая распространенная практика
У тебя просто веб заканчивается сайтоговном всяким уровня тудушек, ты берешь обычные говнозапросы и никакую нагруженную логику не юзаешь. Потребуется какая-нибудь многомерная интерполяция - соснёшь. Лично мне она требуется два раза целых, лол

>>2293680
> Бизнес-логику на крестах для веба никто не пишет.
Смотря что есть бизнес-логика. Крайне нечёткое понятие.
Кажется в этом итт треде под бизнес-логикой понимают вообще всю серверную логику. Но в реальности это работает только на уровне говянного магазинчика и тудушек.
Аноним 11/02/22 Птн 14:23:38 2293740 242
>>2293729
>Сервер пишется на нескольких языках
Не пишется, ты подменяешь понятия. Тот факт, что у тебя под капотом руби дергает какую-то системную си-либу для того чтобы сложить хуй с залупой, не превращает твой написанный на руби проект в "написанный на нескольких языках".
Аноним 11/02/22 Птн 14:48:23 2293766 243
>>2293740
>Не пишется, ты подменяешь понятия.
Пишется. Ну по крайней мере в игроговне и высоконагруженной хуйне всякой. Вообще хз как там в сайтоёбстве на самом деле.
>Тот факт, что у тебя под капотом руби дергает какую-то системную си-либу для того чтобы сложить хуй с залупой, не превращает твой написанный на руби проект в "написанный на нескольких языках".
Т.е. либа в таком случае исключается из понятия "сервер", правильно? А если либа как CGI скрипт подключается, то как тогда? А если руби 49%, а CGI-скриптов на си 51%, то как тогда? А если конкретный запрос обслуживает только CGI скрипт на си, считается ли это сервером на си?
Аноним 11/02/22 Птн 15:08:08 2293780 244
>>2293766
>Т.е. либа в таком случае исключается из понятия "сервер", правильно?
Из понятия "написанный тобой сервер" исключается все, что ты не писал, в том числе биндинги в другие языки под капотом твоего языка, операционная система и прочее-прочее. Вопрос в чем?
Аноним 11/02/22 Птн 15:23:19 2293800 245
>>2293780
> Из понятия "написанный тобой сервер" исключается все, что ты не писал
Хорошо тогда, 30-40% года у меня на плюсах написано для сервера, особенно прокладки под бд, балансеры и несколько Qpid.
> Вопрос в чем?
Ты почему таблетки не выпил, хайлодаер на руби?
Аноним 11/02/22 Птн 16:00:03 2293856 246
>>2293800
>Хорошо тогда, 30-40% года у меня на плюсах написано для сервера
Поздравляю, только как это относится к твоему шизоидному заявлению о том, что без плюсов хайлоад невозможен?
Аноним 11/02/22 Птн 16:08:08 2293873 247
>>2082722 (OP)
А что лучше, вкатиться в эликсир и потом поработав выучить рельсы (я хочу только бек писать)

Или лучше в рельсы и потом в элик.

Мимо 3 года на ios сижу.
Аноним 11/02/22 Птн 16:15:47 2293881 248
>>2293873
Рельсы очевидно, эликсир это чисто игрушка что-то новое попробовать, работать ты на нем вряд ли будешь, тем более в качестве джуна.
Аноним 11/02/22 Птн 16:36:20 2293925 249
>>2293881
Но мне нравится элик и феникс, особенно то, что он компилируется и можно написать макрос с типами.
Аноним 11/02/22 Птн 16:36:56 2293928 250
>>2293856
У тебя реально шиза, ты видишь то чего нет.
Нормальный хайлоад в игроговне, и прочем таком, невозможен без плюсов. Просто потому что это действительно хайлоад и процессов очень дохуя может стартовать и очень тяжелых. Например шмотки из магазинов должны копироваться на игровой сервер с разным коэффициентами, вместе с огромными запросами из бд.
На всяких сайтиках-магазинах и прочей хуйне хайлод можно и без плюсов, потому что плевать на задержки.
Аноним 11/02/22 Птн 16:54:35 2293957 251
>>2293873
Сразу elixir. Если потом все равно собираешься в elixir, то руби только засрет тебе голову ООП-говновермишелью.
Аноним 11/02/22 Птн 16:59:36 2293963 252
>>2293957

> засрет тебе голову ООП-говновермишелью

Поехавший.

В руби наверное единственном ООП сделан идеально, ну или близко к идеальному. Любой токен, любой результат любой функции можно через "." прохуячить миллионом методов, к результату ещё что-то применить... Это безумно удобно и легко писать. Если уж руби в чём-то обвинять, то в том что он слишом балует хуманов комфортом.
Аноним 11/02/22 Птн 17:04:52 2293972 253
>>2293963
Согласен с ним.

Уже итак все языки засраны процедурным ООП. Один руби выживает. Ну и свифт.
Аноним 11/02/22 Птн 17:42:01 2294040 254
>>2293928
>Например шмотки из магазинов должны копироваться на игровой сервер с разным коэффициентами
Это ничем не отличается от стандартной задачи по синхронизации данных между разными серверами, которая в обычном вебе возникает и решается на каждом шагу.
Аноним 11/02/22 Птн 18:26:47 2294104 255
>>2294040
В таком хайлоаде она не решается сразу для 20к инстансов, которые стартанули одновременно или около того. И для каждого инстанса нужно перекинуть метра два чистых данных из бд, например, отработать по ним функциями, загнать в кэши и еще кучу хуйни сделать.
Ты просто не понимаешь какого уровня там хайлод работает и как он во времени распределён. Мало того что он нелинейный, так еще и ебанутый с ебанутыми массивами данных, тот же обоссаный матчмейкинг - просто пиздец без плюсов. В некоторых калпаниях берут отдельные стойки для матчмейкеров, неужели ты думаешь что там нет плюсов?
Еще раз, ты прав, всякие магазы пердолят на обычном вебговне и большее что-то там нинужно, хватает даже обычного рестапи. Но уже взаимодействие между бд, серверами и игровыми серверами приходится на плюсах пердолить.
Аноним 11/02/22 Птн 20:17:40 2294299 256
>>2294104
>В таком хайлоаде она не решается сразу для 20к инстансов
Какие нахуй 20к инстансов, по которым ты там собрался шмотку одного игрока раскидывать, шиз?
>В некоторых калпаниях берут отдельные стойки для матчмейкеров, неужели ты думаешь что там нет плюсов?
Не вижу как отдельная стойка для чего-то автоматом дает возможность сделать вывод, что это что-то можно писать только на плюсах, иначе пиздец.
Аноним 11/02/22 Птн 21:02:32 2294388 257
>>2294299
У тебя опять шизофрения протекает, придумал как какую-то шмотку куда-то перекидывает, лол. Таблеточки...
Аноним 11/02/22 Птн 21:37:15 2294448 258
>>2293963
Так я не о том, что в руби плохой ООП, а о том, что если собираешься вкатываться в ФП, то лучше сразу с этого и начать, не захламляя голову ООП хуйней, которая там не пригодится
Аноним 11/02/22 Птн 22:27:16 2294501 259
>>2292303
>Всё то же самое можно хоть на ноде сделат
Нельзя, очевидно. Вернее можно, можно хоть на пхп, если делать нехуй и сильно хочется говна навернуть.

>Или, может, эликсир работает тупо как распределённый орекстратор, который не обсирается и не падает?
Ну как бы Erlang/BEAM под хардкорный распределенный fault-tolerant с зиллионом соединений на каждом узле и создавался, изоляция, акторы, вмка со специальной моделью памяти, сделанная нормально вытесняющая многозадачность, авто-смп по ядрам изкоробки и все вот это. Elixir работает поверх Erlang/BEAMи соотвественно все это умеет.
Аноним 11/02/22 Птн 22:48:58 2294507 260
Подписался на срач про хуйлоад сервер для геймдева скоро для своего пета тоже буду пилить лет через пять

>>2294501
>сделанная нормально вытесняющая многозадачность
А чем условный pthreads ненормален?
Аноним 11/02/22 Птн 23:19:08 2294533 261
>>2294501
>Нельзя, очевидно.
Можно, просто это очень неприятно временами бывает.
> с зиллионом соединений на каждом узле и создавался, изоляция, акторы, вмка со специальной моделью памяти, сделанная нормально вытесняющая многозадачность, авто-смп по ядрам изкоробки и все вот это.
Давай проще. Вот у меня есть несколько групп серверов. Первая - бизнеслогика, магазины, сайты, тонны скриптов, несколько серверов. Вторая группа - кластер постгресса с ослом/ектедом. Третья - гейдев с сотнями геймсерверов на с++ и ноде.
Где тут ерланг будет? Можно ли сделать ерланг на ВСЕХ серверах сразу нахуй, чтобы без ослов и ектедов было, и соеденялся ерланг между серверами сам, поднимался сам, при нагрузке запускал кластеры сам, балансировал сам, да и геймсервера автоматически поднимались?
>Elixir работает поверх Erlang/BEAMи
Ну короче можно сразу на ерланге писать.

>>2294507
>Подписался на срач про хуйлоад сервер для геймдева
На самом деле вопрос серьезных технологий оказалось. Вспомнил почему решать это нужно под нагрузкой со своими серверами я обосрался на тестах
>лет через пять
Пили прямо сейчас.
Аноним 12/02/22 Суб 00:42:17 2294578 262
>>2294388
Шизофреник, я тебе отвечаю на твой же пример из прошлого твоего поста. В голове больше двух предложений удержать не можешь, а табелтки надо кому-то другому пить?
Аноним 12/02/22 Суб 09:34:54 2294647 263
>>2294578
Нет, шизоид, там такого не было. У тебя шизофрения и ты читать не можешь уже.
Аноним 12/02/22 Суб 13:38:25 2294820 264
>>2294533
> Пили прямо сейчас.
Окстись, отец, ещё клиент не готов.
Аноним 12/02/22 Суб 14:02:36 2294855 265
>>2294820
В смысле, блядь, не готов? Давай готовь нахуй.
Там в клиенте проблем больше на самом деле чем во всех серверных хуйнях вместе взятых.
Хотя если пердолить клиент на плюсах под десктоп и мобилки то нормально выйдет, но рынок браузерной АА-хуйни сам себя не освоит. а я ещё собираюсь свои клиенты с v8 и опенжл пилить, чтобы с браузера говнокод можно без модификаций в натив релизнуть
На чем делать-то будешь?
Аноним 12/02/22 Суб 15:55:41 2294969 266
>>2294855
> Хотя если пердолить клиент на плюсах
Чи шо, я ещё пока не ебанутый, клиент пишу на человеческом VHLL на каком - не скажу, деанон. Сервер на нём же, хотя вот поглядываю в сторону элика.
Аноним 12/02/22 Суб 16:04:31 2294974 267
>>2294969
VHLL

Мда. Много шума из ничего. Даже пошел погуглить что же это такое. Оказалось просто язык нейм. С таким же успехом можно в одну гребенку собрать то, что описывалось выше.
Аноним 12/02/22 Суб 16:22:41 2294991 268
>>2294969
Да какой тут деанон, всем похуй.

Еслишо я пишу на webgl, js и хтмл клиент сейчас (гуй пока что только, ололо) + задел на рендер через потоки в своём собственном "браузере" - обсерверы на хтмл вешаю и архитектуру хитровыебанную делаю, должно получиться впринципе.
Аноним 12/02/22 Суб 21:49:16 2295417 269
>>2294507
Тем, что треды - это shared state, а значит локи, гонки, отличие времени жизни треда от времени жизни данных гроб гроб кладбище пидор. Треды это большое зло, программировать на них что-то больше, чем на два потока - это лютая головная боль и байтоебство. В какой-то момент градус отчаянье сообщества дошел до такого уровня, что от них поголовно стали отказываться даже на лоулевеле если это было возможно в пользу однотредовых FSMов, из которых потом вышли все модные в нулевых движки на событиях типа ноды, торнадо, евентмашин и так далее. ФСМы конечно тоже хуйня, и не быстрые как треды, но все ещё не надежные, конкурентная многозадачность опять же, хуевая масштабируемость, но хотя бы shared state избежали, а это уже делает их лучше говнотредов, к тому же сраному интернет МагаЗину или говнобраузерке они не очень то нужны, а асинхронность все таки иметь хочется. В ФП были более удачные модели, тот же STM или фьючеры, но это все полумеры: STM - просто shared state сделанный правильно, то есть проблему не решает, а только сглаживает боли, E-стайл фьючеры идея годная, но fault-tolerance, особенно в распределённом среде, не обеспечивает и даже усложняет его достижение. Из более популярных альтернатив ещё были гринтреды, но до эрланговских процессов все равно не дотягивает, ну и опять же, полумеры без основательного решения проблемы. Из хорошей альтернативы есть разве что go-каналы, во-первых, CSP - достойная конкурентная модель (Хоар - гений, хули), во-вторых, даже запилили вытесняющую многозадачность (все равно более ограниченную, чем в BEAM). Жаль только язык получился какой-то goвнарский, ну и на практике быстро выясняется, что реализация всего этого какая-то поверхностная, во всяком случае для распределённой среды там нет ничего, то есть по дефолту подразумевается микросервисная архитектура и решение проблем взаимодействия сторонними инфраструктурных средствами, как обычно бывает, когда в инструментарии самой платформы для этого нет нихуя. То есть с таким же успехом можно было бы собрать узлы на питоне, соединив их с каким нибудь MQ для пабсаба, Redis Cluster и поставив вперед nginx как реверс прокси (особо упоротые нарки ещё и по ядрам это говно умудряются масштабировать, даже с каким то самописным супервайзингом) - то есть криво собрать наколенке то, что в эрланге ещё 20 лет назад сразу шло искоробки и бесплатно (кроме разве что распределённого in-memory хранилища, потому что мнезия для широких задач не канает).
Вот и получается, что альтернативы у BEAM в плане удобства для такой разработки и чтоб со встроенными средствами для отказоустойчивости по сей день нет, да и вообще приятно, когда в языке/платформе сразу есть все нужные примитивы для программирования систем, которые удобно моделируется через взаимодействия акторов и не нужно ебать себе мозги низкоуровневым говнищем. Причём поддержка платформы тут главное, я вот с другими актор-фреймворками работал, Акка и Аккадотнет и это пиздец, понимаю почему скалисты сьебывают на каты, а все потому что одно дело когда у тебя сразу есть специальная вмка и щедулер, а другое дело когда ты пытаешься акторы натянуть поверх всяких говнарских жвм тредпулов.

tl;dr: вместо того чтоб читать многобуков на форуме анонимных испердов, просто ставишь ерланг/еликсир и пробуешь все сам, за пару недель все поймёшь. Вспомнил классику:



С эрлангом намного проще, каждый кто написал 10 строк на Эрланге врубается сразу и пишет у себя в резюме Distributed Systems, High-Load Projects, Pi-calculus и Concurrency Master. После Эрланга становися сразу ясно почему Akka, Okku, Quazar, Kilim, Go, Итераты вместе с Клауд Хаскелем сосут прричмокивая. То где другим языкам нужно написать 100 кб кода для определения стратегии yied в скедюлер (memory/message threshold), в Эрланге делает одним условием


https://topbloger.livejournal.com/14771076.html

Жаль максим ебнулся мозгами и читать его теперь физически сложно, хотя это и тогда было на грани, но в этом и был шарм, а теперь это просто шиза, хотя иногда для получения живительного заряда шизокоетента открываю его tw

Аноним 12/02/22 Суб 22:12:57 2295441 270
>>2295417
>Тем, что треды - это shared state, а значит локи, гонки, отличие времени жизни треда от времени жизни данных гроб гроб кладбище пидор.
Но ведь это решается просто кастомным семафором, не?
Аноним 12/02/22 Суб 22:55:04 2295477 271
>>2295441
Да, бро, а ещё мьютексом, спинлком и критическими секциями. Ты же пынямаешь, что всё это дедовское байтоебское control-flow говноедство в более менее большой программе ни к чему хорошему не приводит. Одно дело когда ты там какой лоулевел пилишь в спартанских условиях, никаких удобств не предусмотрено и единственный вариант сделать задачу - это заплатить сотнями литров крови разорванных срак и зилионнами человеко-часов несчастных рабов байтоебышей вьебанных в отладку и тестирование. Ну типа лет 30-40 назад софт только так и разрабатывался, но сейчас так не принято, особенно если есть альтернативы. Раньше альтернатив не было, был выбор сосать на быстрых тредах, или не сосать на медленном FSM, и как я уже сказал, большинство выбирало не сосать, то есть

A Computer is a state machine. Threads are for people who can't program state machines

(c) Alan Cox

было плюс-минус позиция большинства, уж сильно жопа от тредов болела, несмотря на всю смазку в виде мьютексом-семафоров.

Правда позже реальность стала вносить свои коррективы в виде появления многоядерный процов и распределённых систем, и сидеть на ФСМах осталось возможным только в интернет магазинах, и говнобраузерках. Правда некоторые упоротые и LDAP сервера на ноде пишут, если долго мучатся можно все что угодно на чем угодно наговнякать, вопрос времени, боли и главное - поддержки этого говна.
Аноним 13/02/22 Вск 01:00:48 2295564 272
>>2295477
> в более менее большой программе ни к чему хорошему не приводит.
Да, приходится раскидывать приоритеты всякие, неприятно. Но у меня приоритеты были конечные и их мало, так что терпимо.
> человеко-часов несчастных рабов байтоебышей вьебанных в отладку и тестирование
> Раньше альтернатив не было, был выбор сосать на быстрых тредах, или не сосать на медленном FSM, и как я уже сказал, большинство выбирало не сосать, то есть
У меня есть говняшка в стиле ECS и data-driven. Оно же просто работает, нормально работает, оче быстро, никаких проблем не вижу вообще, треды мутятся, ядра крутятся, могу в 240 герц укладываться на больших объемах. Теоретически можно fastcgi прикрутить, но я уже блюю от сложности. В прод не спускал, но должно нормально работать, можно сколько угодно ядер пускать на данные приходящие.
Как это вообще в ерланге-то работает? Неужели есть решение более производительное?
Аноним 13/02/22 Вск 03:32:56 2295614 273
>>2295417
> конкурентная многозадачность
Дыкить ивентовые движки - это кооперативная многозадачность же.
Аноним 04/03/22 Птн 13:09:47 2310626 274
>>2082722 (OP)
Функциональнй программист М. Сохацкий стал бандеровцем:

https://twitter.com/infinitystack

Что грозит этому гуру Эрланга и Хаскелля, когда наши танки въедут в Киев?
Аноним 04/03/22 Птн 19:34:22 2310861 275
>>2310626
Да при чем тут танки, ноль информации в твоих каментах.
Такое ощущение что ты перед кем-то выйобуешься.
Передо мной не нужно, для меня ты никто.
Аноним 05/03/22 Суб 21:45:53 2311557 276
Насколько реально без знаний и опыта ВАЕМ, ЯоЯ и самих ерлангов с эликсирами запилить блог? В ФП могу, правда не особо представляю, как вы там в динамике не убиваетесь
Аноним 06/03/22 Вск 19:07:05 2311982 277
>>2310626
Помянем. А вот был бы императивщиком - другое бы дело было!
Аноним 06/03/22 Вск 19:15:37 2311987 278
Аноним 07/03/22 Пнд 22:26:27 2312691 279
Похоже я начинаю на самом деле вкатываться, и языком моего вката встанет Elixir.
Аноним 08/03/22 Втр 01:19:48 2312755 280
Аноним 09/03/22 Срд 22:41:27 2313796 281
Что сейчас по работе джуниором elixir developer удалённо? Интересуют позиции от 200$/month
Аноним 09/03/22 Срд 23:26:19 2313813 282
>>2311987
И выглядит как залупа, написанная пидорами и неграми
Аноним 10/03/22 Чтв 01:54:04 2313865 283
Есть смысл вкатываться после 30ти?
Аноним 10/03/22 Чтв 11:53:10 2313982 284
Аноним 10/03/22 Чтв 15:50:54 2314135 285
>>2313982
Почему?
Язык же один из самых лёгких и с одним простым фреймворком, в который всё включено
Аноним 11/03/22 Птн 16:22:22 2314840 286
>>2314135
>Почему?
Так исторически сложилось.
Аноним 12/03/22 Суб 01:43:07 2315284 287
>>2314840
Здравствуйте!
Я - Elixir разработчик.
Это моя профессия.
Так сложилось исторически.

Когда-то я разработал Erlang.
Теперь это язык поддерживающий параллельные легковесные процессы и асинхронность.
Теперь на нём удобно разрабатывать распределённые системы.
Теперь на нём написан RabbitMQ.

Я разработал OTP.
Этот фреймворк я применил про разработке огромного разнообразия высоконадёжного телекоммуникационного оборудования.
OTP стала неотъемлемой частью экосистемы Erlang.

Я разработал BEAM и ERTS.
Вместе они позволяют коду на Erlang эффективно распараллеливаться и надёжно выполняться на разных узлах распределённой системы.

Я обогатил Erlang метапрограммированием и полиморфизмом создав новый язык Elixir, который можно применять везде!

Я создал Phoenix.
Фреймворк с отличной производительность и масштабированием объединяющей в себе всё необходимое для веб разработки.

Да, я - Elixir разработчик!
И я устал извиняться за это...
Я разработчик по праву рождения.
Я проектирую и имплементирую.
Бойтесь!
Аноним 12/03/22 Суб 12:30:14 2315365 288
>>2315284
Заебали эти эрлангисты, хорошо что я в рассылке не отвечал, а то хотел было! Фух свят свят свят. НАХУЙ НАХУЙ.
Вцелом так то мне эти ебанаты похуй, я ж не буду ползать на коленах чтоб на N2O писали, так в жопу их, пошли все нахуй кто на эрланге пишет.
Аноним 14/03/22 Пнд 13:33:06 2316557 289
>>2314135
Как бы обидно для многих пердолей это не звучало, но распространенность технологии решает хайп и возможность перетечь в них из других областей, достаточно на JS посмотреть.

>«Решение использовать готовый язык вместо изобретения своего никаким образом не зависело от меня. Установка, поступившая с самых верхов, звучала так: “Язык должен выглядеть как Java”. Это сразу отбросило Perl, Python и Tcl вместе со Scheme. Позже, в 1996 году, к нам зашёл Джон Оустерхаут, чтобы показать Tk и посокрушаться по поводу упущенной возможности для Tcl. Я не горжусь, но я счастлив, что я выбрал в качестве основных ингредиентов функции первого класса по подобию Scheme и прототипное программирование Self. Влияние Java, особенно баги с датами в 2000 году и чувствительность к регистру, стало досадным недоразумением.» — Brendan Eich's blog: Popularity

>Хотя создание синтаксиса, максимально близкого к Java, не было основной идеей JavaScript, рынок внёс свои коррективы. Возможно, для решения определённых задач больше подошёл бы другой синтаксис, однако благодаря использованию всем знакомого синтаксиса JavaScript с лёгкостью набрал популярность.
Аноним 15/03/22 Втр 08:26:54 2316985 290
Хочу например переписать на элексире мастодон
Какие подводные камни?
Аноним 15/03/22 Втр 16:37:59 2317172 291
>>2316985
Его уже написали (pleroma)
Аноним 16/03/22 Срд 17:47:58 2317768 292
>>2316557
Вот что случается, когда кабанчикам позволяют принимать технические решения.
Аноним 21/03/22 Пнд 01:04:24 2320348 293
>>2317768
И оно выстрелило, а так была бы никому не нужная хуетень с 2.5 шизами, которые спорят за всякие гомоиконности, но при этом промышленно не пишут на своем любимом языке. Программисты это в первую очередь обслуга бизнеса, все остальное только для борщехлебов и всяких академических кругов.
Аноним 21/03/22 Пнд 10:14:17 2320417 294
>>2320348
Ну ничё, скоро в богоспасаемой федерации опустится железный занавес, начнётся совочек 2.0 и за бизнес снова станут сажать, посмотрим, как вы тогда покукарекаете, бизнесмены ёбаные.
Аноним 21/03/22 Пнд 11:00:02 2320441 295
>>2320417
А всяких лиспов и эрлангов тоже не будет, только сишка и делфи, как диды
Аноним 21/03/22 Пнд 11:22:55 2320458 296
>>2320441
Что партия скажет, то и будет. Не твоего ума дело государевы вопросы решать.
22/03/22 Втр 17:03:50 2321339 297
>>2320417
Чет не в тему у тебя пораша протекла, шиз.
Аноним 04/04/22 Пнд 20:52:05 2329032 298
gigalixir в чём подвох? Обязательно оплачивать хотя бы минимальный стораге?
а флайио как сервис?
От всех жемов с аасами бошка пухнет

Нужен бесплатный слиплесс инстанс под пару скраперов с веб и бот интерфейсами
Аноним 21/04/22 Чтв 18:17:21 2341005 299
На Джуна без опыта разработки реально вообще в РФ устроиться? На эликсире пописываю чуть больше, чем полгода. OTP, phoenix, liveview, ecto
Аноним 21/04/22 Чтв 23:39:54 2341289 300
>>2341005
Скорее всего нет, учтя нынешние реалии
Аноним 22/04/22 Птн 04:25:11 2341349 301
>>2291558
Обязательно. Весь рантайм - эрланговский. Хочешь прогать - обязан знать, как работает эрланг vm.
Аноним 06/05/22 Птн 04:36:57 2351060 302
>>2082897
Иди отсюда, пидор грязный.
Аноним 07/05/22 Суб 01:22:54 2351694 303
ОП на связи

>>2292329
Не, mnesia хуйня, никому не советую. Есть большой опыт работы с оной, и от этой хуйни больше проблем чем профита. Например, проебываются все данные, когда заканчивается место. Или, mnesia не умеет по дефолту в master-slave.

>>2311987
Да, я тоже люблю раст и есть говно

>>2312691
Добро пожаловать

>>2291558
Сложно сказать. С одной стороны, нужно уметь в рантайм, особенности компиляции, и прочие штуки. Но это скорее про BEAM (на эту тему советую почитать The Beam Book). А вот знать эрланг как язык нахуй не нужно, потому что читай ниже

>>2315365
Соглы, пересел с эликсира на эрланг за ахуенной зп и теперь очень сожалею. Ебанутый язык, с ебанутым синтаксисом и ебанутым комьюнити протобумеров, которые ну просто не могут даже допустить что в их любимом эрланге есть хоть какой-то недостаток. Типа, эти люди на серьёзных щщах защищают ебаные чарлисты.

>>2341005
Шансов мало, но за спрос денег не берут, так что откликайся на всё что видишь и пизди в резюме. Мой совет: запили проект в опенсорс, чтобы были пруфы того что ты реально могёшь в эликсир

>>2351060
Окей, мой сладкий
Аноним 10/05/22 Втр 17:22:31 2353968 304
problems.png 107Кб, 1827x481
1827x481
Хотел установить Livebook через mix, постоянно залипает на предложении продолжить установку. Может какой-то hot key не знаю? Интернеты молчат.
> mix escript.install hex livebook
Аноним 13/05/22 Птн 18:26:25 2355897 305
>>2353968
Во-первых, в терминале делай reset и настрой правильно переменную TERM. Во-вторых, читай как правильно устанавливать https://livebook.dev/#install
Аноним 30/05/22 Пнд 20:35:34 2367430 306
Кстати, а есть кто-нибудь в Грузии из двощеров эликсирщиков?
Аноним 31/05/22 Втр 13:26:05 2367902 307
2022-05-07x14:2[...].jpg 66Кб, 911x714
911x714
image.png 1679Кб, 1920x1080
1920x1080
8Ft40o3ssTA-00-[...].png 2052Кб, 1920x1080
1920x1080
>>2082990
> ты реально в этой стране хочешь остаться?
а где сейчас лучше?

в еуроппе с гхазом по 2к грина за куб и маргинальными нигерами с арабами или индусами повсюду, во франции белое ебло хуй встретишь

или в муррике где ГАЗОЛИН подорожал до 4 баксов за их маня-меру-объема и они уже начали смешные наклеички клеить на заправки, а когда он поднялся до 7 баксов там уже хотят устроить импичмент и это небацо сверхдержава, чуть более чем полностью состоящая из дешовых понтов и пузырей

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

куда уезжать то епта?


>>2367430
> в Грузии
вообще все ебанулись от своей нищеты и манямира. в армении скоро опять что то будет. в турции после путча все скатывается в говно.
Аноним 31/05/22 Втр 17:42:43 2368114 308
>>2367902
Ты это к чему высрал, дорогой? Я просто спросил есть ли в Грузии кто из эликсирщиков, чтобы просто местный /soc/ устроить, пива попить да за эликсир попиздеть. Успокойся, дорогой
Аноним 31/05/22 Втр 17:51:38 2368122 309
z7uzYsRbukw-00-[...].png 1557Кб, 1920x1080
1920x1080
z7uzYsRbukw-00-[...].png 2120Кб, 1920x1080
1920x1080
z7uzYsRbukw-00-[...].png 1928Кб, 1920x1080
1920x1080
z7uzYsRbukw-00-[...].png 1892Кб, 1920x1080
1920x1080
>>2368114
> чтобы просто местный /soc/ устроить
> спроси
> в
> /soc
даун

хотя это будет кринж инфа 95%


а я просто взял с тебя гринтекст. айсикью 60 блядь...
Аноним 31/05/22 Втр 17:55:59 2368127 310
>>2368122
Нихуя себе ты злой. Что у тебя случилось? Как дела вообще?
Аноним 31/05/22 Втр 18:05:06 2368134 311
7b3d14c80836c0d[...].jpg 43Кб, 650x400
650x400
>>2368127
а ты с какой целью интересуешься ?
Аноним 31/05/22 Втр 18:09:35 2368138 312
>>2368134
Просто вдруг могу тебе помочь чем-нибудь, вдруг тебе надо просто выговориться. Ты не держи в себе, рассказывай, анон
Аноним 31/05/22 Втр 18:24:37 2368153 313
mRp5vePMeIk-00-[...].png 2323Кб, 2560x1440
2560x1440
>>2368138
помоги себе сам, тренируй стрессоустойчивость сука

а мне пиздежом на дваче не помоч.
Аноним 31/05/22 Втр 19:28:03 2368214 314
Ну чо, девочки. Хочу написать модель акторов на JS, чтобы в случае чего быть как эликсир, но в жс. И чтобы потом на си++ было проще переписывать.
Пока что есть несколько паттернов мультипоточной дрисни на ECS, кривые акторы без архитектуры и немного не менее кривых асинхронных функций. В идеале всё это должно работать вместе в одном фреймворке. Асинхронный, мультитредовый, ориентированный на данные фреймворк, который занимает примерно 150 строчек кода. Может ещё строчек 50 потрачу на всякие гарантии доставки сообщений, как-то читал что это очень и очень проблемно даже на одной машине случаются проблемсы.
Акторы будут запускать мультипоточные и мультитредовые системы, механизмы, отдельные функции, асинхронно и мультипоточно читать БД. Системы будут отсылать выпуки в акторы и общаться с серверами.

НУ И ЧТО СО МНОЙ НЕ ТАК?
Аноним 31/05/22 Втр 19:31:38 2368220 315
>>2368214
если тебе делать нехуя напиши лучше для сраных крестов препроцессор избавляющий язык от всратого визуального шума ;{
Аноним 31/05/22 Втр 19:37:35 2368232 316
>>2368220
Пиши на ситоне. Заодно от плюсов уйдёшь.
Аноним 31/05/22 Втр 20:24:45 2368265 317
Screenshot20211[...].png 443Кб, 3108x1165
3108x1165
Screenshot20211[...].png 2544Кб, 3440x1440
3440x1440
>>2368232
если бы у меня был выбор я бы наверное выбрал ним и голову не ебал


но количество каложоров стремится к бесконечности, как и мои страдания в случае нужды


я как могу отодвигаю этот момент, но соломки лучше подстелить заранее
Аноним 31/05/22 Втр 20:27:27 2368267 318
>>2368265
Бесмысленно. Ты вступил в секту ООП на плюсах, взяв в руки уеч. Либо ты волевым движением отказываешься от уеча и пилишь моё говно со мной (хотя я не умею в тиме работать, да и работать над такой сверхсложной хуйней в принципе), либо и дальше продолжаешь жрать уеч.
Аноним 31/05/22 Втр 20:36:11 2368274 319
>>2368267
я никуда не вступал, мне похуй на уебищное ооп

твою портянку не читал, если ты не можешь лаконично излагать мысли - твой интеллект низок.


про свой движок у меня даже целый тред в гд есть, и сделать его нихуя не сложно, все уже давно изобретено

и самый умный вариант это пиздить у топов (т.е эпиков) но их мета язык с макросами это пиздец я даже думать о нем не хочу

поэтому для этой паскудной параши надо написать нормальный препроцессор, надо сделать то что эта плешивая погань похожая на манька не смогла сделать - пок-пок линтер ниможит без говна;{ мы тупенькие тут все, ссорян(((;;;;{{


я решил зайти издалека, начать с морды и применить реюзабилити, т.е мой текущий проект это подводка к другому ( хайлоуд браузер (пиздорылые никчемные додики из гхугла не могут запилить браузер который бы держал тысячу табов на моей 32 ядерной воркстанции без лагов) а я знаю как это сделать изили)

ну а после него у меня останется куча стафа который ляжет в основу морды для игрового движка, ага.
Аноним 31/05/22 Втр 20:36:42 2368275 320
Screenshot20211[...].png 633Кб, 3023x1261
3023x1261
просто вот эта хуйня подбешивает
Аноним 31/05/22 Втр 20:40:08 2368279 321
>>2368274
>я никуда не вступал, мне похуй на уебищное ооп
Нет, вступил. Взял в руки уеч = будешь жрать ооп-кал на плюсах.
>твою портянку не читал, если ты не можешь лаконично излагать мысли - твой интеллект низок.
Так ты сам партянками пишешь, лол.
>про свой движок у меня даже целый тред в гд есть, и сделать его нихуя не сложно, все уже давно изобретено
Если бы так было, никто бы не делал что-то новое.
>и самый умный вариант это пиздить у топов (т.е эпиков)
Ебать ты калоед.
Аноним 31/05/22 Втр 21:03:54 2368291 322
Screenshot20211[...].png 3208Кб, 3440x1440
3440x1440
Screenshot20211[...].png 1826Кб, 1986x1280
1986x1280
Screenshot20211[...].png 640Кб, 3440x1440
3440x1440
Screenshot20211[...].png 1014Кб, 3440x1440
3440x1440
>>2368279
> Взял в руки уеч = будешь жрать ооп-кал на плюсах
ну пока что хватает лапши. есть один персонаж он клон майнкрафта на лапше захуярил, не вступит в кресты вообще ни разу!

пробрасывание даты между ивентами правда пиздецки отъебало голову, как и всякие крестодаунские заебы типа -24 %% 24, но это ничего страшного..

> партянками пишешь
я не описываю идею, а бугурчу

> Если бы так было, никто бы не делал что-то новое.
а никто и не делает, с 70ых кроме пары маняфантазий нихуя и не поменялось, где были там и есть, ну да чутка реще стало, по сути все тоже самое

а как уперлись в мура, так и начались манявры, - а давайте физончик на нейросетях посчитаем плиииз :?

инцелы из интела даже попытались нейроночку засунуть в свой кипятильник для радиатора, но вышла как обычно даунская хуита ( но от чсвешных додиков никто иного и не ожидал )

в общем все движется в сторону нейро-оптимизации и шорткатов, ебать в лоб больше не получится физически

поэтому либо будет матрица, либо все пойдут нахуй в каменный век и стагнацию в лучшем случае

> Ебать ты калоед.
попизди мне.. эпики в соло пушат весь геймдев и заодно фильм_дев, если б не они ты как и все остальные жрали говно

и в пятой части (уеп) уже такая йоба как вирчуал меш, вкупе с дин светом - это гейм ченжер
Аноним 31/05/22 Втр 22:00:15 2368303 323
>>2368291
Челище.. Либо ты нормально будешь делать всё - либо будет дрисня.
Алсо, твой "движок" должен быть на 100 строк кода или вроде того. Вместе с рендером. Хз чего ты там в лапшичные ооп-помои перекатился с своего движка. Не смог в шейдеры и постпроцессинг?
Аноним 31/05/22 Втр 22:11:21 2368304 324
Screenshot20180[...].png 1961Кб, 1920x1080
1920x1080
>>2368303
> Челище.. Либо ты будешь делать - либо нет
мне твой максимализм с перфекционизмом очень сильно не близок, понимаешь?

> своего движка
у меня нет, а только в планах, ты вообще следишь за нитью?

> движок" должен быть на 100 строк кода или вроде того
ну вот я тоже хуй знает откуда у этих даунов 30 гигов говнища (и почти сотка гигов при компайле), когда годот вешает три сотки мб
Аноним 31/05/22 Втр 23:23:00 2368319 325
>>2368304
>мне твой максимализм с перфекционизмом очень сильно не близок, понимаешь?
Да, понимаю. Некотоыре люди просто любят жрать дерьмо. Ты привык и продолжаешь это делать, оправдываясь на хуйне.
>у меня нет, а только в планах, ты вообще следишь за нитью?
Так тред был месяца джва назад. Ты чего, до сих пор двиг не высрал? Ебать ты.
>ну вот я тоже хуй знает откуда у этих даунов 30 гигов говнища (и почти сотка гигов при компайле), когда годот вешает три сотки мб
ООП-дрисня просто. Когда в коде вместо лайтовых эвентов ООП-кал, лапша и прочая хуйня - движок действительно будет весить миллиарды байт.
Говдот тоже дрисня ебаная с ооп-калом, кста, я хз нахуя это говно существует в 2к22. Например моё говнище весит 300~ строк кода и два мегабайта библиотек работы со звуком и i/o. и это я ещё не переписал под ecs некоторые части, только архетипы сделал
Аноним 31/05/22 Втр 23:48:10 2368327 326
>>2368214
Алсо, кажется я не прав в том, что модель акторов/агентов - слишком большая и объемная. Нужно меньше концепций, зачем нужна дополнительная косвенность, если она не нужна? Нужна ещё более простая реализация threadsafety-эвентов. Если конечно конечно получится такое найти и сделать, агенты-то гораздо проще в реализации и в понимании, как и весь ерланг.
Аноним 31/05/22 Втр 23:49:07 2368328 327
image.png 5633Кб, 2844x1600
2844x1600
>>2368319
> понимаю
тогда зачем тралишь тупостью?

> Так тред был месяца джва назад
07/02/22 а кажется будто полгода минимум

> до сих пор
сука долбоеб ты даже предыдущий мой пост не прочитал..

> нахуя
к упити ровно такой же вопрос, как и ко всякому унижену и прочему калу

> весит 300~ строк кода и два мегабайта библиотек
если там нет графона и инструментов разработки то даже не заикайся
Аноним 01/06/22 Срд 00:08:42 2368340 328
>>2368214
У тебя нихуя не получится, потому что акторы не делят стейт, а в JS есть дохуище способов разделить стейт. И к тому же, это нахуй не нужно впринципе, потому что компоненты условного реакта умеют обновляться асинхронно.

Просто так реализовывать акторы на JS нахуй не нужно, потому что Erlang это и есть акторы, только ахуенно эффективные и крутые и написанные на C. Так что умерь свой NIH и запили что-нибудь реально полезное или интересное

>>2368232
cython это не язык, я хуйня для прослойки питона в C. Нигде больше это не используется

>>2368265
Анон, мы говорим о других акторах. Мы говорим об акторах из акторов для многопоточных систем. Ты говоришь об акторах их геймдева. Это разные вещи.

---

Какой нахуй геймдев, вы в шапку треда посмотрите

Аноним 01/06/22 Срд 00:14:11 2368347 329
>>2368340
> Ты говоришь
чтобы аноны не занимались хуйней, а запили препроцесор для сраных крестов без говна и визуального шума

это будет хоть и трата времени, но общественно полезная


и я в душе не ибу о каких вы акторах ведете речь я вообще не читал а сразу отвечал
Аноним 01/06/22 Срд 00:18:57 2368353 330
>>2368347
Вон юзай m4, ахуенный препроцессор
Аноним 01/06/22 Срд 01:13:28 2368401 331
>>2368340
>У тебя нихуя не получится, потому что акторы не делят стейт, а в JS есть дохуище способов разделить стейт.
Достаточно просто не делить стейт, а если кто-то начнёт делить - поделить его жопу.
> И к тому же, это нахуй не нужно впринципе, потому что компоненты условного реакта умеют обновляться асинхронно.
Реакт нинужон. К тому же эта хуйня не только на жс будет работать, на ерланге (возможно) и с++ будет. По сути это аритектура и для сервера и для клиента, очень кросиво выходит, прямо хорошо, но нужна обвязочка тоже асинхронная и мультипоточная.
> Просто так реализовывать акторы на JS нахуй не нужно, потому что Erlang это и есть акторы, только ахуенно эффективные и крутые и написанные на C. Так что умерь свой NIH и запили что-нибудь реально полезное или интересное
Не одни акторы будут, в этом прикол-то. Каждый раз возвращаюсь к ерлангу и каждый раз возникает NIH, в основном по причинам производительности. Может попробую ECS на ерланге ебануть, но хз, очень хз. Вот теперь возникла идея перепилить вместо акторов простейшие эвенты и отказаться от ерланга навсегда ну или по крайней мере на большей части серверов, хуй конечно в бизнес-логике и платёжках откажешься
>акторы, только ахуенно эффективные и крутые и написанные на C
А нужно чтобы они скомпенлированные были. С статической типизацией, скомпенлированные, эффективные, с встроенными архитектурными паттернами ништяками для них. Ну не работает оно достаточно быстро. Не может оно онлайн без смс 10кк хуйни обработать на одном сервере. А моё поделие на си может, допиленное недавно.

>>2368340
>cython это не язык, я хуйня для прослойки питона в C. Нигде больше это не используется
Ну это как готовый препроцессор на си для дэбилов. И с ништяками. Можно тесты на питоне тут же писать.
Аноним 01/06/22 Срд 12:28:23 2368649 332
>>2368401
Я нихуя не понял, ты хочешь акторы на JavaScript или на C. План что ты сначала пишешь на JS, а потом на С это какая-то хуйня, потому что в первом рантайме оно не нужно, а во втором рантайме оно уже есть в нескольких видах.

Если хочешь посмотреть на конпелируемые акторы, то есть Ergo и Ponylang. А если ты выбираешь эрланг и упираешься в CPU, то ты обосрался, потому что эрланг это для IO bound задачек. На языках с ручным управлением памятью ты в многопоточности будешь сосать хуй, так исторически сложилось.
Аноним 01/06/22 Срд 13:18:38 2368676 333
>>2368649
>Я нихуя не понял, ты хочешь акторы на JavaScript или на C.
Они уже есть, на жс и на с++. Теперь переписываю под сигналы/евенты/легие акторы (ну я ебанулся немног, да).
>План что ты сначала пишешь на JS, а потом на С это какая-то хуйня, потому что в первом рантайме оно не нужно, а во втором рантайме оно уже есть в нескольких видах.
Суть в том чтобы иметь одинаковую архитектуру на клиенте и на сервере. Чтобы данные вообще не пришлось как-то преобразовыват. Просто отправил бинари, обработал, получил, обработал, отправил, получил~ Одинаковая обработка, одна и та же последовательность байтов в пакетах, сплошные профиты короче.
На JS акторы/евенты/сигналы нужны именно для того чобы была одинаковая архитектура, тут буксанул на месяц уже, нихуя не понятна, все остальные хуйни по мануалом вкурил за пару дней.
> Если хочешь посмотреть на конпелируемые акторы, то есть Ergo и Ponylang.
Первый на го, вроде норм, но платно. Нахуй нужно лол. Второй ооп, хз конечно, нужно посмотреть.
> А если ты выбираешь эрланг и упираешься в CPU, то ты обосрался, потому что эрланг это для IO bound задачек.
Так мне нужон и io и очень быстрый код. В этом проблема.
> На языках с ручным управлением памятью ты в многопоточности будешь сосать хуй, так исторически сложилось.
Вот тут вот я нашел вариант когда с многопоточностью не сосу хуй. Енто ecs и data-oriented. Всё в принципе хорошо работает. Но осталось совладать с акторами или их заменой. Очень туго идёт. Очень.
Аноним 01/06/22 Срд 14:23:12 2368744 334
В чём разница между Keyword.fetch!() и Keyword.get()?

Если им дать пустой список, то get() возвращает nil, а fetch!() :error, зачем нужна эта разница?
Аноним 01/06/22 Срд 14:25:55 2368746 335
>>2368744
Функции с bang (восклицательным знаком в названии) выбрасывают исключения в случае ошибки, что ведет за собой падение вызывающего процесса. Удобно при запуске приложений читать конфиги через fetch! - если какого-то важного конфига нет, то приложение не стартанет и ты об этом точно узнаешь
Аноним 01/06/22 Срд 15:00:14 2368776 336
>>2368744
Ну вот когда ты знаешь что ключ обязательно нужен и без него нельзя дальше работать, то делай fetch!()
Если он не обязательно нужен, или есть дефолтное значение, то get()

>>2368676
> Суть в том чтобы иметь одинаковую архитектуру на клиенте и на сервере
Это никому нахуй не нужно. Программы решают проблемы, а не занимаются унификацией архитектуры. Меняй риторику: если одинаковая архитектура где-то нужна, то она должна решать какую-то проблему. Вот об этом проблеме и расскажи ,но я уверен что ты нихуя не расскажешь, потому что изначально какой-то велосипед хуяришь

Я так и не понял, ты хочешь один язык на бэке и фронте? Если так, то вылезай из манямирка, такие технологии живут только на презентациях. Посмотри на cljs и scalajs и тех кто этим пользуется. Подумай ещё раз.

> Первый на го, вроде норм, но платно
Нет, не платно.

> Так мне нужон и io и очень быстрый код. В этом проблема.
Не, тебе в первую очередь нужно повзрослеть. У тебя не получится усидеть на двух стульях ни в каком рантайме. За всю историю программирования не было ни одной такой системы не потому что их разрабы тупые, а потому что это банально невозможно.

Посмотри на C++ и то, как там попытались запилить сразу все фичи. В итоге, люди получили ахуенно жирный язык, где фичи из разных сфер приводят к довольно стрёмным багам (например подебажь std::shared_ptr и boost::asio). В итоге, в C++ это вылилось в то, что на языке выбирают какой-то сабсет фичей и работают с ним, что не особо похоже на "CPU и IO эффективный язык"

Кароче, на двух стульях не усидеть, просто повзрослей.

> Енто ecs и data-oriented
> осталось совладать с акторами или их заменой

Ты какую проблему изначально решаешь, дорогой? Ты просто вкатился в тред по Elixir, начал пиздеть про Javascript, а потом просто начал срать баззвордами и уверять меня и всех окружающих в том, что ты сможешь решить все-все-все проблемы разработки какой-то своей хуйнёй.

Кароче, давай начнём с простого: какую проблему ты изначально решаешь и где ссылочка на репу с этим проектом?

Аноним 01/06/22 Срд 15:35:12 2368814 337
>>2368776
>Меняй риторику: если одинаковая архитектура где-то нужна, то она должна решать какую-то проблему. Вот об этом проблеме и расскажи ,но я уверен что ты нихуя не расскажешь, потому что изначально какой-то велосипед хуяришь
Всё просто - приложение должно оффлайн работать, при отключении сети. И оно должно на говянном оборудовании работать. И оно должно работать на говянном оборудовании очень быстро.
>Я так и не понял, ты хочешь один язык на бэке и фронте? Если так, то вылезай из манямирка, такие технологии живут только на презентациях.
Одинаковую архитектуру. На бэке у меня эликсир уже заведён для банковской хуйни и частей бизнес-логики, там всё в порядке, это отдельные апи.
Но для всего остального, ради уменьшение трансформации данных, нужна полностью одинаковая архитектура.
> Посмотри на cljs и scalajs и тех кто этим пользуется. Подумай ещё раз.
Этож параша оопешная, не понимаю ничего из этой хуиты.
> Нет, не платно.
Хз, там какие-то тарифные планы, закрыл сразу как увидел.
> а потому что это банально невозможно.
Ты что-то явно не то представил себе.
> Ты какую проблему изначально решаешь, дорогой? Ты просто вкатился в тред по Elixir, начал пиздеть про Javascript, а потом просто начал срать баззвордами и уверять меня и всех окружающих в том, что ты сможешь решить все-все-все проблемы разработки какой-то своей хуйнёй.
> Кароче, давай начнём с простого: какую проблему ты изначально решаешь
Смотри значит, проблема токова. Нужно одинаковое преобразование данных на клиенте и на сервере. Минимальная модификация данных, для уменьшение сетевых издержек. Максимальная производительность для сервера и клиента. Простые взаимодействия между кластерами. Простые взаимодействия между клиентами (способность нормально работать в локальных сетях). Синхронизация клиента и сервера в произвольные промежутки времени.
Проблем-то особо и нет на самом деле, сейчас протестировал джва варианта эвентов на кластере, пока что работает, но блокировки есть. С БД пока никак не взаимодействовал.
>и где ссылочка на репу с этим проектом?
Вероятнее всего нигде не будет, если лицензия не изменится, ибо нда уже работает
Аноним 01/06/22 Срд 15:58:10 2368833 338
>>2368814
> Нужно одинаковое преобразование данных на клиенте и на сервере
Это не проблема, это ты себе какую-то хуйню придумал. Проблема звучит так "у моего веб приложения высокий латенси". То что ты придумал, оторвано от реальности и вообще нихуя не похоже не правду. Ты сам какого-то хуя решил что у веб приложений узкое место это энкодинг и декодинг данных. Ну поздравляю тебя, во-первых, это нихуя не узкое место и кушает очень мало вычислительной мощности, а во-вторых, есть дохуище форматов для быстрого кодирования, а в-третьих, в браузере может крутиться только Javascript и WASM. В случае с JS, если ты напишешь Elixir на JS, ты получишь просто ещё более жирный рантайм и об оптимизациях энкодинга просто забудь. В случае с WASM, ты получишь эликсир в браузере, который кастрирован и нихуя не работает с UI, да и работает вообще на полутора платформах

Кароче, мой вердикт в том, что ты просто шиз какой-то и несёшь хуйню от реальности оторванную. Могу тебе посоветовать почаще выходить из дома и общатсья с живыми людьми, а то ты уже в каком-то вымышленном мире живёшь и пытаешься сделать JavaScript быстрее, написав на нём Elixir

А если честно, мне тебя тупо жаль, дорогой, ты уже безвозвратно потерян в шизе какой-то
Аноним 01/06/22 Срд 16:18:59 2368850 339
>>2368833
Ебать ты нафантазировал, лол. У меня данные под 280 герц могут обновляться, например, ты правда думаешь что в 280 герц любые манипуляции с данными нихуя не занимают время? и это бизнес-логика которую минимум в трёх приложениях не получится кастрировать
В реальности существуют не только вот эти вот твои сайты и прочая веб-хуйня, которую на эликсире ты пишешь, тут всё очень сложно.
Аноним 01/06/22 Срд 17:22:19 2368910 340
Аноним 01/06/22 Срд 18:59:09 2368976 341
>>2368850
Какие блять герц? Ты же только что хотел Elixir написать на Javascript. Ты реально уже какую-то хуйню несёшь просто. У нас тут тред про эликсир, ты ещё ни разу нихуя по топику не написал, а сейчас ещё про какие-то 280 герц вспомнил. Ты реально больной чтоли?

280 герц это 280 раз в секунду, даже убитый микропроцессор из 2000 года может в 10^7 операций в секунду. Ты что там такое делаешь, ебанутый, что у тебя 280 раз в секунду посчитать не удаётся, и какого хуя ты делаешь это на эликсире? И причём тут javascript, долбоёб? И причём тут оффлайн? И причём тут акторы? Ты же бессвязную хуйню просто срёшь, долбоёб
Аноним 01/06/22 Срд 20:10:45 2369017 342
>>2368976
Ладно, открою вебмакаке иной мир, так и быть, не рвись ты только. Смотри какая задача красивая, у тебя никогда такой не будет.

С клиентов приходят данные с частотой 70-350 герц. Может потом больше будет, задача для 800 герц уже будет не моя.
Эти данные нужно симулировать и обрабатывать: на устройстве клиента; на местном локальном сервере; в кластере с интернетов.
Симуляция на оче хуевом клиенте выполняется один такт за 700-900мс, иногда вообще до нескольких секунд, такие клиенты проводят симуляции в отложенным режиме, если нет связи с интернетами. Чем круче клиент - тем больше симуляций на нём. Симуляция на локальном сервере должны выполняются на частоте 70-90 герц минимум. В облаке или каком-нибудь особо мощном интернет-сервере до 300 герц, в кластере должно на максималке работать. Так же можно выставлять точность симуляций, чтобы получать приблизительные результаты даже на тонких клиентах достаточно быстро.
Всё это должно работать максимально быстро, иметь связь между серверами и клиентами, так же локальные сети между клиентами, так же должно минимально проебывать данные, часть данных визуализировать, каждое устройств и каждый кластер иметь acid по результатам симуляций, конечная согласованность для данных, все эти мутные фишки по бд.
А ерлан я воткнул на кластер из трёх серверов, оно обрабатывает прост хуйню вроде оплаты.

Можешь начинать завидовать.
Аноним 01/06/22 Срд 20:41:13 2369045 343
>>2369017
Малаца, а хули ты в этом треде забыл-то?
Во-первых, что такое эта симуляция? Просто абстрактный код/алгоритм или какой-то бинарь, который нужно запустить или что вообще?
Во-вторых, почему у вас "симуляции" исполняются на клиентах? Майнинг на телефонах юзеров пиратских кинотеатров себя не оправдал уже давным давно.
В-третьих, причём тут вообще связность клиентов между друг другом и всё такое?
А самое главное, ты что в этом треде-то забыл, чудовище?
Аноним 01/06/22 Срд 20:55:01 2369060 344
>>2369045
>Малаца, а хули ты в этом треде забыл-то?
Единственный тред в котором многопоточность, многопроцессорность и кластеры работают нормально, очевидно же.
>Просто абстрактный код/алгоритм или какой-то бинарь, который нужно запустить или что вообще?
Алгоритм с математикой, который можно компенлировать и переписывать под любой клиент.
>Во-вторых, почему у вас "симуляции" исполняются на клиентах? Майнинг на телефонах юзеров пиратских кинотеатров себя не оправдал уже давным давно.
Потому что клиентам нужно знать здесь и сейчас результаты. Даже с низкой точностью.
>В-третьих, причём тут вообще связность клиентов между друг другом и всё такое?
Чтобы сделать кластер из клиентов.
>А самое главное, ты что в этом треде-то забыл, чудовище?
Свободное общение, где хочу там и сру, очевидно же. Лучше бы не рвался, а подсказал как сделать как в эликсире, только быстро.
Аноним 01/06/22 Срд 20:57:23 2369063 345
>>2369060
> Чтобы сделать кластер из клиентов.
Связанные машины это по определению кластер. Я спросил, нахуя кластер вообще нужен? Нахуя всем симулировать вместе?
Аноним 01/06/22 Срд 21:06:32 2369068 346
>>2369060
Если что, в твоей задаче эликсир нахуй не нужен. Elixir/Erlang это типа отдельная экосистема, и это нельзя сделать на других платформах.

Например, если тебе нужно что-то считать на клиентах и как-то это координировать, всё будет зависеть от того какая конкретно координация нужна. Типа, что из CAP и насколько вообще нужно уметь считать что-то отдельно. Судя по тому что ты сказал, тут нужен какой-то Gossip с Last Write Wins (если нужно high avability) или алгоритмы типа Cademilia или Chord, чтобы уметь в мэш кластере от любой ноды находить любую ноду. Для этого акторы не нужны
Аноним 01/06/22 Срд 21:09:09 2369071 347
>>2369060
И если у тебя вычисления занимают 700-900мс, то энкодинг данных в JSON/Msgpack или даже protobuf будет занимать нихуя. Даже на самых слабых клиентах браузер декодирует JSON с помощью SimdJson или типа того, поэтому это будет тупо экономия на спичках. Лучше подумай как сделать эту "симуляцию" быстрее и как сделать поиск пути в кластере более эффективным
Аноним 01/06/22 Срд 22:32:16 2369119 348
>>2369063
Потому что одна машина не может симулировать, очевидно же. Если нужны срочные оффлайн вычисления - машины в локальной сети должны просто взять и вычислить с максимально возможной мощностью часть данных.

>>2369068
> Если что, в твоей задаче эликсир нахуй не нужен. Elixir/Erlang это типа отдельная экосистема, и это нельзя сделать на других платформах.
Прототипы на эликсире работают и на плюсах.
> Gossip с Last Write Wins (если нужно high avability)
Сейчас согласованность пока что особо не нужна. Сейчас все вычисления работают на ecs, вернее через сверхнаивную реализацию ecs, и распределяются тоже среди таких же систем на других машинах. Каждый клиент в кластере решает либо часть массива данных, либо один из массивов данных, в зависимости от мощности. Итоги симуляции отправляются к клиенту который инициировал симуляцию, именно на этом моменте будет различные CRDT, сейчас просто конечная согласованность. Хз как работать это должно на самом деле, подумаю ещё.
Но спасибо, записал варианты.
> или алгоритмы типа Cademilia или Chord
Камелию использую, чрод, ну это просто выбор ноды, это уже на уровне сети, похуй, но тоже записал, нужно подумат над этим.
>Для этого акторы не нужны
Нуу, эээ, наверное?
Акторы, как и ерланг в целом, решают проблему во-первых тредов, во-вторых просто проблему общения между любыми частями кода на любом клиенте. По сути это самая большая проблема от которой жопа болит. Даже согласованность кажется легкой задачей хуле я её не писал ещё

>>2369071
Не-не, это когда тухлые клиенты сами пытаются в вычилсения.
Обычно они просто должны слать на интернет-кластер/локальные-машины. И в такой ситуации данные стрим-потоком в дохуя герц идут.
Аноним 01/06/22 Срд 22:35:27 2369121 349
>>2369017
>С клиентов приходят данные с частотой 70-350 герц

Смеюсь. Про термин RPS слышал когд-нибудь? Очень шизово слышать ГЕРЦ в таком контексте
Аноним 01/06/22 Срд 22:53:35 2369128 350
>>2369119
Что за ECS? Это ты про Amazon ECS или вообще о чём?
Аноним 01/06/22 Срд 23:00:34 2369130 351
>>2369121
Ты просто ньюфажина, тикрейт, например, тоже измеряете в герцах.

>>2369128
Это https://en.wikipedia.org/wiki/Entity_component_system
Изначально всё это говно было игрой, надеюсь позже тоже будет игрой, когда нда спадёт осенью выкачу в паблик атвичаю
Когда своими маняфантазиями делился с челиком он сказал что есть заказ как раз именно под эту архитектуру, прямо один в один.
Аноним 01/06/22 Срд 23:05:58 2369133 352
>>2369130
Понял, тот самый гейдевелопмент в кластере и на JavaScript на клиентах, где один шаг вычисляется за 700мс. Я так и думал, это же очевидно
Аноним 01/06/22 Срд 23:13:51 2369142 353
>>2369133
Не ну раньше там просто было ecs на сервере и на клиенте, ничего серьезного, эликсир и плюсы были просто как отдельные гей-сервера. А потом оказалось что это может сработать и для некоторых показателей в лабахназаводах. Гей-девелопент полезен, я же говорил, говорил!
В целом ничего не изменилось, просто немного дополнительных условий, ящитаю хуйня, выебут не сильно если ошибусь 8 лет тюрьмы наверн по минималке
Аноним 05/06/22 Вск 15:11:03 2372064 354
Ну че, двощ, кто-нибудь тут вкатился после этого треда? Пилите прохладные
Аноним 08/06/22 Срд 07:36:31 2374544 355
Чёт Programming Elixir 1.6 устарела судя по тому что они используют Mix.Config, который deprecated. Где или в какой из книг почитать свежую инфу про настройку приложений? На elixirschool.com ничего толком не написано.
Аноним 08/06/22 Срд 11:40:44 2374641 356
Аноним 08/06/22 Срд 19:08:48 2375079 357
>>2368776
>Посмотри на cljs и scalajs и тех кто этим пользуется
>>2368814
>Этож параша оопешная, не понимаю ничего из этой хуиты.
Так, вот щас обидно было.
мимо кложурист-функциональщик
Аноним 09/06/22 Чтв 20:06:40 2375922 358
Ну что вы там, потомки, dependency injection придумали как делать, не передавая имя модуля в каждую функцию? Даже моки на вашем недоязыке сделать нормально нельзя.
Хосе что-там пизданул про dependecy injection через глобальный конфиг, как же я проиграл, вы че ебанутые?
Аноним 10/06/22 Птн 19:10:15 2376664 359
>>2375922
А ты Mox и Proxmox так и не осилил?
Аноним 10/06/22 Птн 19:12:12 2376668 360
Аноним 16/06/22 Чтв 20:20:21 2381350 361
>>2376664
Сейчас бы мокать глобальный контекст и проебывать асинхронность тестов.
Аноним 18/06/22 Суб 20:52:09 2383131 362
>>2381350
Чево? Глобальный контекст? Что ты несёшь?

Показываю на пальцах, запоминай.
1. Мокать нужно взаимодействия с внешними системами. Если ты мокаешь что-то внутреннее, то ты занимаешься хуйнёй.
2. Взаимодействия практически всегда stateful. Поэтому, ты имеешь какие-то процессы, которые со стейтом работают.
3. Ты создаёшь defprotocol и две имплементации к нему: тестовую и продовую. Например, если ты пишешь клиент к двочу, то в продовой у тебя структура типа %Dvach.HTTP{url: url, conn: conn, cookie: cookie}, а тестовая декларируется во время теста и выглядит просто как %Dvach.Test{}. Тестовую структуру можно делать ручками либо через Promox.
Сам протокол работает с этими структурами и выполняет какие-то действия с ними. Банальный протокол для двача будет иметь функции connect(), get_thread(), post_in_thread()
4. Генсервер из пункта 2 при инициализации получает аргументом (или как-то ещё) структуру, и работает с ней через протокол

Конец
Аноним 18/06/22 Суб 20:52:30 2383133 363
>>2381350
Чево? Глобальный контекст? Что ты несёшь?

Показываю на пальцах, запоминай.
1. Мокать нужно взаимодействия с внешними системами. Если ты мокаешь что-то внутреннее, то ты занимаешься хуйнёй.
2. Взаимодействия практически всегда stateful. Поэтому, ты имеешь какие-то процессы, которые со стейтом работают.
3. Ты создаёшь defprotocol и две имплементации к нему: тестовую и продовую. Например, если ты пишешь клиент к двочу, то в продовой у тебя структура типа %Dvach.HTTP{url: url, conn: conn, cookie: cookie}, а тестовая декларируется во время теста и выглядит просто как %Dvach.Test{}. Тестовую структуру можно делать ручками либо через Promox.
Сам протокол работает с этими структурами и выполняет какие-то действия с ними. Банальный протокол для двача будет иметь функции connect(), get_thread(), post_in_thread()
4. Генсервер из пункта 2 при инициализации получает аргументом (или как-то ещё) структуру, и работает с ней через протокол

Конец
Аноним 25/06/22 Суб 19:01:01 2388925 364
>>2383131
Ты не понял, проблема не в том как абстрагировать зависимость, а том как бы ее удобнее "передать" в модуль. И не всегда это можно сделать через стейт генсервера, может быть у тебя модуль в котором функция должна хитровыебанно получить данные из апи, никакого стейта только бизнес-логика, однако для теста нужно мокать обращение по http.
Аноним 26/06/22 Вск 00:06:45 2389124 365
>>2375922
Да при чем тут глобальный конфиг, ноль информации в твоих каментах.
Такое ощущение что ты перед кем-то выйобуешься.
Передо мной не нужно, для меня ты никто.

мимо-хосе
Аноним 26/06/22 Вск 20:07:08 2389838 366
>>2388925
Ну так дёрнуть что-то по API это типа функция

get_data(url, cookie, ...)

Гду url, cookie и вся хуйня берутся из конфига или другого хранилища для стейта (Я же надеюсь ты это не хардкодишь). Ты эту хуйню в итоге преврати в

defprotocol DataGetter do
def get(getter)
end

И сделай

defmodule HTTPGetter do
defstruct ~w[url cookie govno]a
end

А для тестов сделай

defmodule TestGetter do
defstruct []
defimpl DataGetter do
def get(_), do: :this_is_data
end
end

И вот у тебя красиво всё получилось
Аноним 27/06/22 Пнд 18:24:11 2390554 367
>>2389838
Ну и как ты этот HTTPGetter передавать собрался?
Аноним 29/06/22 Срд 23:32:32 2392529 368
>>2390554
Так же как ты бы передавал URL в пулл: через application env, просто через аргументы при запуске, при чтении конфигурации откуда-то там и т.д.
Аноним 03/07/22 Вск 17:32:58 2395245 369
15647733637470.gif 1751Кб, 400x300
400x300
>>2082722 (OP)
Какие распределнные системы, маня? У него же, как и у Erlang все очень хуево с прозводительностью на цпу задачах. Т.е. там норм только паралельный и маиссвный IO. Любые числодробильные операции, манипуляция со структурами данных - это полный пиздец. Собственно BEAM'ские языки это одни из самых медленных скриптух. Оно в телекоме живет только засчет того, что там довольно тупые программы по пересылке паектов сетевых. Как запахнет более комплексными задачами - пиши пропало.
Собственно просто глянись вокруг, всё на JVM или на Go в распределнном мире. От куберов и номадов до всяких Apache Flink, Spark и Kafka.
Аноним 03/07/22 Вск 20:43:51 2395466 370
>>2395245
> Какие распределнные системы, маня? У него же, как и у Erlang все очень хуево с прозводительностью на цпу задачах. Т.е. там норм только паралельный и маиссвный IO

В каком месте распределённые системы это CPU bound? Ты когда последний раз спал, дорогой?

> Собственно BEAM'ские языки это одни из самых медленных скриптух
Собственно BEAM-овские языки в среднем работают быстрее и эффективнее по памяти многих других динтипизированных языков. Особенно начиная с OTP24

> Собственно просто глянись вокруг, всё на JVM или на Go в распределнном мире. От куберов и номадов до всяких Apache Flink, Spark и Kafka.
Собственно просто глянись вокруг, от phoenix, couchdb, riak до всяких emqx, membrane и rabbitmq
Аноним 04/07/22 Пнд 11:37:25 2395861 371
>>2395466
> В каком месте распределённые системы это CPU bound? Ты когда последний раз спал, дорогой?

Они всегда ими были. Любая БД способная к кластеризации это распределенная система. Там хуева туча CPU bound: индексы, поиск, парсинг запросов итд. Не говоря уже об огромном количестве задач где во главе угла стоит распределенный процессинг: flink, spark, hazelcast jet итд.

>Собственно BEAM-овские языки в среднем работают быстрее и эффективнее по памяти многих других динтипизированных языков. Особенно начиная с OTP24
Только по памяти и только иногда. По CPU там такая пропасть, что делает их неюзабельными при малейшем намеке на CPU bound. Т.е. ими можно только IO кромсать и не более того.

>Собственно просто глянись вокруг, от phoenix, couchdb, riak до всяких emqx, membrane и rabbitmq
Собственно и всё. Couchdb и riak простейшая kv-хуйня, на фоне cassandra, prometheus, elastic и десятков других решений. Rabbitmq и emqx как раз случай про IO в вакуме, там почти нет CPU bound. Если бы это был более сложный мессенджинг типа Apache Pulsar, то BEAM бы не подошел.
Аноним 05/07/22 Втр 02:33:22 2396485 372
>>2395861
> БД это CPU bound

Ясно, дальше просто не стал читать
Аноним 05/07/22 Втр 03:19:33 2396492 373
Genevamechanism[...].gif 223Кб, 320x240
320x240
>>2395861
Erlang/Elixir разработчик с 6 годами стажа итт.

Очевидно, что в этих ваших CPU bound задачах OTP сосет за обе щеки по сравнению с той же Java, но никто и не позиционировал никогда erlang как универсальный ЯП, напротив, это изначально супер узкоспециализированная хуйня для перекладывания сообщений, с чем она охуеть как хорошо справляется. Хуй где еще есть такая простая работа с concurrency из коробки (напишешь пару простых GenServer'ов и будешь плеваться кровью, если тебе придется в том же Ruby что-то похожее организовать, будешь ебаться с сайдкиком и редисом), не говоря уже о том, что можно одним конфигом на ~10 строк кластер захуярить.

Ну и веб пердолить на всем этом очень хорошо, phoenix channels и live view это пиздец как круто, уверен, что подобное можно и на других технологиях сделать, но это будет геммор.
Аноним 05/07/22 Втр 03:23:14 2396493 374
>>2396492
Ну и смотря какой CPU bound конечно. С тем же Flow можно охуенно просто распараллелить вычисления так, чтобы все ядра были задействованны. Это делается буквально так же как обычная работа со списками, только в другой обертке.
Аноним 05/07/22 Втр 03:40:00 2396494 375
>>2396493
Flow, конечно, удобная штука и довольно элегантная штука, но
1. Всё равно не подходит для CPU bound, потому что у BEAM языков довольно жирный рантайм. И тут ускорение на N ядер не поможет, потому что у тебя любые операции тупо в 10-100 раз медленнее чем в компилируемых в натив языках.

2. Ирл практически бесполезная, потому что практически никогда такой тупенький пайплайн никого не устраивает. Я предпочитваю всё делать ручками через GenStage, ну или хотя бы Broadway. Тот же Flow я только в каких-то скриптах типа "залей большой CSV в базу", которые вызываются ручками раз в неделю, использовал.

мимо ОП
Аноним 05/07/22 Втр 12:05:32 2396718 376
>>2396492
>Хуй где еще есть такая простая работа с concurrency из коробки
Го же, охуенно простая работа с конкаренси, проще некуда какбе.
Аноним 05/07/22 Втр 13:24:00 2396811 377
>>2396492
Зачем брать Erlang/Elixir и ковыряться в несвежих библиотеках, которые пишутся рандомами на гитхабе, если моя задача, это обработать HTTP запрос и положить данные в какую-нибудь Kafka или Clickhouse?
Аноним 05/07/22 Втр 14:59:51 2396920 378
>>2396811
Ну для твоих примтивных задач, смысла никаокго нет. Обмазывайся каким-нибудь пистоном убогим. Эликсир это не для мещан типа тебя.
Аноним 05/07/22 Втр 15:18:04 2396935 379
>>2396920
Куда ты там сообщения передавать собрался, имбецил? Ты понимаешь, что нужно вэлью нести, а не монадки по углам дрочить? Сказано же тебе, что нужно обработать запрос и записать в очередь или базу. У тебя тут исключительно IO-bound задача.
Аноним 05/07/22 Втр 15:54:28 2396985 380
>>2396935
Макака, тихо. Тебе долбоебу только лопатой джейсоны перекидывать можно. Message-passing это вообще один из основных подходам в распределенных системах. Применений масса различные IoT, построение event mesh архитектур, маршрутизация данных в развесистых observability пайплайнах итд. лучше съеби не позорься.
Аноним 05/07/22 Втр 16:08:05 2397012 381
Аноним 05/07/22 Втр 21:17:18 2397260 382
>>2396811
> моя задача, это обработать HTTP запрос и положить данные в какую-нибудь Kafka или Clickhouse
Ты хуйню в вакууме придумал, дорогой. Задача на самом деле звучит скорее всего как-то типа "сделать бэк, который обновляется без остановки, и который скейлится в зависимости от хуйни", просто тебе как низшей макаке прилетела лишь маленькая часть этой большой задачи, в виде "написать тупейший апи".

И вот проблема непонимания эликсира как языка где-то тут и лежит: дефолтная макака не понимает, что в эликсире мыслят на порядок шире.

Когда каждый гоферный микросервис реализуется в виде одного-двух модулей, и когда межсервисное взаимодействие никак не отличается от межтредового, задачи типа "высри апи для хуйни" либо не стоят вообще, либо делаются за час.

И это не пиздёж двачера. Тот же whatsapp и написали всего лишь 9 человек. А запилить распределённый скрапер уровня гугловских роботов, который умеет в пайплайнинг, распределение проксей и всю хуйню можно меньше чем за 5 дней одному, параллельно почитвая доку

Аноним 06/07/22 Срд 05:32:52 2397464 383
>>2397260
>в эликсире мыслят на порядок шире
Ну да, например как найти работу и как объяснить престарелым родителям, что ты возвращаешься в свою комнату и тебе нужен борщ
Аноним 06/07/22 Срд 11:22:46 2397653 384
>>2082722 (OP)
Elixir делает Erlang полностью ненужным? Или таки есть нюансы и кое-где лучше все еще использовать эрланг?
Аноним 06/07/22 Срд 11:32:34 2397668 385
>>2397653
Удваиваю вопрос. И вообще нужно ли учить Erlang перед вкатыванием в Elixir?
Аноним 06/07/22 Срд 12:02:22 2397704 386
>>2397653
Не вижу ни одной причины начинать писать новый проект на Erlang, а не на Elixir. Разве что у вас есть команда из овер 9000 эрлангистов, которые на Elixir не писали никогда, но и то они за два дня разберутся.

>>2397668
>И вообще нужно ли учить Erlang перед вкатыванием в Elixir?
Нужно понять принципы из OTP, но понять их можно и через изучение Elixir. Вообще, выучив один из этих языков, ты автоматически знаешь уже и второй, останется только денек на синтаксис потратить.
Аноним 06/07/22 Срд 12:32:11 2397745 387
>>2397704
Спасибо. Смотрю сейчас на эликсир, выглядит очень няшно. Ешя ряд вопросов, если не против:

1. Можешь еще подсказать по распределнным структурам данных? Что в ходу в BEAM экосистеме? Например, распределнная между несколькими нодами мапа или сет. Сам я подобные вещи на JVM раньше делал, у нас это решается либами, либо всякими монструозными IMDG типа Ignite и Hazelcast, которые можно встравать сразу в приложение, и оно будет само кластеризоваться, выполнять всю херню в фоне типа выбора матеров, дискавери итд.

2. Например, как писали аноны выше, я столкнулся с проблемой недостаточного перфоманса на какой-то числодробильней хуйне. Можно ли делать как-то, так называемые, нативные модули? По аналогии с сишными в пистонах и рубях.
Аноним 06/07/22 Срд 13:36:37 2397814 388
Аноним 06/07/22 Срд 14:59:19 2397892 389
>>2397464
Возможно ты прав, но тогда я не понимаю как язык с самыми высокими зп может быть для борщехлёбов

>>2397653
Да, после Elixir знать Erlang нахуй не нужно. Ну, может для общего развития и поддержки легаси узнать его, конечно, стоит, но сейчас сам язык это просто тонны духоты, которую давно решили в Elixir. Возможно сейчас набегут деды защищать свой любимый Erlang, но это не больше чем просто фанатизм. Elixir это тупо better Erlang. Примерно как Kotlin и Java

>>2397745
1. Структур дохуя, но у них разные CAP-семантики, перформансы и т.д. А так, на эликсире есть всё: от простейших CRDT или CA key-value до распределённых AP/CA баз данных с автоматическим рекавери. Смотри на свой юзкейс.

Все дискавери и общения между нодами в Elixir стандартизированы через Erlang Distribution. А сервис-дискавери можно делать через няшный libcluster

2. Да, можно делать нативные модули. Выборов как это сделать дохуя. Самый удобный -- nif на расте. На расте, потому что либа для нифов очень удобная, да и у BEAM высокие требования к нативным модулям: никаких ошибок, прерывания спустя 1мс работы и т.д.

Если не хочется ебаться с нифами, всегда можно написать порт (aka Port). Это тупо отдельный системный тред, с которым ты общаешься через stdio


Аноним 06/07/22 Срд 15:17:22 2397913 390
>>2397892
>Примерно как Kotlin и Java

Воу, палехче. Коклен - это хайповая довольно неконсистетная хуйня и просто куча сахара. Которая взлетела по большей части только на мобилках из-за того, что у них даже нормальной жвм нет и какие-то каловые массы вместо человеческих рантаймов.
Аноним 18/07/22 Пнд 12:03:05 2408701 391
Анон, скинь какой-нибудь классный опенсорс на эликсире, чтобы от чтения скилл эликсира качался
Аноним 18/07/22 Пнд 16:12:41 2408941 392
Аноним 18/07/22 Пнд 16:18:22 2408957 393
Аноним 20/07/22 Срд 18:31:32 2410963 394
>>2408957
О, наконец-то нормальный аналог AP mnesia на эликсире, спасибо, анон
Аноним 22/07/22 Птн 18:13:56 2413207 395
Юзал кто-нибудь N2O?
Аноним 22/07/22 Птн 22:49:39 2413585 396
>>2413207
Не нужен когда есть Phoenix. А для простых HTTP API и обычный Plug сойдет.
Аноним 23/07/22 Суб 07:04:04 2413737 397
>>2413585
>Не нужен когда есть Phoenix.
Как будто феникс круче. Обычное мвц-говно размером 100500+ строк кода.
Аноним 23/07/22 Суб 12:28:23 2413928 398
>>2413737
Круче, не круче. Но для веба, читай "мвц-говна" отлично подходит и удобный, хоть и относительно (других проектов на эликсире, а не какого-нибудь монстра вроде RoR/Django) тяжелый. Хотя сам я стараюсь его не тащить и обходиться просто плагом, когда нужно обычную API сделать.
Аноним 23/07/22 Суб 23:35:42 2414361 399
Какие есть живые чатики в слаке/телеге/дискорде етц по эликсиру/фениксу, чтобы можно было задавать вопросы(естественно после собственных попыток и гугления)? Можно(нужно) на англюсике. Одному просто тяжко самому с собой социализироваться.
Аноним 24/07/22 Вск 00:23:47 2414381 400
Аноним 24/07/22 Вск 13:25:19 2414683 401
>>2414361
на сайте эликсира ссылки на слак/irc/дискорд. Все живые, особенно в слаке
Аноним 30/07/22 Суб 18:54:08 2420204 402
Аноним 02/08/22 Втр 16:44:19 2422769 403
>>2420204
Перепройди гайд по подключению репки.
Аноним 02/08/22 Втр 16:45:08 2422771 404
>>2420204
Перепройди гайд по подключению репки.
Аноним 02/08/22 Втр 21:42:50 2422964 405
>>2422769
Репа заблокирована провайдером.
Аноним 04/09/22 Вск 23:21:50 2455415 406
Бумп, пишите че там по вакансиям. Есть годнота?
Аноним 05/09/22 Пнд 00:41:29 2455459 407
>>2455415
На годноте сами работаем, ты уж извини.
Но вообще периодически появляются.
Аноним 05/09/22 Пнд 11:44:35 2455710 408
Уже хотел начать изучать вашу годноту, но тут увидел что у эликсира динамическая типизация, как в петухоне. И сразу отвращение такое появилось. Динамическая типизация в 2к22, серьёзно? Зачем?
Аноним 05/09/22 Пнд 12:45:48 2455746 409
>>2455710
Для bottom-up проектирования, не всё же вотерфоллы дрочить со статикодриснёй.
Аноним 05/09/22 Пнд 13:01:40 2455755 410
>>2455746
Так тогда питон лучше. Особенно когда речь идет о поиске персонала.
Аноним 05/09/22 Пнд 14:07:16 2455824 411
>>2455710
>у эликсира динамическая типизация, как в петухоне
что ты блядь несёшь
динамическая типизация, т.е. со сменой типов у переменных, может быть только там где есть переменные. в эликсире переменных нет, значит и динамической типизации нет
Аноним 05/09/22 Пнд 14:40:26 2455861 412
>>2455824
Ну предположим нам нужно описать функцию, которая принимает в себя некую структуру, и возвращает некое число. Как это сделать? Или эликсир будет в рантайме проверять что мы передали структуру, а не строку или булеан? Если это так, то как на нём пишут высоконагруженные системы, когда всё может упасть из-за того что в функцию передали не тот тип?
Аноним 05/09/22 Пнд 14:57:45 2455873 413
>>2455861
Тут подход как в ноде, ебошишь еще больше инстансов, просто в отличии от ноды, инфраструктура для параллельных систем встроена в язык.
мимо
Аноним 05/09/22 Пнд 15:58:13 2455942 414
image.png 98Кб, 1600x900
1600x900
>>2455873
А я то думал что нашёл язык мечты. Жаль.
Аноним 05/09/22 Пнд 16:05:05 2455946 415
image.png 5Кб, 548x192
548x192
>>2455861
>Если это так, то как на нём пишут
В эликсире тип описывается через кортеж
например
{:leaf, 1} - конечный элемент
или
{:tree, [{:leaf, 3}, {:leaf, 4}]} - структура

ты пишешь функцию:

def sum({:leaf, value}), do: value
def sum({:tree, list}), do: sum(list)
def sum([head]), do: sum(head)
def sum([head, tail]), do: sum(head) + sum(tail)
def sum([]), do: 0

потом херачишь
data = {:tree, [{:leaf, 3}, {:leaf, 4}]}
sum(data)
7

Работа со структурами происходит через паттерн-матчинг. В смысле тебе не придётся делать if is_array(data) и прочее говно. Там всё в тыщу раз красивее
Аноним 05/09/22 Пнд 16:08:33 2455948 416
image.png 4Кб, 564x164
564x164
Аноним 05/09/22 Пнд 16:14:51 2455950 417
>>2455861
>Работа со структурами происходит через паттерн-матчинг.
Это буквально то, что он описывал
>Или эликсир будет в рантайме проверять что мы передали структуру, а не строку или булеан?
Аноним 05/09/22 Пнд 16:17:32 2455952 418
>>2455950
для паттерн-матчинга применяется какая-то оптимизация. он быстрый, на этот счёт можно не ебать себе голову
Аноним 05/09/22 Пнд 16:50:04 2455978 419
>>2455952
Суть не в быстроте, а то что в функцию может прилететь что-то, что не было описано паттерном, и тогда всё приложение наебнётся. В статически-типизированных языках такая ошибка отлетела бы на этапе компиляции.
Аноним 05/09/22 Пнд 17:23:30 2456013 420
>>2455978
>что не было описано паттерном, и тогда всё приложение наебнётся
Тут надо понимать, что эрланг/эликсир юзают модель акторов и собственную ВМ, которые по сути являются микросервисами с оркестратором и обладают специфической философией которая вполне подходит для систем мягкого реального времени. Падать нормально, если ты сможешь встать.

>В Erlang есть концепция — let it crash. Смысл ее заключается в том, что программист не должен писать код пытаясь избежать все возможные проблемные кейсы — поскольку невозможно предусмотреть все. Erlang — позволяет упасть — но так чтобы падение было контролируемым — что делать после падения — перевести единицу кода к стабильному состоянию. Это достигается с помощью модели акторов.
Аноним 05/09/22 Пнд 17:31:53 2456024 421
>>2455978
код падает, идёшь и чинишь, перезапускаешь

для упрощения жизни есть спеки у функций и статический анализатор dialyzer

многие поначалу хотеть строгой типизации для эликсира, но в итоге приходить к мнению что она не сочетается с базовой концепцией эрланга. у нестрогой типизации есть свои плюсы - лёгкость прототипирования. на самом деле то что ты пишешь - вовсе не проблема в реальных проектах
Аноним 05/09/22 Пнд 17:53:08 2456055 422
>>2456024
> у нестрогой типизации есть свои плюсы - лёгкость прототипирования. на самом деле то что ты пишешь - вовсе не проблема в реальных проектах

А как рефакторить то что ты напрототипизировал? Я всю жизнь программировал на языках со строгой типизацией, я просто не понимаю как можно жить без типов.
Аноним 05/09/22 Пнд 18:08:38 2456075 423
>>2455755
Удачи хайлоад на петухоне писать.
Аноним 05/09/22 Пнд 18:09:29 2456076 424
>>2455824
>динамическая типизация, т.е. со сменой типов у переменных, может быть только там где есть переменные
В Clojure, получается, тоже динамической типизации нет? Переменных-то нема, только let-биндинги.
Аноним 05/09/22 Пнд 18:09:47 2456077 425
Аноним 05/09/22 Пнд 18:12:14 2456080 426
>>2456055
>Я всю жизнь программировал на языках со строгой типизацией, я просто не понимаю как можно жить без типов.
>без типов
Очередной дурачок, путающий оси типизации статическая/динамическая и сильная/слабая.
Аноним 05/09/22 Пнд 18:12:38 2456081 427
Аноним 05/09/22 Пнд 18:14:04 2456083 428
>>2456080
Дурачок, давай перефразирую для тебя. Я не понимаю как жить без проверки типов компилятором, а надеяться на рантайм
Аноним 05/09/22 Пнд 18:18:12 2456087 429
>>2456083
Gradual typing во все поля.
Аноним 05/09/22 Пнд 18:19:10 2456090 430
>>2456081
>c10k
Так это про переиспользование дескрипторов, в том же пистоне давно решается, да и скорее всего на вебморде nginx будет, зачем голому приложению в сетку смотреть?
Аноним 05/09/22 Пнд 18:30:30 2456106 431
>>2456076
>Переменных-то нема, только let-биндинги.
Почти как и в эликсире. В эликсире и кложе иммутабельность из коробки. А actor-model - в эликсире из коробки, а в кложе прикручивается отдельно.

Блин, котаны, вопрос про динамическую/статическую типизацию - на самом деле про динамическую диспетчеризацию. Это один из китов ООП (правильного, того, что actor-model).

Напомню китов:
- инкапсуляция (актор хранит свой стейт, и никакой другой актор не может на этот стейт повлиять напрямую)
- динамическая диспетчеризация (актор может отправить любому другому актору любое сообщение. переводя на привычный язык - в рантайме можно вызывать функцию/метод, не существовавшую на момент компиляции)
- позднее связывание (что делает с сообщением решает получатель - когда отвечать, что отвечать, отвечать ли вообще).

“OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things.”
~ Alan Kay


https://medium.com/javascript-scene/the-forgotten-history-of-oop-88d71b9b2d9f

Так вот. Вы выбираете одно из двух - либо настоящий messaging, либо строгую типизацию известную на этапе compile-time. В эрланге первое.
Аноним 05/09/22 Пнд 18:45:30 2456118 432
>>2456106
>Вы выбираете одно из двух - либо настоящий messaging, либо строгую типизацию известную на этапе compile-time.
Либо выбираешь Common Lisp с его CLOS, с одной стороны, и декларациями типов, с другой, и сидишь одной жопой сразу на двух стульях.
Аноним 05/09/22 Пнд 19:34:25 2456145 433
>>2456118
>сразу на двух стульях
на каких?
Аноним 06/09/22 Втр 01:00:16 2456387 434
>>2455861
>когда всё может упасть из-за того что в функцию передали не тот тип

Ох уж эти бедные люди, у которых вечно всё падает без строгой типизации. Почти все эти ваши интернеты на языках без строгой типизации крутятся-вертятся, а у вас всё падает бесконечно вечно.
Аноним 06/09/22 Втр 11:25:39 2456631 435
>>2456145
Ты тупой?
> Вы выбираете одно из двух - либо настоящий messaging, либо строгую типизацию известную на этапе compile-time
Аноним 06/09/22 Втр 11:56:32 2456651 436
>>2456631
>Ты тупой?
Нет, просто пытаюсь понять что ты накарябал.

А каким образом CLOS позволяет сочетать и true-мессаджинг и декларацию типов? И эта декларация типов позволяет ведь делать статический анализ? А то речь именно про это.
Аноним 06/09/22 Втр 12:25:37 2456680 437
>>2456651
CLOS - это и есть мессаджинг. Декларации типов - это ортогональная фича, она позволяет компилятору оптимизировать свой выхлоп, вставляя специфичные операции вместо вызова generic-функций. Окей, я покривил душой, декларации типов не делают CLOS быстрее, если только не использовать очень специфичные и хрупкие костыли вроде inlined-generic-function, но, по крайней мере, код, не использующий CLOS, декларации типов определённо ускоряют.

> И эта декларация типов позволяет ведь делать статический анализ?
Что ты подразумеваешь под "статическим анализом"?
Аноним 06/09/22 Втр 12:36:51 2456697 438
>>2456680
>Что ты подразумеваешь под "статическим анализом"?
Анализ кода без его запуска.
Дроч на статическую типизацию - он про это, что у тебя есть инструмент проверки корректности программы хотя бы по типам. Ну типа строку вместа числа не передашь как в петухоне.
Для того чтобы такой анализ был возможен - нужно чтобы тип значения в принципе был вычислим статически. Существует класс языков с сильной типизацией, сильная или типизация по Хинди-Милнеру означает как раз возможность вычисления типа в любой точке программы. За счёт этого можно гарантировать формальную корректность. Такие языки - это OCaml, Rust, Haskell, Scala, ну и ещё множество.
С другой стороны есть actor-model язык с ООП по Алану Кею, где есть messaging. Суть его в том, что любой актор может послать другому актору вообще любое сообщение в рантайме. Понятно что это не вычисляется статическим анализом. Есть иснтрументы для сужения множества допустимых значений в конкретных точках программы, например на выходе из функции, но в целом парадигма messaging противоречит статическому анализу.
Аноним 06/09/22 Втр 15:09:44 2456876 439
2022-09-06-1509[...].png 29Кб, 827x781
827x781
>>2456697
> Ну типа строку вместа числа не передашь как в петухоне.
Смотри пикрелейтед. Два два восемь, всякое разное курить не бросим.

> Анализ
По-прежнему не понимаю, что ты вкладываешь в это понятие. Кто анализирует-то? Человек? Компилятор? Рантайм?

> Существует класс языков с сильной типизацией
В CL сильная типизация, но не Хиндли-Милнер.

Ещё раз повторюсь, CL успешно смешивает две упомянутые тобой концепции за счёт их ортогональности. Ну и за счёт лингвистической абстракции можно изъебнуться и сделать messaging, но работающий на этапе компиляции, типа как в C++ - см. inlined-generic-function и fast-generic-functions.
Аноним 06/09/22 Втр 15:48:20 2456911 440
>>2456876
>По-прежнему не понимаю, что ты вкладываешь в это понятие. Кто анализирует-то? Человек? Компилятор? Рантайм?

https://www.erlang.org/doc/man/dialyzer.html

Настраиваешь анальную проверку диалайзером в CI/CD и он тебе анализирует код и не позволяет вмержить/задеплоить код, не прошедший проверки

Мимокрокодил
Аноним 06/09/22 Втр 17:18:42 2457006 441
>>2456911
А, понятно, отдельные костыли-костылики. Неясно, почему такое не встроить в компилятор.
Аноним 07/09/22 Срд 19:21:50 2457889 442
>>2456697
> сильная или типизация по Хинди-Милнеру
Ебать

> означает как раз возможность вычисления типа в любой точке программы
Ты

> messaging. Суть его в том, что любой актор может послать другому актору вообще любое сообщение в рантайме
Несёшь

> парадигма messaging противоречит статическому анализу
Хуйню

Во-первых, сильная и слабая типизация не означают являются ли они HM или нет, почитай википедию. Во-вторых, в Rust не HM. В-третьих, HM не означает что в любой точке можно вывести тип. Его вообще далеко не всегда можно вывести из-за проблемы остановки.
В-четвертых, акторная модель и посылка сообщений никак не противоречит статической типизации. Посмотри на Gleam или Scala Akka. В-пятых, статический анализ это просто анализ кода, это не только проверка типов

>>2456083
В Elixir есть проверка типов в компайле. Просто она не такая развитая как у каких-нибудь Rust или Haskell, но зато более развитая чем у C. Во-первых, есть встроенный тайпчекер. Во-вторых, есть Dialyzer или Gradualizer (второй скорее экспериментальный). Но сам язык всё равно динамически типизированный. Если хочешь прям именно статическую типизацию, которая будет ебать мозг, когда тайпчекер не сможет вывести тип, иди в Gleam.

>>2455861
> эликсир будет в рантайме проверять что мы передали структуру, а не строку или булеан?
Да, виртуалка будет проверять. Но это не потому что разрабы обосрались, а потому что Erlang (и, как следствие, Elixir) умеют иметь общий неймспейс в кластере. То есть, я могу собрать несколько инстансов программы, разделить их сетью, и уметь из одного инстанса работать с данными на другом. И поэтому тут может быть рассинхронизация версий софта, из-за чего могут быть разные данные. Поэтому тут обязательно нужна динтипизация с тэгированием данных, иначе инстансы с разными версиями программы не смогут общаться.

Ну, и ещё динтипизация нужна для Hot-Reloading, чтобы можно было обновлять код не останавливая систему.

> Если это так, то как на нём пишут высоконагруженные системы, когда всё может упасть из-за того что в функцию передали не тот тип?
Не слушай чуваков выше, которые говорят, что динтипизация ускоряет прототипирование и всё такое. Ни-ху-я. Весь Production grade код на эликсире обычно написан с аннотациями типов и всегда проверяется тайпчекером на наличие ошибок. Как я уже написал выше, в функцию может спокойной прилететь не тот тип не из-за ошибки разработчика, а из-за какой-нибудь проблемы в распределённой среде. Всё-такие Elixir (как и Erlang) это языки для распределённых систем
Аноним 07/09/22 Срд 19:38:23 2457895 443
>>2455824
Динамическая типизация про то, что типы проверяются в рантайме, а не при компиляции. То, что ты описал, это следствие того, что а. петухон -- императивный б. динтипизированный язык.
Я тоже охуел на третьем курсе вуза, когда узнал, что лисп это динтипизированный язык, но потом понял, что я все это время ошибался.
Аноним 01/10/22 Суб 14:04:29 2479159 444
Ну шо, двачик, кто куда съебался?
Аноним 18/10/22 Втр 13:37:57 2491128 445
Бамп. Кто с карамелью игрался? С эликом я так понимаю пока интеропа нет, только с эрлангом?
Аноним 19/10/22 Срд 19:19:03 2492007 446
gfhdui734.JPG 27Кб, 612x154
612x154
Шутки шутим, да?
Аноним 21/10/22 Птн 17:15:13 2494495 447
>>2494371
>тaк что поймy, ecли нaxyй пошлётe
Пошел нахуй!
Аноним 25/10/22 Втр 13:43:00 2497717 448
Пока ватсап лежит, расскажите про надёжность программ на эликсире.
Аноним 11/11/22 Птн 18:32:54 2511521 449
Сложно будет вкатиться, если я про фп почти ничего не знаю и не писал никогда (map, filter и reduce в пухтоне не считаются)? Вкатиться не в смысле 300к/нс, а так хотя бы на базовом уровне просто самостоятельно язык освоить и разобраться, как это пишется вообще при таком подходе, ну и накатать какой-нибудь простенький веб-пет? Так-то бек пишу уже 4 года на го и питоне, свитчил направление разработки, потом язык. Эликсир заинтересовал, потому что интересно посмотреть, что за фп такое, ну и акторы эрланга и хвалёная надёжность заинтересовали (я так понял, если эликсир изучать, то в целом и эрланг освоится параллельно).
Аноним 12/11/22 Суб 07:17:12 2511869 450
>>2511521
Не сложно, у нас тут не такой лютый фп как в хаскелях. По большому счету, нужно вкатиться в иммутабильность и, что чуть сложнее, в эти наши OTP и модели акторов. Но когда все эти дела осознаешь, то поймешь, что язык пиздос какой простой на самом деле. ООП вермишель в 10 раз сложнее распутывать.
Аноним 12/11/22 Суб 13:46:03 2512029 451
>>2511869
А что там такого в хаскеле сложнее по сравнению с эликсиром/эрлангом?
Акторы и обмен сообщениями, если я правильно понял, чем-то немного напоминает каналы в го и обмен между горутинами. Я почитал про философию языка, и мне понравились некоторые концепции, но пока вся эта байда с супервизорами не понятна, такое ощущение, что над самим приложением язык какую-то очень сложную надстройку создаёт для управления и мониторинга, в которую надо вникнуть, чтобы что-то запустить вообще.
Начну тогда наверно со ссылки в оп-посте, где только упражняться не понятно. На литкоде даже нет его, чтобы задачки порешать и к синтаксису привыкнуть.
Аноним 16/11/22 Срд 08:20:25 2514763 452
>>2512029
В хаскеле ты одной строчкой можешь написать то, на что в элике у тебя уйдет 10. Соответственно за подобную абстрактность нужно платить, прилагать больше усилий для понимания и написания кода, ну и распутывания, если не ты писал.
мимодиван
Аноним 16/11/22 Срд 08:21:53 2514765 453
>>2512029
Алсо, рекомендую почитать Elixir in Action.
Аноним 05/12/22 Пнд 12:50:17 2531329 454
send(__THIS_THREAD__, :bump)
Аноним 05/12/22 Пнд 15:49:57 2531610 455
>>2531329
бампай тёлками или тематическими видеоматериалами
Аноним 08/01/23 Вск 13:52:55 2566406 456
>>2082722 (OP)

А почему советуют эликсирскул, а не оф туториал?
Аноним 10/03/23 Птн 09:13:29 2635382 457
Установил плагин для идеи, а там нет автокомплита, только подсветка синтаксиса. На каждую пропущенную скобку трачу по пол часа. Как фиксить?
Аноним 10/03/23 Птн 15:16:21 2635773 458
>>2635382
>Как фиксить?
Переходим на нормальный язык.
Аноним 11/03/23 Суб 20:09:34 2637227 459
Аноним 11/03/23 Суб 22:45:36 2637380 460
56327658926579.png 49Кб, 939x123
939x123
Аноним 06/04/23 Чтв 21:55:53 2664601 461
Аноним 31/05/23 Срд 19:12:54 2717851 462
image.png 24Кб, 1653x80
1653x80
Фить-ха
Аноним 04/06/23 Вск 20:56:56 2721542 463
Erlang State of Mind
Erlang State of Mind
Erlang State of Mind
Erlang State of Mind
Аноним 04/06/23 Вск 21:48:01 2721585 464
image.png 20Кб, 906x315
906x315
Аноним 04/06/23 Вск 22:02:21 2721593 465
>>2721585
Там та же проблема что и с говяхой, происходит аллокация небольшого кусочка памяти для каждого потока, потому что ты наверняка будешь что-то там делать. В пустых задачах это бесполезно смотреть.
Аноним 05/06/23 Пнд 22:00:26 2722753 466
>>2514763
>В хаскеле ты одной строчкой можешь написать то, на что в элике у тебя уйдет 10.
Я не понимаю, как на это можно серьезно дрочить, имея больше половины функционирующего мозга. В Си любую программу можно написать в одну строку, но там это типа считается дурным тоном, а вот Хаскель это дааа, мы будем писать все в одну строчку, потому что у нас язык типа такой выразительный. Когда-нибудь до них дойдет, что если открыть код любой программы на любом языке, то он будет выглядеть как одна линейная последовательность символов.
Ну ладно, я юродствую слегка, конечно. В Хаскеле проще писать все одним выражением, чем в других языках. Но спрашивается, нахуя? Во-первых, еще под большим вопросом, что это более читаемый стиль, во-вторых, редактировать это точно заебнее. Потому что когда у тебя сложное выражение разбито на несколько строчек, то тебе в среднем асимптотически меньше шагов нужно сделать, чтобы добраться до нужного подвыражения. Просто задумайтесь, сколько шагов вам понадобится в среднем, чтобы из случайной клетки А попасть в случайную клетку Б если клетки организованы в список размера NxM и если они организованы в матрицу NxM. Подсказка: O(NxM) и O(N+M) соответственно. В-третьих, что самое главное, на отладке ты из-за своих однострочников пососешь хуй.
Вот написал я в функциональном языке программу, где есть инпут, который проходит через фильтр, мап и фолд. Где я могу обосраться? Я могу обосраться в: 1. лямбде фильтра 2. лямбде мапа 3. лямбде фолда 4. при передаче результата фильтра мапе 5. при передаче результата мапа фолду. Если я написал однострочник, все эти пять точек отказа вырождаются в одну, и понять причину ошибки можно только тупым перебором инпутов. Если же я дал биндинг/переменную под каждую лямбду и каждый промежуточный результат, причину ошибки выяснить на порядок проще, я сразу знаю, какие узлы графа вычисления дали некорректный результат.
Можно конечно по быстрому превратить однострочник в многострочник и отладить, а потом превратить его обратно в однострочник, но это цирк с конями, лучше уж тогда сразу писать отлаживаемый код.
Аноним 05/06/23 Пнд 22:50:04 2722789 467
А работа где на вашем язычке умненьком?
Аноним 06/06/23 Втр 00:19:24 2722829 468
Аноним 07/06/23 Срд 03:33:51 2724048 469
Помню лет 5 назад здесь какой-то анон собирал конфу в тг и учил эликсиру. Есть новости что было дальше?
Аноним 07/06/23 Срд 09:17:19 2724125 470
>>2722789
35 вакансий, тебе достаточно одной.
Аноним 10/06/23 Суб 14:47:56 2728298 471
>>2724048
Ничё не было, я пошерстил свои чаты — группа давно удалена, и в истории нихуя инетерсного там не было.
Аноним 13/06/23 Втр 09:16:26 2731028 472
Почитал тред и так и не понял, как акторная модель позволяет лучше обрабатывать ошибки чем обработчики внутри приложения + оркестратор, который бы их автоматически перезапускал в случае чего.
Аноним 18/06/23 Вск 18:14:45 2737486 473
elexir интересный но тормозной с числодробилками?(крипта фото видео обработка) файловый ио? все в golang убежали
Аноним 19/06/23 Пнд 00:48:09 2737819 474
Screenshot2023-[...].jpg 478Кб, 720x1600
720x1600
Почитал тред по диагонали и почему-то решил узнать как сейчас поживает автор n2o. Конечно же он окончательно поехал и написал нажористую книжку про боротьбу с москалями.
Аноним 19/06/23 Пнд 09:57:15 2737920 475
>>2737908
У айтишников? Мы же говорим про айтишников, а не про вась, у которых вообще в голове что угодно может быть
Аноним 19/06/23 Пнд 10:59:52 2737948 476
>>2737486
CPU-bound - работает плохо, хуже чем в питоне, IO-bound очень хорошо, лучше чем везде.
Аноним 20/06/23 Втр 08:47:30 2739030 477
>>2737908
Выкладывай, готов почитать.
Аноним 22/06/23 Чтв 12:55:11 2741326 478
Аноним 22/06/23 Чтв 21:58:57 2741986 479
Аноним 23/06/23 Птн 14:48:03 2742678 480
>>2724125
Нет, недостаточно, я хочу все вакансии
Аноним 05/07/23 Срд 15:02:45 2754643 481
Аноним 15/07/23 Суб 20:30:39 2767804 482
>>2731028
Я не ОП, но могу вставить свои 5 копеек.

- свои легкие процессы в user space - быстро запускаются, мало жрут
- распределенность из коробки
- акторная модель из коробки (если нужна, нужна не везде)
- supervisor
- горячее обновление кода
- возможность дебага работающего процесса, хорошая интроспекция

Всё это можно реализовать в других языках. Но так можно сказать и про многие фичи других языков. Но дело в том, где это достигается быстрее и проще
Аноним 16/07/23 Вск 09:29:23 2768283 483
>>2767804
>свои легкие процессы в user space - быстро запускаются, мало жрут
>распределенность из коробки
>акторная модель из коробки (если нужна, нужна не везде)
>supervisor
Все плюсы перечеркиваются когда нужно добавить немного CPU нагрузки. Поэтому BEAM подходит только для чистой IO нагрузки типа реббита или чатиков дискорда.
Аноним 18/07/23 Втр 08:55:37 2770863 484
>>2768283
Немного CPU нагрузки по определению не могут ничего перечеркнуть.

Кроме того можно вызывать сошки (https://www.programmersought.com/article/92537823822/), можно выделить CPU-bound tasks в отдельный microservice.
Аноним 18/07/23 Втр 17:23:42 2771790 485
>>2770863
>можно выделить CPU-bound tasks в отдельный microservice
И зачем нужен элексир если подразумевается, что все равно придется реализовывать микросервисную архитектуру и инфраструктуру от нее?
Аноним 19/07/23 Срд 02:21:05 2772367 486
Аноним 19/07/23 Срд 02:31:24 2772369 487
>>2737819
Он наркоман. В прямом смысле. На конференциях выступал под кайфом. Ну и все остальное в придачу. В общем, полный неадекват.
Аноним 19/07/23 Срд 02:35:27 2772371 488
>>2737908
>гейскими
Гомосексуализм не норма, а извращение. Сегодня ты называешь нормой гомосексуальный половой акт, а завтра скажешь, что половой акт с трупом тоже норма. Посмотри на себя со стороны. Ты отвратителен. Ты безумный.
Аноним 30/08/23 Срд 22:04:04 2823935 489
Аноним 31/08/23 Чтв 19:02:40 2825061 490
>>2082722 (OP)
пиар какого то очередного ненужного говна
Аноним 31/08/23 Чтв 22:45:17 2825284 491
>>2823935
Промо хуйня.
>Почему вы выбрали Эликсир?
>Потому что Эликсир это суперкрутой, супрепроизводительный язык.
>Как вам помог Эликсир?
>Он нам сэкономил $100,500.21 денег.
Ни технических подробностей, типа один инстанс раньше выдерживал 15 RPS, а теперь 15000.

Ну и в фразе:
>Rewrote an #AWS APIGateway & #lambda service that was costing us about $16000 / month in #elixir. Its running in 3 nodes that cost us about $150 / month.
ключевое
>Rewrote an #AWS APIGateway & #lambda
Только дебилы пишут хайлоад на AWS Lambda, AWS Lambda это развод гоев на шекели. Единственный случай когда AWS Lambda может быть оправдана - это 1,5 запроса в сутки, тогда да, это будет дешевле. Если бы они переписали все с нормальной архитектурой на любом современном языке, они сэкономили бы ± столько же шекелей.
Аноним 04/10/23 Срд 19:31:40 2866126 492
56379567923.mp4 397Кб, 334x162, 00:00:27
334x162
Аноним 14/10/23 Суб 01:05:59 2878261 493
установил вскодиум+плагин для эликсира
ввожу %, крашится сервер, не перезапускается, нужна перезагрузка редактора
прикольно сделали, приду ещё через года 2
Аноним 16/10/23 Пнд 23:58:39 2881785 494
>>2878261
Какой плагин? Там их два: заброшенный и рабочий, и ты походу выбрал не тот.
Аноним 28/10/23 Суб 18:22:31 2897931 495
Решил чекнуть вашу хуйню, думаю ну заебись, функциональное программирование, ебал в рот ООП и т.д. И что же я вижу? Мне подсовывают полиморфизм, который выглядит точно также, как и эти ебаные классы, интерфейсы и прочий кал(структуры, протоколы, бехейверы и т.д.), но типа под видом не_ООП, это же не объекты, наследование и прочее, нет-нет, ЭТО ДРУГОЕ. А в вашем языке даже синтаксис почти как в си-лайк параше всякой, сука аж флешбеки от этой хуйни.
Аноним 30/10/23 Пнд 10:40:03 2899763 496
>>2897931
Попробуй Эрланг, чо
Аноним 09/11/23 Чтв 03:20:26 2913505 497
>>2897931

> Мне подсовывают полиморфизм, который выглядит точно также, как и эти ебаные классы, интерфейсы и прочий кал(структуры, протоколы, бехейверы и т.д.)

Полиморфизм это не ООП, анон. Интерфейсы это тоже не ОПП. В Elixir, например, нет наследования, нет инкапсуляции, нет объектов (как данных с закрытой структурой). Если полиморфизм и интерфейсы это ООП, то любой Lisp это ООП язык

> А в вашем языке даже синтаксис почти как в си-лайк параше всякой

Ну во-первых ты реально тупой, если языки по синтаксису оцениваешь. Во-вторых, он от C довольно далеко. У них с C общие из синтаксиса, наверное, только инфиксность и запись вызова функций.
Аноним 24/11/23 Птн 11:52:57 2934901 498
image.png 56Кб, 1111x566
1111x566
почему так?
Аноним 25/11/23 Суб 10:18:34 2936153 499
>>2934901
Потому что это кривая надстройка над эрлангом.
Аноним 27/11/23 Пнд 01:18:12 2938667 500
Аноним 07/12/23 Чтв 16:46:49 2954124 501
bump
Аноним 07/12/23 Чтв 17:04:51 2954175 502
Ответить в тред Ответить в тред

Check this out!

Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов