Сохранен 506
https://2ch.hk/pr/res/2082722.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Выспавшихся программистов тренд /elixir/ /elixir/

 Аноним 28/06/21 Пнд 14:33:26 #1 №2082722 
elixir.png
Здравствуй, дорогой анон.

Сегодня хочу рассказать тебе о прекрасном функциональном языке для написания неубиваемых распределённых систем, а более конкретно вебни на бэке, больших 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 #2 №2082724 
> Самое важное качество при найме это не знание самого языка, а софт-скиллы и общее понимание веб-разработки как таковой, так что придётся социализироваться

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Это не сильно сложная вещь, которая познаётся прочтением книжки Elixir in Action 2 за пару дней
Аноним 28/06/21 Пнд 19:17:21 #29 №2083029 
>>2083012
>https://t.me/proelixir/184763
>5+ years of professional development using Elixir/Ruby
Мимокроку не залететь, только рубисту, и то не факт, что элексиром не завалят на собесе

>https://t.me/proelixir/183217
>опыт работы с Elixir от 1-го года

>https://t.me/proelixir/172553
Юг. Киев, ремоут для жителей Беларуси.
Русичи в пролете

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

:)
Аноним 28/06/21 Пнд 23:29:18 #61 №2083320 
>>2083319
Посмотрел, в вакухах очередные "Сильным плюсом будет опыт в RoR". Элексиристы вообще из других языков бывают?
Аноним 28/06/21 Пнд 23:30:19 #62 №2083321 
>>2083320

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

???

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

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

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

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

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

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

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 #116 №2179347 
>>2166398
>Но ведь ФП про явный вызов функций и явную передачу аргументов им
>в ООП можно просто вызвать метод, который сделает что-то под капотом и вернёт что надо
1) А функция не делает что-то под капотом и не возвращает что надо?
2) Метод уже перестал быть функцией?
3) В методы ничего передавать не надо и в инициализацию класса тоже?
Аноним 10/10/21 Вск 16:25:12 #117 №2179373 
>>2179347
Я не спорю. Я вообще так считаю, что у ООП и ФП куда больше общего, чем различий, просто реализованы эти абстрактные идеи по-разному.
Аноним 10/10/21 Вск 20:03:18 #118 №2179657 
>>2166398
Есть такая штука referential transparency, это про отсутствие побочных эффектов и про возможность заменить вызов функции значением, которое она вернула бы.
Так вот из referentially transparent штуковин легче собрать декларативную штуку, а без этого свойства есть вероятность написать спагетти-код - это как бы противоположность декларативного.
Аноним 11/10/21 Пнд 02:00:11 #119 №2179910 
>>2179343

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

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

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

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

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

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

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

Да хз что рассказывать. Радует, что писать приходится что-то отличное от обычного бэкенда под crud, задачи обычно посложнее и поинтересней. Коммьюнити нормальное, не знаю как сейчас, а раньше на форуме мог сам создатель эликсира на вопросы отвечать и, если требуется, оперативно делать багфиксы
Аноним 03/02/22 Чтв 12:21:03 #161 №2285431 
>>2285397
Спасибо за ответ, хоть и краткий)
А какие +- задачи в целом ? Если не круд обычный.
Аноним 03/02/22 Чтв 16:53:33 #162 №2285743 
e.png
>>2082722 (OP)
Авторы вообще развивают язык? Судя по конференциям и статьям, сейчас язык просто находится в поддержке и у них пустой беклог. Идеи кончились?
sage[mailto:sage] Аноним 03/02/22 Чтв 19:02:08 #163 №2285914 
>>2285743
зачем ломать, если не сломано
Аноним 03/02/22 Чтв 19:12:51 #164 №2285927 
>>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 #165 №2286153 
>>2285743
Типа того. Был план что надо в языке, все сделали по плану. Красиво же
Elixir is done +- в 2018
Аноним 04/02/22 Птн 01:59:52 #166 №2286257 
pingpong.png
>>2082722 (OP)
Мой первый пинг понг, конечно можно легче без дефмодулей. Но все же.
Аноним 05/02/22 Суб 00:20:02 #167 №2287258 
>>2082722 (OP)
Elixir is a just a curtain and behind it there is evil erlang.
Аноним 06/02/22 Вск 00:58:01 #168 №2288218 
genserver.png
Сначала реализовал свой генсерсер, без хендлинга ошибок, просто spawn receive с call & cast

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

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

Еще кринжовей, это найти elixir desktop с 700 звездами. Это полнейшая дичь вообще, люди комитят в либы, которые вообще не нужны для эликсира
Аноним 06/02/22 Вск 17:46:19 #171 №2288848 
https://habr.com/ru/article/649423/

Ну что двачик, ещё не на эликсире?

мимо 400к
Аноним 06/02/22 Вск 17:55:57 #172 №2288869 
>>2288672
Чекай выше сообщение. Используется и в бэке (https://hexdocs.pm/phoenix) и в IoT (https://hexdocs.pm/nerves)
Аноним 06/02/22 Вск 17:58:46 #173 №2288873 
>>2288677
Я лично знаю чувака, который делает elixir-desktop, и ему банально нужно было запилить максимально просто десктоп UI клиент к его сервисам для распределенной хуйни. Он это делает под себя и для себя, причём даже готов платить за разработку этой хуйни

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

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

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

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

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

Аноним 07/02/22 Пнд 00:07:45 #179 №2289228 
>>2289178
И нужно ли тебе вообще элик для запуска несколько процессоров?

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

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

>>2289228
> И нужно ли тебе вообще элик для запуска несколько процессоров?
Это на одном инстансе только. Инстансов может и сотня быть. Да и игровые сервера сами себя не поднимут.
Впринципе оно нормально и на обычном пистоне/жс будет работать и подниматься (вместе с репликаторами и постгрессом), но хочется чего-то новенького.
> А ты хочешь 3-4 зеленых запускать.
Так это игровые сервера только, по факту самое главное. Там остальные приложения могут и под 100к процессов пернуть, если игроков зайдёт дохуя.
Так понимаю именно для этого мне элексир нужен? Чтобы пердеть нормально процессами и иметь годные пробросы до бд и кэшэй?
Аноним 08/02/22 Втр 14:41:10 #183 №2290724 
>>2082722 (OP)
Мертвый?
Аноним 09/02/22 Срд 13:23:50 #184 №2291558 
>>2082722 (OP)
нужно ли дрочить erlang ?
Аноним 09/02/22 Срд 14:12:14 #185 №2291612 
>>2291558
Нет. Если знаешь elixir, то, считай, что и erlang знаешь, останется только нюансы синтаксиса запомнить и всё.
Аноним 09/02/22 Срд 14:20:47 #186 №2291617 
>>2082722 (OP)
очень понравился DSL, можно писать вообще что угодно https://www.youtube.com/watch?v=xj6yNzcGlEE

Аноним 10/02/22 Чтв 01:44:42 #187 №2292208 
>>2291558
Зависит от того, с чем собираешься работать. Если планируется типичная круд хуйня с парочкой фоновых задач в Oban'е и капелькой асинхронности через Task, то не нужно.

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

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

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

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

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

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

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

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

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

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

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

И проблема тут в том что даже обычные действия и всяческий посыл говна на отдельные сервера должен происходить достаточно быстро.
Аноним 10/02/22 Чтв 15:38:55 #204 №2292709 
Screenshot from 2022-02-10 15-38-19.png
>>2292687

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Поехавший.

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

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

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

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

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

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

Еслишо я пишу на webgl, js и хтмл клиент сейчас (гуй пока что только, ололо) + задел на рендер через потоки в своём собственном "браузере" - обсерверы на хтмл вешаю и архитектуру хитровыебанную делаю, должно получиться впринципе.
Аноним 12/02/22 Суб 21:49:16 #269 №2295417 
>>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 #270 №2295441 
>>2295417
>Тем, что треды - это shared state, а значит локи, гонки, отличие времени жизни треда от времени жизни данных гроб гроб кладбище пидор.
Но ведь это решается просто кастомным семафором, не?
Аноним 12/02/22 Суб 22:55:04 #271 №2295477 
>>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 #272 №2295564 
>>2295477
> в более менее большой программе ни к чему хорошему не приводит.
Да, приходится раскидывать приоритеты всякие, неприятно. Но у меня приоритеты были конечные и их мало, так что терпимо.
> человеко-часов несчастных рабов байтоебышей вьебанных в отладку и тестирование
> Раньше альтернатив не было, был выбор сосать на быстрых тредах, или не сосать на медленном FSM, и как я уже сказал, большинство выбирало не сосать, то есть
У меня есть говняшка в стиле ECS и data-driven. Оно же просто работает, нормально работает, оче быстро, никаких проблем не вижу вообще, треды мутятся, ядра крутятся, могу в 240 герц укладываться на больших объемах. Теоретически можно fastcgi прикрутить, но я уже блюю от сложности. В прод не спускал, но должно нормально работать, можно сколько угодно ядер пускать на данные приходящие.
Как это вообще в ерланге-то работает? Неужели есть решение более производительное?
Аноним 13/02/22 Вск 03:32:56 #273 №2295614 
>>2295417
> конкурентная многозадачность
Дыкить ивентовые движки - это кооперативная многозадачность же.
Аноним 04/03/22 Птн 13:09:47 #274 №2310626 
>>2082722 (OP)
Функциональнй программист М. Сохацкий стал бандеровцем:

https://twitter.com/infinitystack

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

>>2313865
Нет.
Аноним 10/03/22 Чтв 15:50:54 #285 №2314135 
>>2313982
Почему?
Язык же один из самых лёгких и с одним простым фреймворком, в который всё включено
Аноним 11/03/22 Птн 16:22:22 #286 №2314840 
>>2314135
>Почему?
Так исторически сложилось.
Аноним 12/03/22 Суб 01:43:07 #287 №2315284 
>>2314840
Здравствуйте!
Я - Elixir разработчик.
Это моя профессия.
Так сложилось исторически.

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

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

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

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

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

Да, я - Elixir разработчик!
И я устал извиняться за это...
Я разработчик по праву рождения.
Я проектирую и имплементирую.
Бойтесь!
Аноним 12/03/22 Суб 12:30:14 #288 №2315365 
>>2315284
Заебали эти эрлангисты, хорошо что я в рассылке не отвечал, а то хотел было! Фух свят свят свят. НАХУЙ НАХУЙ.
Вцелом так то мне эти ебанаты похуй, я ж не буду ползать на коленах чтоб на N2O писали, так в жопу их, пошли все нахуй кто на эрланге пишет.
Аноним 14/03/22 Пнд 13:33:06 #289 №2316557 
>>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 #290 №2316985 
Хочу например переписать на элексире мастодон
Какие подводные камни?
Аноним 15/03/22 Втр 16:37:59 #291 №2317172 
>>2316985
Его уже написали (pleroma)
Аноним 16/03/22 Срд 17:47:58 #292 №2317768 
>>2316557
Вот что случается, когда кабанчикам позволяют принимать технические решения.
Аноним 21/03/22 Пнд 01:04:24 #293 №2320348 
>>2317768
И оно выстрелило, а так была бы никому не нужная хуетень с 2.5 шизами, которые спорят за всякие гомоиконности, но при этом промышленно не пишут на своем любимом языке. Программисты это в первую очередь обслуга бизнеса, все остальное только для борщехлебов и всяких академических кругов.
Аноним 21/03/22 Пнд 10:14:17 #294 №2320417 
>>2320348
Ну ничё, скоро в богоспасаемой федерации опустится железный занавес, начнётся совочек 2.0 и за бизнес снова станут сажать, посмотрим, как вы тогда покукарекаете, бизнесмены ёбаные.
Аноним 21/03/22 Пнд 11:00:02 #295 №2320441 
>>2320417
А всяких лиспов и эрлангов тоже не будет, только сишка и делфи, как диды
Аноним 21/03/22 Пнд 11:22:55 #296 №2320458 
>>2320441
Что партия скажет, то и будет. Не твоего ума дело государевы вопросы решать.
sage[mailto:sage] Аноним 22/03/22 Втр 17:03:50 #297 №2321339 
>>2320417
Чет не в тему у тебя пораша протекла, шиз.
Аноним 04/04/22 Пнд 20:52:05 #298 №2329032 
gigalixir в чём подвох? Обязательно оплачивать хотя бы минимальный стораге?
а флайио как сервис?
От всех жемов с аасами бошка пухнет

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

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

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

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

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

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

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

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

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

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

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

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


>>2367430
> в Грузии
вообще все ебанулись от своей нищеты и манямира. в армении скоро опять что то будет. в турции после путча все скатывается в говно.
Аноним 31/05/22 Втр 17:42:43 #308 №2368114 
>>2367902
Ты это к чему высрал, дорогой? Я просто спросил есть ли в Грузии кто из эликсирщиков, чтобы просто местный /soc/ устроить, пива попить да за эликсир попиздеть. Успокойся, дорогой
Аноним 31/05/22 Втр 17:51:38 #309 №2368122 
z7uzYsRbukw-00-07-11.png
z7uzYsRbukw-00-07-06.png
z7uzYsRbukw-00-07-04.png
z7uzYsRbukw-00-07-14.png
>>2368114
> чтобы просто местный /soc/ устроить
> спроси
> в
> /soc
даун

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


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

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

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


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


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

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


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

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

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


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

ну а после него у меня останется куча стафа который ляжет в основу морды для игрового движка, ага.
Аноним 31/05/22 Втр 20:36:42 #320 №2368275 
Screenshot20211101224148.png
просто вот эта хуйня подбешивает
Аноним 31/05/22 Втр 20:40:08 #321 №2368279 
>>2368274
>я никуда не вступал, мне похуй на уебищное ооп
Нет, вступил. Взял в руки уеч = будешь жрать ооп-кал на плюсах.
>твою портянку не читал, если ты не можешь лаконично излагать мысли - твой интеллект низок.
Так ты сам партянками пишешь, лол.
>про свой движок у меня даже целый тред в гд есть, и сделать его нихуя не сложно, все уже давно изобретено
Если бы так было, никто бы не делал что-то новое.
>и самый умный вариант это пиздить у топов (т.е эпиков)
Ебать ты калоед.
Аноним 31/05/22 Втр 21:03:54 #322 №2368291 
Screenshot20211026153136.png
Screenshot20211026152752.png
Screenshot20211017063644.png
Screenshot20211017063813.png
>>2368279
> Взял в руки уеч = будешь жрать ооп-кал на плюсах
ну пока что хватает лапши. есть один персонаж он клон майнкрафта на лапше захуярил, не вступит в кресты вообще ни разу!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

---

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

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

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


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

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

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

Если им дать пустой список, то get() возвращает nil, а fetch!() :error, зачем нужна эта разница?
Аноним 01/06/22 Срд 14:25:55 #335 №2368746 
>>2368744
Функции с bang (восклицательным знаком в названии) выбрасывают исключения в случае ошибки, что ведет за собой падение вызывающего процесса. Удобно при запуске приложений читать конфиги через fetch! - если какого-то важного конфига нет, то приложение не стартанет и ты об этом точно узнаешь
Аноним 01/06/22 Срд 15:00:14 #336 №2368776 
>>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 #337 №2368814 
>>2368776
>Меняй риторику: если одинаковая архитектура где-то нужна, то она должна решать какую-то проблему. Вот об этом проблеме и расскажи ,но я уверен что ты нихуя не расскажешь, потому что изначально какой-то велосипед хуяришь
Всё просто - приложение должно оффлайн работать, при отключении сети. И оно должно на говянном оборудовании работать. И оно должно работать на говянном оборудовании очень быстро.
>Я так и не понял, ты хочешь один язык на бэке и фронте? Если так, то вылезай из манямирка, такие технологии живут только на презентациях.
Одинаковую архитектуру. На бэке у меня эликсир уже заведён для банковской хуйни и частей бизнес-логики, там всё в порядке, это отдельные апи.
Но для всего остального, ради уменьшение трансформации данных, нужна полностью одинаковая архитектура.
> Посмотри на cljs и scalajs и тех кто этим пользуется. Подумай ещё раз.
Этож параша оопешная, не понимаю ничего из этой хуиты.
> Нет, не платно.
Хз, там какие-то тарифные планы, закрыл сразу как увидел.
> а потому что это банально невозможно.
Ты что-то явно не то представил себе.
> Ты какую проблему изначально решаешь, дорогой? Ты просто вкатился в тред по Elixir, начал пиздеть про Javascript, а потом просто начал срать баззвордами и уверять меня и всех окружающих в том, что ты сможешь решить все-все-все проблемы разработки какой-то своей хуйнёй.
> Кароче, давай начнём с простого: какую проблему ты изначально решаешь
Смотри значит, проблема токова. Нужно одинаковое преобразование данных на клиенте и на сервере. Минимальная модификация данных, для уменьшение сетевых издержек. Максимальная производительность для сервера и клиента. Простые взаимодействия между кластерами. Простые взаимодействия между клиентами (способность нормально работать в локальных сетях). Синхронизация клиента и сервера в произвольные промежутки времени.
Проблем-то особо и нет на самом деле, сейчас протестировал джва варианта эвентов на кластере, пока что работает, но блокировки есть. С БД пока никак не взаимодействовал.
>и где ссылочка на репу с этим проектом?
Вероятнее всего нигде не будет, если лицензия не изменится, ибо нда уже работает
Аноним 01/06/22 Срд 15:58:10 #338 №2368833 
>>2368814
> Нужно одинаковое преобразование данных на клиенте и на сервере
Это не проблема, это ты себе какую-то хуйню придумал. Проблема звучит так "у моего веб приложения высокий латенси". То что ты придумал, оторвано от реальности и вообще нихуя не похоже не правду. Ты сам какого-то хуя решил что у веб приложений узкое место это энкодинг и декодинг данных. Ну поздравляю тебя, во-первых, это нихуя не узкое место и кушает очень мало вычислительной мощности, а во-вторых, есть дохуище форматов для быстрого кодирования, а в-третьих, в браузере может крутиться только Javascript и WASM. В случае с JS, если ты напишешь Elixir на JS, ты получишь просто ещё более жирный рантайм и об оптимизациях энкодинга просто забудь. В случае с WASM, ты получишь эликсир в браузере, который кастрирован и нихуя не работает с UI, да и работает вообще на полутора платформах

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

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

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

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

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

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

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

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

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

>>2369128
Это https://en.wikipedia.org/wiki/Entity_component_system
Изначально всё это говно было игрой, надеюсь позже тоже будет игрой, когда нда спадёт осенью выкачу в паблик атвичаю
Когда своими маняфантазиями делился с челиком он сказал что есть заказ как раз именно под эту архитектуру, прямо один в один.
Аноним 01/06/22 Срд 23:05:58 #352 №2369133 
>>2369130
Понял, тот самый гейдевелопмент в кластере и на JavaScript на клиентах, где один шаг вычисляется за 700мс. Я так и думал, это же очевидно
Аноним 01/06/22 Срд 23:13:51 #353 №2369142 
>>2369133
Не ну раньше там просто было ecs на сервере и на клиенте, ничего серьезного, эликсир и плюсы были просто как отдельные гей-сервера. А потом оказалось что это может сработать и для некоторых показателей в лабахназаводах. Гей-девелопент полезен, я же говорил, говорил!
В целом ничего не изменилось, просто немного дополнительных условий, ящитаю хуйня, выебут не сильно если ошибусь 8 лет тюрьмы наверн по минималке
Аноним 05/06/22 Вск 15:11:03 #354 №2372064 
Ну че, двощ, кто-нибудь тут вкатился после этого треда? Пилите прохладные
Аноним 08/06/22 Срд 07:36:31 #355 №2374544 
Чёт Programming Elixir 1.6 устарела судя по тому что они используют Mix.Config, который deprecated. Где или в какой из книг почитать свежую инфу про настройку приложений? На elixirschool.com ничего толком не написано.
Аноним 08/06/22 Срд 11:40:44 #356 №2374641 
>>2374544
>почитать свежую инфу про настройку приложений

Чем тебе не хватает официальной документации? https://hexdocs.pm/elixir/1.12/Config.html
Аноним 08/06/22 Срд 19:08:48 #357 №2375079 
>>2368776
>Посмотри на cljs и scalajs и тех кто этим пользуется
>>2368814
>Этож параша оопешная, не понимаю ничего из этой хуиты.
Так, вот щас обидно было.
мимо кложурист-функциональщик
Аноним 09/06/22 Чтв 20:06:40 #358 №2375922 
Ну что вы там, потомки, dependency injection придумали как делать, не передавая имя модуля в каждую функцию? Даже моки на вашем недоязыке сделать нормально нельзя.
Хосе что-там пизданул про dependecy injection через глобальный конфиг, как же я проиграл, вы че ебанутые?
Аноним 10/06/22 Птн 19:10:15 #359 №2376664 
>>2375922
А ты Mox и Proxmox так и не осилил?
Аноним 10/06/22 Птн 19:12:12 #360 №2376668 
>>2376664
quickfix: Promox
Аноним 16/06/22 Чтв 20:20:21 #361 №2381350 
>>2376664
Сейчас бы мокать глобальный контекст и проебывать асинхронность тестов.
Аноним 17/06/22 Птн 14:57:59 #362 №2381911 DELETED
Здpaвствyйтe, аноны
Сразу прощу прощения за вайп


Нe дyмaл, что пpидётся вот тaк обpaщaться зa помощью к нeзнaкомым людям, но я уже нe знaю, что дeлaть блин

У моeго котикa обнapyжили лeйкоз.
Зовyт Mишa. Михaил Алeксaндpович. Молодой eщё, 2 годикa
Кaк я пpочитaл, это очeнь мepзкaя болeзнь, из-зa котоpой пpи отсyтствии лeчeния Мишa можeт yмepeть. В общeм, нyжно пepeливaниe кpови...
Доноpa я нaшёш, a дeнeг нeмного нe хвaтило.
1300 остaлось нaйти
Умоляю, аноны, помогитe!!

552140ᅠ03758030ᅠ54 (извините, что именно так номер карты написал - боюсь бан выхватить)

Всё нaчaлось с того, что в послeдниe дни Мишa стaл очeнь пaссивeн, постоянно лeжaл, eдy почти нe eл, только пил. Я дyмaл, это пpойдёт... Зaбил тpeвогy только когдa Мишa под сeбя сходил в тyaлeт. Помчaлся с ним в вeт.клиникy, тaм осмотpeли, взяли кpовь нa aнaлизы и чepeз дeнь обнapyжили лeйкоз. Объяснили, что это нe вылeчить, но пpи пpaвильном yходe котикy можно пpодлить жизнь. Я готов к этомy и моpaльно, и мaтepиaльно, я полyчaю стипeндию, работаю, но из-зa того, что нe ожидaл, что Мишa тaк зaболeeт, дeнeг нa обслeдовaния/пpоцeдypы и сaмо пepeливaниe нe хвaтaeт, a стипeндия и зарплата только 25-го. Я зaнялa, сколько смоглa, но всё paвно 1300 нe хвaтaeт.
А доктор сказал, что пepeливaниe нyжно сдeлaть кaк можно быстpee...

Он постоянно лeжит, сaм нe кyшaeт (пpиходится со шпpицa дeтским питaниeм нaсильно), писяeт под сeбя. Нy и похyдeл сильно нa фонe этой этого всeго...

Умоляю, аноны, помогите пожaлyйстa, любой суммой, хоть копейкой блин...
Аноним 18/06/22 Суб 20:52:09 #363 №2383131 
>>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 #364 №2383133 
>>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 #365 №2388925 
>>2383131
Ты не понял, проблема не в том как абстрагировать зависимость, а том как бы ее удобнее "передать" в модуль. И не всегда это можно сделать через стейт генсервера, может быть у тебя модуль в котором функция должна хитровыебанно получить данные из апи, никакого стейта только бизнес-логика, однако для теста нужно мокать обращение по http.
Аноним 26/06/22 Вск 00:06:45 #366 №2389124 
>>2375922
Да при чем тут глобальный конфиг, ноль информации в твоих каментах.
Такое ощущение что ты перед кем-то выйобуешься.
Передо мной не нужно, для меня ты никто.

мимо-хосе
Аноним 26/06/22 Вск 20:07:08 #367 №2389838 
>>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 #368 №2390554 
>>2389838
Ну и как ты этот HTTPGetter передавать собрался?
Аноним 29/06/22 Срд 23:32:32 #369 №2392529 
>>2390554
Так же как ты бы передавал URL в пулл: через application env, просто через аргументы при запуске, при чтении конфигурации откуда-то там и т.д.
Аноним 03/07/22 Вск 17:32:58 #370 №2395245 
15647733637470.gif
>>2082722 (OP)
Какие распределнные системы, маня? У него же, как и у Erlang все очень хуево с прозводительностью на цпу задачах. Т.е. там норм только паралельный и маиссвный IO. Любые числодробильные операции, манипуляция со структурами данных - это полный пиздец. Собственно BEAM'ские языки это одни из самых медленных скриптух. Оно в телекоме живет только засчет того, что там довольно тупые программы по пересылке паектов сетевых. Как запахнет более комплексными задачами - пиши пропало.
Собственно просто глянись вокруг, всё на JVM или на Go в распределнном мире. От куберов и номадов до всяких Apache Flink, Spark и Kafka.
Аноним 03/07/22 Вск 20:43:51 #371 №2395466 
>>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 #372 №2395861 
>>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 #373 №2396485 
>>2395861
> БД это CPU bound

Ясно, дальше просто не стал читать
Аноним 05/07/22 Втр 03:19:33 #374 №2396492 
Genevamechanism6spokeanimation.gif
>>2395861
Erlang/Elixir разработчик с 6 годами стажа итт.

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

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

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

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

Это ты? На завод устроился?)
Аноним 05/07/22 Втр 21:17:18 #383 №2397260 
>>2396811
> моя задача, это обработать HTTP запрос и положить данные в какую-нибудь Kafka или Clickhouse
Ты хуйню в вакууме придумал, дорогой. Задача на самом деле звучит скорее всего как-то типа "сделать бэк, который обновляется без остановки, и который скейлится в зависимости от хуйни", просто тебе как низшей макаке прилетела лишь маленькая часть этой большой задачи, в виде "написать тупейший апи".

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

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

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

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

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

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

2. Например, как писали аноны выше, я столкнулся с проблемой недостаточного перфоманса на какой-то числодробильней хуйне. Можно ли делать как-то, так называемые, нативные модули? По аналогии с сишными в пистонах и рубях.
Аноним 06/07/22 Срд 13:36:37 #389 №2397814 
>>2397745
>Можно ли делать как-то, так называемые, нативные модули? По аналогии с сишными в пистонах и рубях.

https://www.erlang.org/doc/tutorial/nif.html
Аноним 06/07/22 Срд 14:59:19 #390 №2397892 
>>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 #391 №2397913 
>>2397892
>Примерно как Kotlin и Java

Воу, палехче. Коклен - это хайповая довольно неконсистетная хуйня и просто куча сахара. Которая взлетела по большей части только на мобилках из-за того, что у них даже нормальной жвм нет и какие-то каловые массы вместо человеческих рантаймов.
Аноним 18/07/22 Пнд 12:03:05 #392 №2408701 
Анон, скинь какой-нибудь классный опенсорс на эликсире, чтобы от чтения скилл эликсира качался
Аноним 18/07/22 Пнд 16:12:41 #393 №2408941 
>>2408701
Чисто по Elixir
https://github.com/dashbitco/broadway
https://github.com/dashbitco/flow
https://github.com/nerves-project/nerves

Чуть попроще
https://github.com/sorentwo/oban

А так вот это очень крутая штука https://github.com/lasp-lang/partisan как и сам lasp. В репозитории много интересных вещей из области распределенных систем.
Аноним 18/07/22 Пнд 16:18:22 #394 №2408957 
>>2408941
>>2408701

еще вспомнил:
https://vaxine.io/ который на базе так же интересного https://www.antidotedb.eu/
Аноним 20/07/22 Срд 18:31:32 #395 №2410963 
>>2408957
О, наконец-то нормальный аналог AP mnesia на эликсире, спасибо, анон
Аноним 22/07/22 Птн 18:13:56 #396 №2413207 
Юзал кто-нибудь N2O?
Аноним 22/07/22 Птн 22:49:39 #397 №2413585 
>>2413207
Не нужен когда есть Phoenix. А для простых HTTP API и обычный Plug сойдет.
Аноним 23/07/22 Суб 07:04:04 #398 №2413737 
>>2413585
>Не нужен когда есть Phoenix.
Как будто феникс круче. Обычное мвц-говно размером 100500+ строк кода.
Аноним 23/07/22 Суб 12:28:23 #399 №2413928 
>>2413737
Круче, не круче. Но для веба, читай "мвц-говна" отлично подходит и удобный, хоть и относительно (других проектов на эликсире, а не какого-нибудь монстра вроде RoR/Django) тяжелый. Хотя сам я стараюсь его не тащить и обходиться просто плагом, когда нужно обычную API сделать.
Аноним 23/07/22 Суб 23:35:42 #400 №2414361 
Какие есть живые чатики в слаке/телеге/дискорде етц по эликсиру/фениксу, чтобы можно было задавать вопросы(естественно после собственных попыток и гугления)? Можно(нужно) на англюсике. Одному просто тяжко самому с собой социализироваться.
Аноним 24/07/22 Вск 00:23:47 #401 №2414381 
>>2414361
В телеге @proelixir
Аноним 24/07/22 Вск 13:25:19 #402 №2414683 
>>2414361
на сайте эликсира ссылки на слак/irc/дискорд. Все живые, особенно в слаке
Аноним 30/07/22 Суб 18:54:08 #403 №2420204 
>>2082722 (OP)
Не могу установить пакеты esl-erlang и elixir с репозитория https://packages.erlang-solutions.com, получаю Failed to fetch http://binaries.erlang-solutions.com/ubuntu/dists/focal/InRelease Connection failed хотя в браузере репозиторий открывается. У кого-то еще была такая проблема?
Аноним 02/08/22 Втр 16:44:19 #404 №2422769 
>>2420204
Перепройди гайд по подключению репки.
Аноним 02/08/22 Втр 16:45:08 #405 №2422771 
>>2420204
Перепройди гайд по подключению репки.
Аноним 02/08/22 Втр 21:42:50 #406 №2422964 
>>2422769
Репа заблокирована провайдером.
Аноним 04/09/22 Вск 23:21:50 #407 №2455415 
Бумп, пишите че там по вакансиям. Есть годнота?
Аноним 05/09/22 Пнд 00:41:29 #408 №2455459 
>>2455415
На годноте сами работаем, ты уж извини.
Но вообще периодически появляются.
Аноним 05/09/22 Пнд 11:44:35 #409 №2455710 
Уже хотел начать изучать вашу годноту, но тут увидел что у эликсира динамическая типизация, как в петухоне. И сразу отвращение такое появилось. Динамическая типизация в 2к22, серьёзно? Зачем?
Аноним 05/09/22 Пнд 12:45:48 #410 №2455746 
>>2455710
Для bottom-up проектирования, не всё же вотерфоллы дрочить со статикодриснёй.
Аноним 05/09/22 Пнд 13:01:40 #411 №2455755 
>>2455746
Так тогда питон лучше. Особенно когда речь идет о поиске персонала.
Аноним 05/09/22 Пнд 14:07:16 #412 №2455824 
>>2455710
>у эликсира динамическая типизация, как в петухоне
что ты блядь несёшь
динамическая типизация, т.е. со сменой типов у переменных, может быть только там где есть переменные. в эликсире переменных нет, значит и динамической типизации нет
Аноним 05/09/22 Пнд 14:40:26 #413 №2455861 
>>2455824
Ну предположим нам нужно описать функцию, которая принимает в себя некую структуру, и возвращает некое число. Как это сделать? Или эликсир будет в рантайме проверять что мы передали структуру, а не строку или булеан? Если это так, то как на нём пишут высоконагруженные системы, когда всё может упасть из-за того что в функцию передали не тот тип?
Аноним 05/09/22 Пнд 14:57:45 #414 №2455873 
>>2455861
Тут подход как в ноде, ебошишь еще больше инстансов, просто в отличии от ноды, инфраструктура для параллельных систем встроена в язык.
мимо
Аноним 05/09/22 Пнд 15:58:13 #415 №2455942 
image.png
>>2455873
А я то думал что нашёл язык мечты. Жаль.
Аноним 05/09/22 Пнд 16:05:05 #416 №2455946 
image.png
>>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 #417 №2455948 
image.png
>>2455946
даже так
Аноним 05/09/22 Пнд 16:14:51 #418 №2455950 
>>2455861
>Работа со структурами происходит через паттерн-матчинг.
Это буквально то, что он описывал
>Или эликсир будет в рантайме проверять что мы передали структуру, а не строку или булеан?
Аноним 05/09/22 Пнд 16:17:32 #419 №2455952 
>>2455950
для паттерн-матчинга применяется какая-то оптимизация. он быстрый, на этот счёт можно не ебать себе голову
Аноним 05/09/22 Пнд 16:50:04 #420 №2455978 
>>2455952
Суть не в быстроте, а то что в функцию может прилететь что-то, что не было описано паттерном, и тогда всё приложение наебнётся. В статически-типизированных языках такая ошибка отлетела бы на этапе компиляции.
Аноним 05/09/22 Пнд 17:23:30 #421 №2456013 
>>2455978
>что не было описано паттерном, и тогда всё приложение наебнётся
Тут надо понимать, что эрланг/эликсир юзают модель акторов и собственную ВМ, которые по сути являются микросервисами с оркестратором и обладают специфической философией которая вполне подходит для систем мягкого реального времени. Падать нормально, если ты сможешь встать.

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

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

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

А как рефакторить то что ты напрототипизировал? Я всю жизнь программировал на языках со строгой типизацией, я просто не понимаю как можно жить без типов.
Аноним 05/09/22 Пнд 18:08:38 #424 №2456075 
>>2455755
Удачи хайлоад на петухоне писать.
Аноним 05/09/22 Пнд 18:09:29 #425 №2456076 
>>2455824
>динамическая типизация, т.е. со сменой типов у переменных, может быть только там где есть переменные
В Clojure, получается, тоже динамической типизации нет? Переменных-то нема, только let-биндинги.
Аноним 05/09/22 Пнд 18:09:47 #426 №2456077 
>>2456075
define "хайлоад"
Аноним 05/09/22 Пнд 18:12:14 #427 №2456080 
>>2456055
>Я всю жизнь программировал на языках со строгой типизацией, я просто не понимаю как можно жить без типов.
>без типов
Очередной дурачок, путающий оси типизации статическая/динамическая и сильная/слабая.
Аноним 05/09/22 Пнд 18:12:38 #428 №2456081 
>>2456077
c10k
Аноним 05/09/22 Пнд 18:14:04 #429 №2456083 
>>2456080
Дурачок, давай перефразирую для тебя. Я не понимаю как жить без проверки типов компилятором, а надеяться на рантайм
Аноним 05/09/22 Пнд 18:18:12 #430 №2456087 
>>2456083
Gradual typing во все поля.
Аноним 05/09/22 Пнд 18:19:10 #431 №2456090 
>>2456081
>c10k
Так это про переиспользование дескрипторов, в том же пистоне давно решается, да и скорее всего на вебморде nginx будет, зачем голому приложению в сетку смотреть?
Аноним 05/09/22 Пнд 18:30:30 #432 №2456106 
>>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 #433 №2456118 
>>2456106
>Вы выбираете одно из двух - либо настоящий messaging, либо строгую типизацию известную на этапе compile-time.
Либо выбираешь Common Lisp с его CLOS, с одной стороны, и декларациями типов, с другой, и сидишь одной жопой сразу на двух стульях.
Аноним 05/09/22 Пнд 19:34:25 #434 №2456145 
>>2456118
>сразу на двух стульях
на каких?
Аноним 06/09/22 Втр 01:00:16 #435 №2456387 
>>2455861
>когда всё может упасть из-за того что в функцию передали не тот тип

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

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

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

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

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

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

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

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

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

А почему советуют эликсирскул, а не оф туториал?
Аноним 10/03/23 Птн 09:13:29 #458 №2635382 
Установил плагин для идеи, а там нет автокомплита, только подсветка синтаксиса. На каждую пропущенную скобку трачу по пол часа. Как фиксить?
Аноним 10/03/23 Птн 15:16:21 #459 №2635773 
>>2635382
>Как фиксить?
Переходим на нормальный язык.
Аноним 11/03/23 Суб 20:09:34 #460 №2637227 
>>2635382
Какой плагин? УМВР
Аноним 11/03/23 Суб 22:45:36 #461 №2637380 
56327658926579.png
Аноним 06/04/23 Чтв 21:55:53 #462 №2664601 
https://lurkmore.wtf/Erlang

Забавное
Аноним 31/05/23 Срд 19:12:54 #463 №2717851 
image.png
Фить-ха
Аноним 04/06/23 Вск 20:56:56 #464 №2721542 
Erlang State of Mind
Erlang State of Mind
Erlang State of Mind
Erlang State of Mind
Аноним 04/06/23 Вск 21:48:01 #465 №2721585 
image.png
https://pkolaczk.github.io/memory-consumption-of-async/
Треды жрут мало памяти, говорили они.
Аноним 04/06/23 Вск 22:02:21 #466 №2721593 
>>2721585
Там та же проблема что и с говяхой, происходит аллокация небольшого кусочка памяти для каждого потока, потому что ты наверняка будешь что-то там делать. В пустых задачах это бесполезно смотреть.
Аноним 05/06/23 Пнд 22:00:26 #467 №2722753 
>>2514763
>В хаскеле ты одной строчкой можешь написать то, на что в элике у тебя уйдет 10.
Я не понимаю, как на это можно серьезно дрочить, имея больше половины функционирующего мозга. В Си любую программу можно написать в одну строку, но там это типа считается дурным тоном, а вот Хаскель это дааа, мы будем писать все в одну строчку, потому что у нас язык типа такой выразительный. Когда-нибудь до них дойдет, что если открыть код любой программы на любом языке, то он будет выглядеть как одна линейная последовательность символов.
Ну ладно, я юродствую слегка, конечно. В Хаскеле проще писать все одним выражением, чем в других языках. Но спрашивается, нахуя? Во-первых, еще под большим вопросом, что это более читаемый стиль, во-вторых, редактировать это точно заебнее. Потому что когда у тебя сложное выражение разбито на несколько строчек, то тебе в среднем асимптотически меньше шагов нужно сделать, чтобы добраться до нужного подвыражения. Просто задумайтесь, сколько шагов вам понадобится в среднем, чтобы из случайной клетки А попасть в случайную клетку Б если клетки организованы в список размера NxM и если они организованы в матрицу NxM. Подсказка: O(NxM) и O(N+M) соответственно. В-третьих, что самое главное, на отладке ты из-за своих однострочников пососешь хуй.
Вот написал я в функциональном языке программу, где есть инпут, который проходит через фильтр, мап и фолд. Где я могу обосраться? Я могу обосраться в: 1. лямбде фильтра 2. лямбде мапа 3. лямбде фолда 4. при передаче результата фильтра мапе 5. при передаче результата мапа фолду. Если я написал однострочник, все эти пять точек отказа вырождаются в одну, и понять причину ошибки можно только тупым перебором инпутов. Если же я дал биндинг/переменную под каждую лямбду и каждый промежуточный результат, причину ошибки выяснить на порядок проще, я сразу знаю, какие узлы графа вычисления дали некорректный результат.
Можно конечно по быстрому превратить однострочник в многострочник и отладить, а потом превратить его обратно в однострочник, но это цирк с конями, лучше уж тогда сразу писать отлаживаемый код.
Аноним 05/06/23 Пнд 22:50:04 #468 №2722789 
А работа где на вашем язычке умненьком?
Аноним 06/06/23 Втр 00:19:24 #469 №2722829 
>>2721593
это не проблема
Аноним 07/06/23 Срд 03:33:51 #470 №2724048 
Помню лет 5 назад здесь какой-то анон собирал конфу в тг и учил эликсиру. Есть новости что было дальше?
Аноним 07/06/23 Срд 09:17:19 #471 №2724125 
>>2722789
35 вакансий, тебе достаточно одной.
Аноним 10/06/23 Суб 14:47:56 #472 №2728298 
>>2724048
Ничё не было, я пошерстил свои чаты — группа давно удалена, и в истории нихуя инетерсного там не было.
Аноним 13/06/23 Втр 09:16:26 #473 №2731028 
Почитал тред и так и не понял, как акторная модель позволяет лучше обрабатывать ошибки чем обработчики внутри приложения + оркестратор, который бы их автоматически перезапускал в случае чего.
Аноним 18/06/23 Вск 18:14:45 #474 №2737486 
elexir интересный но тормозной с числодробилками?(крипта фото видео обработка) файловый ио? все в golang убежали
Аноним 19/06/23 Пнд 00:48:09 #475 №2737819 
Screenshot2023-06-19-00-45-36-273com.google.android.apps.docs.jpg
Почитал тред по диагонали и почему-то решил узнать как сейчас поживает автор n2o. Конечно же он окончательно поехал и написал нажористую книжку про боротьбу с москалями.
Аноним 19/06/23 Пнд 09:33:13 #476 №2737908 DELETED
>>2737819
можно подумать у москалей всё с крышей в порядке, читайте нажористые трактаты про боротьбу с нато и гейскими интернет технологиями
Аноним 19/06/23 Пнд 09:57:15 #477 №2737920 
>>2737908
У айтишников? Мы же говорим про айтишников, а не про вась, у которых вообще в голове что угодно может быть
Аноним 19/06/23 Пнд 10:59:52 #478 №2737948 
>>2737486
CPU-bound - работает плохо, хуже чем в питоне, IO-bound очень хорошо, лучше чем везде.
Аноним 20/06/23 Втр 08:47:30 #479 №2739030 
>>2737908
Выкладывай, готов почитать.
Аноним 22/06/23 Чтв 12:55:11 #480 №2741326 
Появился приятный курс для веб разработки на Elixir.
https://github.com/DockYard-Academy
Аноним 22/06/23 Чтв 21:58:57 #481 №2741986 
>>2741326
Спасибо.
Аноним 23/06/23 Птн 14:48:03 #482 №2742678 
>>2724125
Нет, недостаточно, я хочу все вакансии
Аноним 05/07/23 Срд 15:02:45 #483 №2754643 
>>2731028
Удваиваю этого
Аноним 15/07/23 Суб 20:30:39 #484 №2767804 
>>2731028
Я не ОП, но могу вставить свои 5 копеек.

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

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

Кроме того можно вызывать сошки (https://www.programmersought.com/article/92537823822/), можно выделить CPU-bound tasks в отдельный microservice.
Аноним 18/07/23 Втр 17:23:42 #487 №2771790 
>>2770863
>можно выделить CPU-bound tasks в отдельный microservice
И зачем нужен элексир если подразумевается, что все равно придется реализовывать микросервисную архитектуру и инфраструктуру от нее?
Аноним 19/07/23 Срд 02:21:05 #488 №2772367 
>>2737948
>CPU-bound - работает плохо, хуже чем в питоне
Не правда же.
https://benchmarksgame-team.pages.debian.net/benchmarksgame/measurements/erlang.html
Аноним 19/07/23 Срд 02:31:24 #489 №2772369 
>>2737819
Он наркоман. В прямом смысле. На конференциях выступал под кайфом. Ну и все остальное в придачу. В общем, полный неадекват.
Аноним 19/07/23 Срд 02:35:27 #490 №2772371 
>>2737908
>гейскими
Гомосексуализм не норма, а извращение. Сегодня ты называешь нормой гомосексуальный половой акт, а завтра скажешь, что половой акт с трупом тоже норма. Посмотри на себя со стороны. Ты отвратителен. Ты безумный.
Аноним 27/08/23 Вск 11:48:28 #491 №2819895 DELETED
bump
sage[mailto:sage] Аноним 27/08/23 Вск 13:53:15 #492 №2820049 DELETED
>>2737908
Свидомит в треде, все в Go.
Аноним 30/08/23 Срд 22:04:04 #493 №2823935 
>Elixir Saves Pinterest $2 Million a Year In Server Costs

https://paraxial.io/blog/elixir-savings
Аноним 31/08/23 Чтв 19:02:40 #494 №2825061 
>>2082722 (OP)
пиар какого то очередного ненужного говна
Аноним 31/08/23 Чтв 22:45:17 #495 №2825284 
>>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 #496 №2866126 
56379567923.mp4
>>2315284
Аноним 14/10/23 Суб 01:05:59 #497 №2878261 
установил вскодиум+плагин для эликсира
ввожу %, крашится сервер, не перезапускается, нужна перезагрузка редактора
прикольно сделали, приду ещё через года 2
Аноним 16/10/23 Пнд 23:58:39 #498 №2881785 
>>2878261
Какой плагин? Там их два: заброшенный и рабочий, и ты походу выбрал не тот.
Аноним 28/10/23 Суб 18:22:31 #499 №2897931 
Решил чекнуть вашу хуйню, думаю ну заебись, функциональное программирование, ебал в рот ООП и т.д. И что же я вижу? Мне подсовывают полиморфизм, который выглядит точно также, как и эти ебаные классы, интерфейсы и прочий кал(структуры, протоколы, бехейверы и т.д.), но типа под видом не_ООП, это же не объекты, наследование и прочее, нет-нет, ЭТО ДРУГОЕ. А в вашем языке даже синтаксис почти как в си-лайк параше всякой, сука аж флешбеки от этой хуйни.
Аноним 30/10/23 Пнд 10:40:03 #500 №2899763 
>>2897931
Попробуй Эрланг, чо
Аноним 09/11/23 Чтв 03:20:26 #501 №2913505 
>>2897931

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

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

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

Ну во-первых ты реально тупой, если языки по синтаксису оцениваешь. Во-вторых, он от C довольно далеко. У них с C общие из синтаксиса, наверное, только инфиксность и запись вызова функций.
Аноним 24/11/23 Птн 11:52:57 #502 №2934901 
image.png
почему так?
Аноним 25/11/23 Суб 10:18:34 #503 №2936153 
>>2934901
Потому что это кривая надстройка над эрлангом.
Аноним 27/11/23 Пнд 01:18:12 #504 №2938667 
>>2934901
Терпи
Аноним 07/12/23 Чтв 16:46:49 #505 №2954124 
bump
Аноним 07/12/23 Чтв 17:04:51 #506 №2954175 
Перекатил >>2954172 (OP)
comments powered by Disqus

Отзывы и предложения