>>1480204 (OP)Ну, ты это, того, прикрепляй материалы к шапке треда, там сайты, книжки интересные по теме, всякие плюсы-минусы платформы, всякие рофлы, шутки и прибаутки, как в аналогичных языковых тредах, а то что ты как этот.
Awesome list:https://github.com/h4cc/awesome-elixirОфициальные гайды (en):https://elixir-lang.org/getting-started/introduction.htmlТуториал на русском:https://elixirschool.com/ru/Плагины для IDE:https://gist.github.com/agustif/2f573557e5d2e4b42ed3b6cc4d285a8bВакансии:https://elixirjob.ru/Шпаргалка по синтаксису:http://media.pragprog.com/titles/elixir/ElixirCheat.pdfЧасовое видео по базовому синтаксису для тех, кто не любит читать (en):https://www.youtube.com/watch?v=pBNOavRoNL0
Блин, в начале карьеры, работал в проекте на эрланге. Зачетнейший язык, жаль что перекатился в питончик.Как сейчас с рынком для эрланга/эликсира?Пасты/гошки не выдавили его?
>>1488701Выдавливают понемногу.>Самые высокие зарплаты у разработчиков Scala, Objective-C и Golang — 150 000 рублей. Лидер прошлого полугодия Elixir — сейчас занимает только 6 место по зарплате.>Рост медианной зарплаты произошёл практически по всем языкам. Особенно сильным ростом отличились Objective-C (25%), Swift (24%) и Java (20%). Небольшое снижение зарплаты видим у C++ и Delphi. Наибольшее снижение медианной зарплаты наблюдаем у Elixir (-19%).
>>1488703Другими словами, эликсирошизики больше не нужны, ибо все нормальные компании переходят на гошу.
Планирую изучить elixir в ближайшем будущем. Сейчас дочитываю nomicon rust'а, затем, возможно, возьмусь за elixir. Вот как раз узнаю, что из себя акторы эти ваши представляют.
>>1488711Сравнивать процедурный кусок говна с фичами на уровне урезанного паскаля и функциональный язык с метапрограммированием и лучшей имплементацией лучшей конкурентной модели.>>1489146Ну, ты можешь писать бекенды на функциональном языке, при этом с приятным UX’ом как у Ruby, со скоростью разработки как у рельс, при этом у тебя нихуевый нативный инструментарий для риалтайма, автощедулинг на все ядра в системе, и почти бесплатный линейный скейл на N узлов, и пачка эрланговской плюшек типа хот код свапа, развитой интроспекции, ремоут шела, кучи трейсеров-дебагеров-профайлеров-сисмониторов, а ну и ультимативная отказоустойчивость конечно же.
>>1489187Все это нахуй не нужно, когда у тебя бедная стандартная библиотека. Полтора фреймворка, которые поддерживают три анонимуса и динамическая типизация, которая сводит на нет все твои попытки написать что-то больше туду листа, лол.
>>1489018Мне как человеку, имеющему опыт лишь с си-подобными языками, вкатываться было довольно сложно.
Для случаев, когда очень нужно отконтроллировать тип данных есть божественный паттерн матчинг + гарды. Понятно, что удобней, когда за тебя всем этим займется строгая типизация, но все же можно это нивелировать при необходимости.
>>1489273Ну ты же понимаешь, что Erlang берут не из-за языка, а из-за рантайма, который в отличии от той же JVM не стопает все треды, когда нужно собрать мусор. + там из коробки неплохая модель акторов и библиотека OTP, которая тебе позволяет писать различные штуки из области телекома.По-сути он и нужен для того, чтобы гонять данные из одного актора в другой и из одной ноды в другую. Для скорости туда прикручивают нативные модули на Rust или C/C++ через NIF. Мультиплеейрный бекенд калл оф дьюти так собственно и работает.Только из-за рантайма можно терпеть все эти "прелести" динамической типизации и отсутствие библиотек/системы сборок/нормальные IDE и т.д.
>>1489316Я то понимаю. Пишу на elixir/erlang с 2015 года почти каждый день и не было никаких проблем, перечисленных в >>1489221
>>1489316>отсутствие библиотек/системы сборок/нормальные IDE и т.д.Насчет IDE ничего не скажу - они мне не нужны, хватает атома и терминала спокойно.Отсутствие библиотек - спорно, большинство необходимого есть. Раньше писал на ruby, там либ дохуя и типичное приложение - конструктор, собранный из 100500 гемов, ну его нахуй. В elixir можно пользуясь тем, что есть из коробки решить овер дохуя проблем. Системы сборок - в elixir 1.9 завезли встроенный сборщик релизов.
>>1489336Да есть работа, я что на первое, что на второе место за неделю, а то и меньше нашел и устроился. Само собой, вакансий меньше, чем на мейнстрим технологиях, но они есть. Но тут стоит учесть, что на elixir/erlang и пишет не столько много людей как на PHP.>>1489330Для примера, с помощью ген сервера можно решить почти любую проблему, для которой в ruby подтягивают редис и сайдкик.
>>1489360Я на том, что ты перечислил писал либо что-то чуть сложнее хеллоуворлдов, либо вообще не писал. Задавай какие-то более конкретные вопросы.
>>1489316Ну так-то rebar3 нормально собирает. Вот в эликсире наконец-то сделали встроенный релиз менеджер, который вобрал в себя лучшее, что было в relx и distillery, а в эрланге ещё немного приходится возиться, но все есть. В плане IDE, всегда были годные конфиги под вим/емакс, есть хорошие плагины для жыдеи и для эрланга и для эликсира, хотя эликсирщики чаще сидят под VS Code + Language Server.
>>1489221>динамическая типизация, которая сводит на нет все твои попытки написать что-то больше туду листЕбать тут дед из 2004 года, проснись, маня, сейчас уже почти весь интернет работает на языках с динамической типизацией, а ты до сих пор лелеешь байку, что строгая типизация - это серьезно и единственный верный выбор для больших проектов. Не говоря уже про то, что в эликсире культура тестирования одна из самых охуенных, которые я видел в любом языке, тут хорошо покрытый тестами проект/либа(а то и вовсе написанные через TDD) - это правило, а не исключение. А юнит тесты всегда стоят на уровень выше типов и уже покрывают все то, что типы могли отловить.
>>1489771Ну нет. Сейча обратный тренд.Все хотят типизацию и максимальную строгость компилятора.Это банально ускоряет разработку, оберегая от ошибок невнимательности
>>1489772>типизация>ускоряет разработкуДержи в курсе, наркоман. Одна из основных причин, почему динамические языки стали такими популярными - это как раз то, что скорость разработки на них выше.
>>1489775Как бе да.Не зря же js заменяют typescriptом, а python - go.В питон и php добавили аннотации типов.Ну и я перейдя на строготипищированные языки, начал чувствовать себя увереннее в своем коде.Все кейсы не протестируешь.
>>1489772>оберегая от ошибок невнимательности Скорее оберегая от опечаток. А знаешь, что еще оберегает от опечаток, причем даже от тех, которые никакой компилятор не отловит? тесты
>>1489777>Не зря же js заменяют typescriptом, а python - go.Никто ничего не заменяет, через пять лет колесо моды опять повернется и все будут хайпить по динамическим языкам. Это все уже проходили и 10 лет назад, и 20, но тендеция такова, что динамические языки все популярнее и популярнее с каждым годом.>Все кейсы не протестируешь.TDD
>>1489221Я не понял ты про эликсир или эрланг.У эликсира достаточная стандартная библиотека, есть один вебфреймворк, один фреймворк для работой с БД, они охуенные и больше нахуй не надо. Лично мне либ на хексе хватает, во всяком случае 95% стандартных вещей который нужны при написании дженерик бекенда покрыты. Так же есть форматтер, линтер, тайпчекер, стайлгайды, проперти/апи/юнит тест фреймворки - всё что нужно чтоб поддерживать стабильность кодовой базы на проекте.По поводу пары анонов на поддержке - это совсем уже тупой пиздёж, у эликсира очень активное комьюнити, со стабильной кор-тимой, во всяком случае релизят они не реже, чем те же менйтенйнеры рельс/джанг.По поводу динамики, тут я тебя проигнорю, на нулевой есть тред где статикодебилы делятся своими маняфантазиями, пиши лучше туда на этот счет.Чисто для справки, Саймон Пейтон Джонс с командой не смогли больше чем за год сделать в ерланга типизацию, потому что для конкурентной модели предполагающей нефиксированную топологию и теоретический неограниченный недетерминизм - это сделать не так просто. Но если сделаешь - не забудь позвонить в Эриксон. Ну и опять же, добавить типизацию = проебать интроспекцию и изменение кода в запущенной программе и добрую часть отказоустойчивости вместе с let it fail = проебать язык. Типы + акторы это хуйня, есть рисеч проект Akka Typed, выглядит интересно, но уныло, типа акка и так урезанная версия эрланговских акторов, а тут ещё больше ограничений, ну нахуй
>>1489777>Не зря же js заменяют typescriptом, а python - go.тайпскрипт-обычный компилятор В жс,жс никуда не делся
>>1489872В том то и дело.Что пилили-пилили интерфейсы на J's и охуевали. Потому что без типизации поддерживать большой проект - жопа.Вот и наворотили поверх тайпскрипты/флоу/ещё какую-нибудь хрень.
>>1489797Дурачок, блядь. Ты что-нибудь сложнее вебни писал на своем эликсире?И какой смысл использовать эликсир, когда это можно сделать проще, быстрее, а самое главное дешевле.
>>1489935Тебе уже объяснили что это не так. Тем более, ты не сможешь найти нормальную работу. Кругом одни мутные компании, которые за твой эрланг с эликсиром платят 80к в серую, лол.
>>1489944Какой же ты смешной. Ты на HH давно был? 95% всех эликсир вакансий - это переписывание проектов с рубей на эликсир. Остальные 5% так же предполагают знание рубей.Вся работа на эликсире - это веб параша и круды за мелкий прайс.
>>1489954У меня лично выходит так, что круды это максимум 10% задач, все остальное - разные микросервисы.На HH у меня стоит автопоиск, до сих пор каждый день какие-то вакансии прилетают, сейчас открыл, пришла вакансия 150-200к, только elixir, без рубей.Я хуй знает, ты пробовал сам устроиться или начитался чего-то? Вакансий мало, разработчиков на эликсире в РФ еще меньше, наоборот, если у тебя есть опыт, то тебя с руками оторвут.
>>1489963Ты плохо читаешь описание вакансий. Никому не нужен чистый эликсир. Все переписывают свои приложения с рельсов на феникс. А твои "микросервисы" - это обычная вебня и круды.
>>1489954>>1490001Что у тебя за жопоболь от веба? Веб - это во-первых огромный процент рынка программирования, а во-вторых(в том числе и из-за процента рынка) интересных задач там хоть жопой жуй, даже самый дегенеративный проект не будет состоять на 100% из чистых крудов. Очередной студент протек, который разделяет области программирования на илитные и ниилитные, основываясь на собственном манямире?
>>1489938>Тебе уже объяснили что это не так.Где? Если ты про этот >>1489221 высер, то тебе ответили что это всё тупой пиздёж. Особенно меня улыбнул пук что нельзя больше больше двух строк написать, охуеть у бекенда дискорда значит меньше двух строк. Олсо, нахуй ты мне вообще что-то объясняешь шизик с дивана блять? Я на этом языке продакшн код пишу четвертый год, сменил 3 конторы. Все фирмы UK/US/Norway/Sweden-based.Я конечно понимаю что современный зк/ подразумевает атмосферу беспросветной тупости, так как почти полностью состоит из вкатывальщиков и теоретизирующих студентиков с лабами, но это уже какой-то совсем пиздец. Мир не заканчивается на обосанных аутсорсерах и hh.ru (ни разу туда не заходил, кстати). Если у тебя главная задача - продать свою жопу по-быстрее в ютненький отечественный бадишоп, действительно, лучше начать с жееса или джявы там, но ты, наверное, сейчас охуеешь, но люди не только по таким критериям языки выбирают. По вакансиям, мне каждую неделю минимум одна прилетает. Прямо сейчас есть открытые вакансии в Валенсию, в Торонто, в Берлин, в Таллин, во многих из них даже эликсир можно не знать, достаточно иметь хороший опыт в руби, понимать на базовом уровне ФП и быть открытым для обучения.
>>1489940> goakkaКлоакка, блять.Алсо, кто-нибудь уже писал с использованием Phoenix LiveView? Насколько всё круто?
>>1490498>>1490601Если нужен динамический рендеринг без обновления страницы, то рано или поздно все равно придете к SPA, да и чистый API будет полезен для приложений на других платформах, так что смысл мучаться, лучше сразу хуярить реакт. Перевожу рельсы на феникс+реакт, ни о чем не жалею.
>>1490797Потому что языки вызывают интерес, но работы по ним нет или мало, и вкатиться в них типичному похапэшнику непросто. одна из причин
>>1489317Для того же, что и элик concurrent, fault-tolerance, high load, только синтаксис более ебанутый. Собственно элик и был создан для того, чтобы для виртуальной машине эрланга было проще писать.
>>1493048Какой смысол просто так бампать. Давайте уж проведем перекличq: кто писал/пишет в реальных проектах на erlang/elixir? Пока что помимо себя видел только одного анона итт.
>>1493092Из рашкинских средне-крупных контор на элике пишут только funbox вроде. И то не факт, что они этому рады, судя по вечно открытым вакансиям.
>>1493159Судя по вакансиям, у них там в основном RoR, который они переписывают на Elixir/Phoenix. Вполне обычный юзкейс щас.
>>1493160В эликсире ебанутые только макросы, остальное 10/10, просто и интуитивно. Еще есть простой как палка clojure, где ты за 10 минут можешь усвоить 90% всего синтаксиса в принципе.
>>1493164>Еще есть простой как палка clojure, где ты за 10 минут можешь усвоить 90% всего синтаксиса в принципе
>>1493167Как вообще так случилось блэт, что богомерзкий php нехило так апгрейднулся в скорости и фичах, а божественный руби почти на свалке истории.
>>1493184немного не так,рубен медлено,но верно ускоряется,уже есть JIT в сыром виде.другое дело рельсы,которые все больше обрастают фичами,больше абстракций,что нивелирует скорость руби
>>1493169>>1493185Выбирать язык по синтаксису - это быть долбоебом необучаемым. К любому, даже самому ебанутому синтаксису, можно привыкнуть за неделю максимум и писать с комфортом, это не проблема в современных языках.
>>1493194Язык выбирается по многим параметрам, синтаксис - один из них. Я не хочу писать на языке, который внешне и внутренее by design представляется мне уродливым.
>>1493196Что-то уровня "я не хочу учить английский, потому что он мне представляется уродливым и ограниченным". Ты блять не знаешь языка, откуда у тебя вообще хоть какое-то представление о его уродливости-не уродливости? Потому что ты посмотрел на 10 строчек кода и они тебе НЕ ПОНРАВИЛИСЬ ВНЕШНЕ, хотя синтаксиса ты не знаешь и следовательно не особо понимаешь, что эти строчки кода делают и какие там есть альтернативы данной записи? Ебать дебил.
>>1493201А что не так, если я, например, не люблю французский и никогда не буду его учить, потому что считаю его ебанутым по произношению и написанию?
>>1493209Языки, в том числе и языки программирования, в большинстве случаев учат не просто потому что захотелось, а для конкретной цели.
>>1493215> а для конкретной цели. правильней сказать для цели нужно выбирать наиболее удобный для этого язык.бложик и на жаве можно сделать
>>1493216Мешает то, что синтаксиса ты не знаешь, а следовательно твое "я считаю" не значит примерно нихуя, потому что это просто эмоциональная оценка, которую ты не сможешь подкрепить фактами и тебя любой владеющий языком обоссыт и будет прав.
>>1493217Или я стану ненавидеть его еще больше, потому что мне придется тратить время на то, что я хейчу и считаю уродством.
>>1489927>И какой смысл использовать эликсир, когда это можно сделать проще, быстрее, а самое главное дешедля нагруженных сетевых приложений?не?
Привет Эрланго-боярам из расто-треда! Как у вас делишки, чем живёте, что превозмогаете? Какие в языке плюшки, можно ли срать не снимая свитер? А что вас бесит? Пешите, не стесняйтесь, я сегодня отдыхаю от раста.
>>1493429На расте с вакансиями тож не особо, но эт пока. А что с эрлангом не так? Давно на рынке, куча кода уже написана, сферы применения устоявшиеся. Или go'вно вас давит?
>>1489771В целом согласен, но все же сейчас наблюдается тенденция популяризации типизации. Даже в JS Тайпскрипт уже де факто стандарт, а прикрутку типов сбоку завезли даже в Питон и Руби, хотя строгая типизация там только мешает.
>>1493500Хз, что там завезли в руби с питоном, но подозреваю, что "типы" там уровня типов в эликсире - опциональная фича для того, чтобы статический анализатор кода был чуть-чуть поумнее в определенных местах. Тайпскрипт это на 100% временный форс фейсбука, который используется в основном смузехлебами на хайпе, писать на нем - это огромная боль даже по сравнению с чистым жсом. Не думаю, что он уедет куда-то далеко.
>>1489221Эрланг не является языком общего назначения. Это нишевый язык, предназначен для надежного и быстрого перекладывания байтиков из одной сотни тысяч сокетов в другую (телеком, онлайн игры, динамические опердени, вся хайлоад хуйня). Для этого стандартной библиотеки и динамической типизации более чем достаточно.А вы, блять, туду листы зачем-то на нем пишите.
>>1493540>Тайпскрипт это на 100% временный форс фейсбука, который используется в основном смузехлебами на хайпе, писать на нем - это огромная боль даже по сравнению с чистым жсом.хз, я недавно начал в пед проекте использовать, не знаю как с классами, классов у меня нет, только хуки, там удобно все, вс код теперь в разы больше подсказок показывает а обозначить типы аргументов не сложно, да и при желании можно оставить их эни
>>1489771Это дрысня как раз взлетела из-за интернетов нанчало нулевых. Плюсов нет, кроме как быстро намакакить полурабочее
>>1493647Вот же тупые макакеры, написали весь интернет на динамике, и даже не подумали, что в ней нет плюсов. Хорошо, что ты наконец вкатился в ИТ и теперь можешь их поставить на место своим авторитетным мнением.
>>1493259Ну ты же понимаешь, что нет универсального ответа? Может ты даун, которому и года не хватит, а может наоборот уникум и за три дня всё схватишь.
>>1493640Этот шарит. В целом всё так, но с другой стороны, если у тебя уже набита рука, то на elixir + phoenix + ecto можно быстро написать что угодно, хоть todo list. Само собой, если твоя сфера деятельности ограничивается написанием простых крудов на php и тебя всё устраивает - перекатываться тебе незачем. Если ты столкнулся с проблемами, когда на твоем php сложно что-то запараллелить, сделать отказоустойчивым, распределенным, etc - welcome to the club! Алсо в phoenix из коробки охуенная работа с вебсокетами - просто берешь и делаешь без жопной боли и триллиона сторонних зависимостей с костылями.
>>1493652>написали весь интернет на динамикеДа, вордпресс рулит!>что в ней нет плюсов>быстро намакакитьЭто и был плюс, который перевешивал все недостаткиВ те времена нужно было долго компилировать на петниумахСейчас с тулзой всё гораздо лучше, как и производительностью компов. Так что ещё вопрос, кто ещё быстрее из нас напишет
>>1493661>>1493660Хуй знает что вы там расхваливаете все эти Clojure и Elixir c Erlang. Может в них действительно есть то, что позволяет писать огромные распределенные бекенд системы, что-то, что в той же Scala+Akka нет, например.
>>1493540>Тайпскрипт это на 100% временный форс фейсбука, который используется в основном смузехлебами на хайпмайкрософта,маня
>>1493658Ну это понятно, но все равно интересен прежде всего личный опыт переката из ООП-параши в функциональщину.
>>1493722Перекатывался внезапно (нет) с руби. Лично для меня это было легко, потому что в руби/рельсах есть дохуя мест, где хуй разберешься, что вообще происходит из-за того, что там практически везде ебаная магия и типичные приложения состоят из 1005000 сторонних зависимостей. В elixir всё максимально логично - у тебя есть модули, в модулях есть функции и функции, сука, просто берут входящие данные, обрабатывают их без всякой магии и прочего садизма, и возвращают результат - всё ведет себя так, как должно вести на первый взгляд.Единственное, немого сложным может показаться то, что касается OTP, но и это хуйня - на самом деле всё очень просто и логично работает, а сложности могут быть только из-за того, что ты с таким раньше не сталкивался в других ЯП/технологиях.
>>1493640Эрланг может и является, но эликсир на пениксе - это вполне себе современный и удобный веб-фреймворк, где можно быстро накатать что угодно.
>>1493722Если ты типичный промытый дурачок, который считает, что ООП - это плохо, а ФП - это хорошо и илитно, то наверное не стоит, так и останешься дурачком. В эликсире элементов ООП просто дохуя, а агенты-генсервера - это самые что ни на есть стейтфул классы. И это как раз охуенно, потому что ООП - это очень мощный инструмент и ФП оно никак не противоречит.
>>1494126Протокол - это полиморфизм(вызывается разная функция в зависимости от типа переменной), а behaviour - это интерфейс(определенный набор функций, который модуль обязуется предоставить). Скорее вопрос, что там одинакового.
Хуй знает, статической типизации порой сильно не хватает. Я понимаю, что с учетом посылки сообщений это все может сильно усложнится, но блин. Когда приходится рефакторить и расширять большие куски кода дико заебывает потом тратить полдня, гоняя тесты и отлавливая все места, где вместо пизды передал хуй. Совсем мрачно становится, если люди еще и не пользуются спеками и диалайзером. Вообще хуй проссышь, что передается в функцию, особенно, когда одна переменная может быть и атомом и туплом и небом и аллахом. Конечно, это чудовищные "плохие практики", но порой людям лень напрягаться, в то же время в статически типизированном языке этих проблем бы не возникло никогда.Ну а так, конечно, лучший язык.
>>1494537В чувствительных местах гарды + приведение типа к нужному, понятно, что это лишние телодвижения по сравнению со статической типизацией, но большинство проблем решить можно, да и не так это и геморно тащемта.
Кстати, какие у вас выработались хорошие практики написания кода на эрланге? Перечислю некоторые свои:1) Не слать сообщения процессу через ! или даже через erlang:send(). Из-за этого потом совершенно невозможно понять, кто вообще может слать сообщения процессу, код которого ты сейчас читаешь. Процессы всегда делать ген_серверами и оборачивать посылку сообщений им через соответствующий интерфейсный метод модуля. Если не следовать этому правилу, то код превращается в асинхронную лапшу, где совершенно не возможно понять, кто с кем общается.2) Не пользоваться туплами, пользоваться структурами. С туплами, особенно если люди не потрудились прописать спеки, бывает сложно понять, где там что лежит.3) Не использовать процессы там, где это не нужно. Программируя на эрланге (и на го, кстати, тоже, но там еще хуже) тоже можно скатиться в асинхронный ад. Десятки процессов, все асинхронно, держать в голове - невозможно.4) "Выпрямлять" взаимодействие процессов. Параллельное выполнение - всегда сложно и если много процессов запутанно общаются между собой, то получается асинхронная лапша, гораздо страшнее goto. Это правило похоже на классическое требование к небольшому числу связей у модуля с внешним миром. Если эти связи еще и параллельные, то это очень плохо. Лучший вариант, это когда диаграмма параллельного взаимодействия процессов направленна в одну сторону - это не всегда возможно, но к этому стоит стремиться.5) Всегда прописывать типы, спеки, настроить автоматический прогон диалайзера на всех приложениях.
>>1494537>рефакторить и расширять большие куски кодаНу так рефактори и расширяй не большими кусками кода, а маленькими шажками, чтобы на каждом шаге все тесты работали, а не висели красными по 15 минут.
>>14949101) Согласен.2) Внутри функций/в приватных функциях вполне себе можно юзать без задней мысли, очень удобно зачастую.3) Согласен.4) С такими проблемами не сталкивался.5) Согласен, но диалайзер у меня на работах как-то не приживался никогда.
>>1494910Добавлю еще: не переусердствовать с нифами. Любой ниф, как мы помним, блокирует весь тред виртуальной машины. Порой эффект от этого гораздо хуже, чем польза от ускорения кода нифом. У меня был случай, когда переписали один кусок на нифы и в итоге получили падения всей вм по памяти. Шедулер блокировался, росли очереди, не успевали разгребаться, шедулер снова блокировался и т.д. В документации разработчики Erlang советуют, чтобы время выполнения нифа было примерно 1 млсек. У нас это требование сохранялось в среднем, но пики доходили до сотни млсек. Как оказалось, распределение пиков порой получалось довольно плотным и клало вм.Кстати, как выше писали, эрланг - не совсем язык общего назначения. Как у вас устроена интеграция с написанными на других языках частями? Общение по сети? Jinterface? C node?
>>1480204 (OP)Ща осваиваю бальзам + феникс фреймворк. На фоне Node.js просто небо и земля. Насколько все удобно, для людей как говориться. Одного не понимаю, почему бальзам так непопулярен. Я его для своих целей учу, так что пох. Но как по мне работать на нем очень удобно.
>>1495589> На фоне Node.js просто небо и земля.Что небо, что земля? Ты по-человечески можешь расписать хотя бы в пару предложений достоинства и недостатки озвученных технологий в сравнении друг с другом?Неужели, блядь, это так тяжело сделать сразу, когда свои мысли в форму изливаешь, вместо пердежа в лужу?
Тут упоминали скалу и акку. Поясните, у них там полноценный вытесняющий планировщик или долгий цикл без ввода/вывода в одном акторе заблокирует весь тред, пока не закончится?
>>1495648Про ноду достаточно знать, что там одно необработанное исключение в заднице какого-нибудь http-хэндлера кладет весь сервер к хуям.
>>1495648300$ на счёт, и готов провести тебе небольшой ликбез. А бесплатно тупое говно на анонимном форуме учить - занятие бесполезное и неинтересное.
>>1495676почему,тут неплохие кодкры сидят,отвечают на вопросы быстрее и понятнее иногда,чем на стэковерфлоу
>>1495679>пацаны у меня лаба>пошел нахуй>ребята моя тян хочет устроится хрюшей подскажите>пошел нахуй>с чего начать изучать Х>нутыпонл
>>1495676>300$ на счёт, и готов провести тебе небольшой ликбез.Готов бесплатно провести тебе шершавым по губам, беспруфный ты петушок. Грош цена твоим словам.
>>1495798Erlang and OTP in action - пожалуй, лучшая книга. Если кажется сложной, то Learn you some Erlang for great good, там максимально разжевано, а по охвату информации почти не уступает первой.Для хардкода - the beam book - описание работы вм от разработчиков, увы, далеко не полное, но альтернатива только одна - читать исходники.Есть хорошая статья про работу с памятью в эрланге https://blog.heroku.com/logplex-down-the-rabbit-hole
>>1495648В Node.js нет нормального фреймворка вообще. Ну то есть как. Есть конечно Nest, который говно по перфомансу. И еще Loopback, который тоже недалеко ушел от него.Все остальное Koa2, Express, Fastify по-сути не фреймворки, а просто либы в дополнение к которым надо собирать все остальное. То есть по сути каждый новый проект, это проект из говна и палок, только разных. Особенно учитывая качество многих нпм либ.Например, нормальные орм для ноды - их нет. Ну то есть как нет. Есть sequelize который не работает без их кли, а их кли в свою очередь хуево дружит с тс. И так постоянно. Тебе надо что-то одно, а по итогу ты сидишь и весь день ебешься то с одним, то с другим. А ведь еще надо писать авторизацию, логгирование, гарды, контроллеры и еще много много всего руками. Что в Фениксе есть почти сразу.
Антуаны, вкатываюсь постепенно в Эликсир и Феникс.Сейчас, вот прохожу этот туториал - https://medium.com/@benhansen/lets-build-a-slack-clone-with-elixir-phoenix-and-react-part-2-backend-authentication-d0a40b474899Туториал устаревший немного. Такой вопрос, то что автор делает тут с гардом (конфиг, сериалайзер) , это уже устарело?Потому что мне например кидает что warning: @behaviour Guardian.Serializer does not existНу и кучу других ворнингов
>>1496140Походу много что поменялось с 2016:https://github.com/ueberauth/guardian/blob/3aa953367ff4653ed47895074bf6b66223a44810/guides/upgrading/v1.0.md>In 0.14.x you defined a serializer. The two functions from_token, and for_token have been renamed and moved. In 0.14.x you'd create a serializer with these two functions.>The new functions are subject_for_token and resource_from_claims. These functions are more clearly named and receive more complete arguments.
>>1496140Я бы тебе, раз ты только вкатываешься, посоветовал не либу юзать, а свою регистрацию/авторизацию запилить, тащемта это максимально легко делается.
>>1496108У фениксу, наверное, был бы ближе Sails (он, вроде, ещё живой) и Loopback, ну про него уже ты сказал.
>>1496201>>1496182>>1496108Уносите свою парашу из моего тредиqa. Меня просто поражает всегда одна даже мысль, что кому-то, мало того, что пришло в голову писать бэкенд на js, так это еще и взлетело!
>>1496208Для всего должен быть свой инструмент, как по мне. И вообще зачастую фронтом и бэком занимаются совершенно разные специалисты (считаю, что это правильно) и им должно быть похуй на каком языке пишут вторую часть.
>>1496212Если замахнулся работать на фуллстеке, то будь добр выучить нормальный язык для серверной части.Свои проекты, конечно, можно хоть на прологе писать. Но я бы подумал сто раз перед тем как идти работать в компанию, которая пишет на node.js что-то, даже если моя позиция требовала бы erlang/elixir - это же придется как-то взаимодействовать с неадекватами каждый день почти. Однажды там на тебя чихнет какой-нибудь конч, ты ночью с температурой в лихорадке полежишь, а потом хуяк и начнешь ходить на работу со специальным жеским диском на 1ТБ для папки node_modules.
>>1496108А если сравнивать со священной гошечкой?Как скорость, удобство разработки? Как элик перформит по сравнению с сусликом?
>>1493722В эрланге от функциональщины взяты только иммутабельность переменных, TCO, гарантия отсутствия побочек в гвардах, паттерн матчинг. Фреймворк OTP - по сути ООП Алана Кея.Максимум чего ты добьешься, выбрав Эрланг вместо своей ООП параши - перекатишься из одного типа ООП в другой. А потом будешь бузотерить на формуах, что Эрланг не торт, так как чтобы сделать бложик надо либо дохуя низкоуровнего кода написать, бинари, там, матчить вот это все либо дрочить/допиливать полудохлые Chicago Boss, N2O и прочие фреймворки. Для чего нужен Эрланг я писал выше >>1493640 . Если нужен высоконагруженный телеком - то вэлкам, если хочешь просто перекатиться в ФП - становись борщехлёбом.
>>1496404А какой смысл сейчас выбирать эрланг, а не эликсир? Имхо, если начинать новые проекты, то уже сразу на эликсире, эрланг сейчас нужен только при поддержке легаси всякого.
>>1496176Да-да, спасибо. Как раз вчера на это и поменял. Мне главное понимать что я правильно причесываю код)
>>1496223Не знаю про go вообще ничего.Где-то видел бенч на хабре, где эликсир и го были примерно на одном уровне.
>>1496429Вот, например https://medium.com/innoventes/user-authentication-phoenix-1-4-ebda68016740Если коротко - при аутентификации записываешь в conn текущего пользователя и создаешь сессию, затем делаешь plug который срабатывает при вызове каждого роута и проверяет наличие сессии
Не нашел примеров реализации примитивного АПИ сервера без третьесторонних либ. Мне нужно ресёчить сорцы баттплага?
Вот допустим есть студентота 3 лвл cs, работаю уже год фулл тайм джуниором C#/C++, пишу банковский энтерпрайз, в свободное время ковыряю Эрланг, нейросети, как case study и прочую функциональщину. Куда смотреть для вката? Разумеется, там где я живу работы на нем нет, соответственно удаленка желательно на первое время. Как вы нашли работу на Эрланге?
>>1497560Учить олимпиадные задачи на сайте leetcode и потом отправлять заявку сюда https://www.facebook.com/careers/jobsИ будет тебе работа на эрланге с топовой зарплатой в пересчете на рубли 1.5 миллиона в месяц.
>>1497560Нет смысла перекатываться в почти мертвую экосистему. Я бы строил карьеру в текущем стеке, там тоже хорошо платят.
>>1497807Я и так уже её строю и готовлюсь к перекату на 2к$ мидлом .NET, очевидно, но не хочу жизнь 9 to 5 за бабло отдать, ибо понимаю, что в итоге ну будет там 5к$ в месяц к 30-35 годам, а дальше что, ради чего жизнь прожита? Вот смотрю, на наших сеньйоров 30+, понимаю, что вот да, у людей есть бабло, опыт и скиллы, но они слизняки, который пресмыкаются перед начальниками, и импотенты, который, кроме корпоротивной дряни ничего в жизни не сделали.
>>1497808Врёте, очевидный 300кпрограммист, которому баттхертит от Эрланго зарплат. Всё там есть, если между строк читать.
>>1497815>но они слизняки, который пресмыкаются перед начальниками, и импотенты, который, кроме корпоротивной дряни ничего в жизни не сделалиА эрланг поможет как-то этого всего избежать?
>>1497842А то! Можно будет поддерживать такие штуки как ejabberd, чтобы он никогда не потонул в уязвимостях.
>>1497842Тоже с этого проорал. Гениальный пост о том, как энларж помогает избежать импотенции к 30 годам.
>>1497817Не понял о чём троллинг, на erlang работает WhatsApp: https://advance.careers/jobs/ca6292e167b82723/software-engineer-whatsapp-erlang-team-at-facebook
>>1497852блядь, а как учить матешу для проганья, чтобы доказывать алгоритмы?Везде абстрактная хуета для школьников, которые дрочат на егэ, а где рисерч материал для серьезных дядек, которые хотят играться в песочнице на корпоративные барыши?
Вот давайте по серьезному, какое применение есть у Эрланга, в котором он может потенциально порвать конкурентов? Ну я начну, наверно всякие нейросети и tracking systems. Продолжите ряд. Круды и прочий майнтстрим можно нахуй выкинуть, как я понимаю?
>>1498208Применение эрланга - это писать небольшие серверные прокладки в хай-лоад системы с кучей пользователей. Вот эликсир - это вменяемый язык общего назначения, но пока там инфраструктура заточена под те же сервера/веб. Писать можешь что угодно и легко скейлиться в хайлоад, если приспичит.
>>1498208Обычно такие сервисы, которые не хранят ничего важного в базах данных и которым хватает in-memory баз. Микросервисы, веб сокеты, лоад балансер, базы данных в памяти, логи и метрики. А вот нейросети и машинное обучение это нет, они чаще на питоне. Обработка видео на с++ делается. Веб морды тоже на отдельных языках. Поэтому сработает только если проект изначально архитектурировали под микросервисы на разных языках.
>>1498507> нейросетиОни чаще на питоне, согласен, там есть определенная эко-система. Ну а как на счет того, что процессы эрланговские маппятся 1:1 к нейронам в мозге, соответсвенно, архитектурно-теоретически говоря, не легче ли клепать НН на Эрланге?
>>1498547> маппятся 1:1 к нейронам в мозге, От копирования один в один процессов мозга для сетей уже давно отказались.
>>1498637Ну какие-то либы нужно будет подтянуть, а так да. Тащемта и феникс не такой уж большой фреймворк как те же рельсы. Можно создать приложение без html, webpack, ecto и прочих зависимостей.
>>1498705>ну и какой у него потолок работыДа такой же как и для всей остальной эликсирщины - распределенный хайлоад ¯\_(ツ)_/¯ В фениксе начиная с версии 1.3 или 1.4 четко разделили бизнес-логику и web интерфейс к этой логике. Бизнес-логика - обычное приложение на elixir, а феникс, считай, просто предоставляет интферфейс к ней ну и доп. плюшки типа channels.
>>1498731Нода - хуйня для сумасшедших, про aiohttp впервые слышу, но что бы это ни было - главная плюшка это Erlang OTP и все из нее вытекающие. Почитай хотя бы для начала что к чему: https://ru.wikipedia.org/wiki/Open_Telecom_Platform
>>1499045Скорее уж нужно приводить аргумент в пользу ноды, потому что ни один человек в здравом уме не будет писать сервера на кривом огрызке для браузеров(жаваскрипте), если у него есть выбор из десятков других языков. Но джаваскрипт мало того, что сам по себе кривой, так у него еще и 90% опенсорс библиотек это просто огромная куча неюзабельного говнокода, где даже публичный API состоит из ебаного ужаса, не говоря про внутренности, в итоге очень часто приходится писать самую базовую хуйню самому.
>>1499051А какой выбор-то? Половина из этого выбора такая же или ещё хуже, а другая половина требует трудозатрат и знаний ощутимо побольше, да и у этой второй половины задачи другие. Из первой половины параша типа питона, руби, пхп, вместо этого я бы с радостью выбрал ноду.
>>1499045Я уже писал выше, что изначально даже сама мысль писать бэкенд на js кажется сумасшедшей. Не понимаю, что происходит в голове у тех, кто собирается это юзать не под дулом пистолета.
>>1499200Наркоман? У любого более-менее мейнстримного языка будут в сто раз более удобные стандартные и сторонние библиотеки, чем у жаваскрипта. Особенно те, которые работают эксклюзивно на сервере и с браузерным миром не соприкасаются.>>1499206Тот самый знаменитый однопоточный асинк, где любой пук надо оборачивать в промис?
>>1499216Чего в ней сумасшедшего? Может быть у тебя представления о js такие, каким язык был лет 10 назад? Ну и бекенд на ноде на ts нередко пишут.>>1499223Что там удобнее в питоне, руби, пхп? С джавой, шарпом и прочими мощными языками я не сравниваю.Да, однополосный асинк. Лучше, чем если бы его не было. Если тебе надо тру асинк, ты изначально не берешь ноду. Но тебе реально достаточно редко нужен тру асинк.
>>1499748Если ты на полном серьезе спрашиваешь, чем питон с руби удобнее жопаскрипта, то скорее всего ты жопаскриптер, не писавший серьезно ни на руби, ни на питоне.
>>1499767Да, на руби и питоне не писал. Но жопаскрипт это одна из моих специализаций, я много на чём писать могу так-то. Времена такие, что за жс на беке платят жирно.
По сабжу.Сам елик и ерланг - для проф. Я как неопытный полез это осваивать без базы (в плане бекенда на более популярных)В итоге соснул. Элик еще молодой, если будут вопросы - ответ так и не сможешь найти.Я бы занялся им через 5 лет. Как раз станет более широким.
>>1498547Значит спросил у знающих инженеров, почему Эрланг не используется в нейросетях.Основная причина в том, что нейроны делают много вычислений, а Эрланг с числами работает медленно. Питон тоже медленный, но для него уже написали множество библиотек на С с обертками для Питона, поэтому используют его. Для Эрланга таких оберток не написали.Ну и еще те люди, которые первыми разрабатывали нейронные сети, продвигали С и Питон, поэтому и дальнейшие ученые используют эти языки.Алсо, примерно то же, что я и написал есть в ответах на реддите: https://www.reddit.com/r/elixir/comments/66lrz1/neural_networks_on_elixirerlang_its_worth_it/
>>1502023Зато ерланг отлично годиться для моделирования реальных биологических нейронов https://www.amazon.com/Handbook-Neuroevolution-Through-Erlang-Gene/dp/1461444624И вообще динамических систем с постоянно меняющимися данными и условиями.
>>1502008Он просто намного популярнее.>>1502156Вот как раз с го тяжело конкурировать из-за его популярности.
>>1503554Хуим. >>1503532Для Идеи есть плагин, для VSCode - тонна плагинов. Дома пишу на первом, на работе на втором.
>>1503966Каким образом на продедурной '80s style параше без ничего (гоувно) удобно решать те же задачи, что на сверхвысокоуровневом ФП-языке с охуенным UX-ом?
>>1498560Современная единица абстракции в искуственных нейросетях - слой. Ты, кончено, можешь по одному нейрону выходное значение и градиент вычислять, но тогда ты тридцать лет одну свёртку считать будешь. Алсо, нейрон в контексте нейронок - просто обычная функция. Все претензии про то, что они как-то имитируют мозг, остались в прошлом.
>>1504356>Эликсир>uxБлядь я хуею с эликсирщиков и рубистовБолее отвратительного синтаксиса среди мейнстрим языков ещё поискать надоХотя сам по себе язык и неплох дамимошел
>>1504779И чем именно синтаксис эликсира отличается от любого мейнстримного языка, интересно узнать? Тем, что там do end вместо скобок?
>>1504863Шизик твоя мамка, долбоеб.Скобки это скобки. Не буквы. Едва взглянув на язык со скобками ты уже визуально различаешь начало и конец всех логических блоков кода. И это пиздец как удобно и экономит внимание.А когда у тебя везде ебучие дуэнды, то нужно уже потратить некоторое число миллисекунд чтобы вникнуть где текст программы а где разграничитель
>>1504877Действительно, ведь люди еще не придумали такие редакторы кода, чтобы они подсвечивали do end и визуально отделяли эти блоки от остального текста. И индентацию тоже не придумали для выделения блоков. И конечно все смотрят на скобки в первую очередь, а не на количество пробелов. таблетки пей
>>1504888делать-конец - это все равно визуальный мусор, а с точки зрения реализации в элике - это еще и костыли.
>>1505017Солидарен. Язык хорош, но делать эти делатели-концы - безумие. Почему нельзя просто как у людей?
>>1505083Ни в прологе, ни в ерланге, ни в хаскеле, ни в эмэлях, ни в лиспах не было говеных квадратных скобок, так что хз про каких ты там людей. Ну а подстраиваться под синдром утёнка залетных си/джава говноедов - последнее дело. Тут ещё виной, что студентоте в вузах срут в голову говняшной, вместо той же модулы, и потом у недалёких откладывается в голове, что то, чему на парах Духаст Вечамлавыч учил, - это привычно и правильно, а все остальное - непривычно и неправильно.
>>1505739>>1505639Ну-ка маня, хоть одна причина почему визуальный do-end мусор лучше или хотя бы не хуже скобок? Тебе уже как минимум один аргумент выдвинули, ты вместо опровержения только раскудахтался про якобы синдром утенка.
>>1505904Это и есть синдром утенка. Аргумент там был уровня "скобки можно различать, а do end нельзя", хотя во-первых блоки кода в первую очередь выделяются индентацией, а во-вторых, наоборот, мешанину уровня }}) различить сложнее. Да и в эликсире do-end блоки - это просто сахар, никто тебе не мешает быть долбоебом и писать как на пике.
>>1505909>Выделяются индентациейА в языках со скобками - И индентацией И символами, чуешь где удобство, маня? И дохуя у тебя индентации в однострочных лямбдах, например?>мешанинуНу да, end;end;end; ведь меньшая мешанина чем }}} Жир протри, пиздоглаз
>>1505904Не было ни одного аргумента, кроме яскозал что do end - мусор, а скобки - сразу все понятно. Фигрурные скобки - это мусор. Особый пиздец, это когда в языке есть фигурные скобки и для блоков и не для блоков, а для других конструкций. Но говноеду вроде тебя это норм, судя по всему.
>>1505917>И индентацией И символами, чуешь где удобство, маня? do-end это не символы? Или твоя тупая голова перестает работать, если вместо скобки видит кейворд?>И дохуя у тебя индентации в однострочных лямбдахКоторые так же существуют и в эликсире, интересно, как они смогли.
>>1495589>Одного не понимаю, почему бальзам так непопулярен.Потому что функциональщина с иммутабельностью никому не всралась. Для типичного студента-выпускника с бэком в виде ООП на Си/Джаве/Сисярпе вкатываться в эликсир будет не так-то просто, добавим сюда отсутствие вакансий и получится, что данный язык может заинтересовать только всяких шизиков либо тех, кто с течением лет устал от императивщины и захотел новых ощущений.
Судя по всему, тред по эрлангу можно закрывать, софт же никто не пишет, поэтому и вместо языка редакторы и скобки в треде обсуждают./thread
>>1508959Но сам процесс вкатывания идет тяжело, надо признаться - дико бесит иммутабельность, и даже простой по логике код превращается в какие-то извращения и костыли.
>>1508390Ну вообще-то вопрос редактора вполне актуальный, так как ничего нормального нет, дебаг у меня ни в vscode, ни в идее так и не заработал.
>>1508961Например? С пайп оператором код с операциями над иммутабельными структурами не особенно отличается от процедурного, не знаю, что там может бесить.
>>1493092Я пишу на erlang с 2011 года. Не так давно уехал на ПМЖ в Швецию.Писать код на erlang/elixir можно, за это платят. Просто помимо умения писать код на каком-то конкретном языке нужно ещё и голову на плечах иметь, а это не лечится книжкой "<Language> in action".>>1494910s/структурами/рекордами/, но в целом да, хорошие правила. Я бы ещё добавил начал писать что бы я добавил, и получилось слишком много всего.>>1498262Бред. В проде всем похую на чем у тебя софт написан, на erlang или elixir, байткод один на всех и все на одного. Эликсир был придуман для школоты чтобы им было проще и побольше сахарку.
>>1489797>Ну и опять же, добавить типизацию = проебать интроспекцию и изменение кода в запущенной программетак то в явке и шарпе есть динамическая загрузка-выгрузка классов, те конечно же нельзя там целиком все изменять, но часть кода и функциональности таки можно оформить в виде плагинов динамически загружаемыхвот в крестах с этим проблема, это дав крестах по сути нет стандартизированного способа сделать динамическую загрузку-выгрузку кода, для этого приходится пользоваться сишными соглашениями, максимум что из этого можно выжать это сделать компонентную модель на интерфейсах (типа com или gtk)потом еще модель обобщенного программирования на крестах основана на шаблонах, а генерики в явке и шарпе по другому сделаныэто так же мешает крестам в интроспекции, но интроспекция в шарпе и крестах все же есть..получается, что конечно динамически типизированный язык может дать полную свободу в изменении и исследовании запущеного уже кода, но и статистически типизированные языки это все же могут, пусть и с некоторыми ограничениями
>>1509759>Бред. В проде всем похую на чем у тебя софт написан, на erlang или elixir, байткод один на всех и все на одного.Код пишется для других программистов в первую очередь, а не для байткода. На эрланге любой проект сложнее прокладки быстро превращается в ебаный неподдерживаемый пиздец.
>>1509802Я же говорю, голова нужна.Если писать как долбоеб, у тебя беспросветный пиздец получится на любом языке.
>>1509920Ты, наверное, про application. Нет, хотя это тоже можно и нужно.Достаточно в src/ запилить поддиректорию и положить модули туда. Пример: https://github.com/epgsql/epgsql/tree/devel/src
>>1509802Наоборот многие вещи проще делать, например на Эрланге легко транзакции делать, чтобы 2 одновременные записи в бд с разных серверов выполнились последовательно. В других языках для этого понадобится лочить всю базу, а тут можно распределить запросы по хэшу среди 1000 сервисов и каждый сервис выполняет последовательно свой ключ.>>1509867В Эрланге почти все приложения на микросервисах. А название говорит само за себя, что много директорий там не положено.
>>1510435>В Эрланге почти все приложения на микросервисах.Ну и как расходится с утверждением про прокладки? Микросервисы - это не вселенское благо, а конкретный инструмент под конкретные цели, некоторым(большинству) проектов они нахуй не всрались.
>>1510435>В других языках для этого понадобится лочить всю базу, а тут можно распределить запросы по хэшу среди 1000 сервисов и каждый сервис выполняет последовательно свой ключ.Ничего себе, шардирование микросервисов, нигде больше сделать нельзя!
>>1510304Спотифай не пишет на Эрланге. Судя по датам, этот чел работаешь в Erlang Solutions - аутсорс-бодишоп, который пилит заказчикам системы на Erlang.
>>1510636Я тут подумал а ведь содержать собственного эрланг разработчика крайне больно для большинства компаний. Срок закрытия вакансии увеличится в разы, bus factor будет равен единице и замену крайне трудно найти, его код не смогут редактировать другие погромисты. Просто кошмар с точки зрения менеджмента мелко и среднефирмы.
>>1510642Язык на самом деле очень простой. Одна компания, которая пилила свои сервисы исключительно на Эрланге подтвердила, что программисты с других языков вкатывались примерно за несколько недель, максимум месяц и начинали коммитить в продакшен.
>>1510653Была такая контора - Echo (aboutecho.com), где рулил Лев Валкин. Можешь поискать его презентации на ютубе и еще почитать блог Никиты Прокопова. Он в свое время работал в этой конторе и писал про Erlang.
>>1510646Меня всегда напрягали конторы, где не указыввли конкретный язык или писали что-то вроде "опыт в Х или желание его изучить", это выглядит как существенный дроп зп и перевод в ждуны если ты его не знаешь. Тем более в такой нишевый язык.
>>1510656Ну, по началу так оно и есть. Конторе тоже стремно нанимать чувака, который не рубит в основном языке на котором пишется софт в фирме.
>>1510657Вот опять проблема, что бы найти человека нужно что бы он сам хотел изучить эрланг и был согласен на дроп зп и компании на него необходимо потратить время и ресурсы пока он начнет выдавать хороший код (если вообще начнет).
>>1510688Те же рубисты переходят на эликсир, т.к. руби уже не тащит современный веб с тысячами запросов в секунду, лол. И ничего, никто не жалуется. Ты пойми, что на эрланге не пишут типичный энтепрайз или вебню. У языка есть очень узкая ниша. Если тебе веб-бекенд клепать, который будет по хттп отвечать, то лучше возьми эликсир, если ты так хочешь гонять свое поделие на BEAM.
>>1510698>Те же рубисты переходят на эликсир, т.к. руби уже не тащит современный веб с тысячами запросов в секундуС руби уходят потому что он умер нахуй т.к. хайп прошел, а не потому что все стали хайлоад писать. А в элике еще и синтаксис похож.
>>1510688Проблема только у тех, кто не хочет платить. Вот Фейсбук делает наоборот: сначала предлагает большую зарплату, а люди сами готовы учить пых и эрланг после того как получат оффер. Более того, богатым компаниям все равно на чем раньше кто-то писал, стоимость рекрутинга и выбора 1 человека из 100 настолько высока, что не имеет значения что кто-то начнет писать код на 2 недели раньше.
>>1511178>ФейсбукЧет вспомнил как они написали чатик на Эрланге для своего фейсбука, а потом в ужасе переписали на плюсы, т.к. эрланг знало пару человек и они не хотели обосраться с бус фактором.
>>1511371Твой эрланг с эликсиром нахуй никому не нужен. Лучше джаву выучить или питон и веслать на галере за штуку баксов, пока из-за возраста не погонят.
>>1511396Нет, я другой анон.После пары лет ерланга я года 4 назад перекатился в эликсир.Работа всегда была и есть, 1-2 новых вакансии в неделю стабильно прилетает. Так-то я тут уже писал об этом, тред почитай.То что это хуевый выбор языка для новичка в плане дальнейшего трудоустройства - это и так очевидно. Хотя в 2 из множества контор, где я работал интернами на эликсир брали студентов вообще без опыта Но когда у тебя уже есть опыт, язык выбирается исходя из личных предпочтений, а не из того, сколько там вакансий и прочей плебейской хуиты.
>>1511406Кому всралось пердолиться с динамикопарашей для которой ни IDE ни библиотек с тулзами не завезли, когда есть божественная Scala и Akka?
>>15114091. Потому что Scala это:а) сотрудничество с вчерашними джавамартыханами из лохусофтаб) работа с уебищными джява-быдлиотеками, написанными этими мартыханами в) работа на сцаной JVM, которая сделана для чего угодно, но не для скейлинга/отказоустойчивой работы/удобного дебагаг) многословный и перегруженный языкд) на котором каждый дрочит как хочете) sbt- это говно дополнительный пункт: Akka - это урезанная версия того, что в Erlang/Elixir есть by design (особой жопаболи статикодебилам добавляет то, что она динамически типизированная, а ее статически типизированная версия ещё более ограничения). 2. В Elixir существующие либы/фреймворки покрывают 90% того, что нужно для написания бекендов.3. Elixir/Erlang имеет плагины в Atom/Code/Vim/Emacs/Idea. 4. Нет никаких проблем с динамической типизацией. Уровень кодовой базы поддерживается за счёт форматера/линтера/тайспеков/статического анализатора/стайлгайда/код ревью/бихейвер-тестов/эволюционного рефакторинга, а ебаная статическая типизация только замедляет разработку, делает язык многословнее, а так жеа) усложняет метапрограммированиеб) ограничивает message-passing моделив) стимулирует программистов применять top-down подход, что зачастую приводит к overgeneralization, что является нерациональным, а agile-эпоху вообще бессмысленным дрочевом.
>>1511435>статически типизированная версия ещё более ограниченияС разморозкой, дедуля. Akka Typed уже давно продакшен рейди и уже заменила безтиповые акторы.Про остальное даже не читал. 90% у него библиотеки покрывают лол. То-то Валкин свой логгер писал к эрлангу.Про свою инткроспекцию можешь даже не заикаться. Удаленный дебаг и профайлинг в джаве уже лет 20 как реализован. А твой ссаный удаленный репл до эрланг кластера нахуй никому не сдался с его горячей заменой кода, лол. Только совсем отбитые что-то там на горячую обновляют на продакшене.Итог - эрланг/эликсир - это такая срань, которая нужно для перекладывания байтов из одного сокета в другой.По итогу никому нахуй не сдалось нанимать в штат эрлангиста или эликсирщика, когда в Польше можно нанять целый штат этих макак через Эрланг Солушенс за мелкий прайс по аутсорс-модели.
>>1511435>3. Elixir/Erlang имеет плагины в Atom/Code/Vim/Emacs/Idea.И все это наколеночная полурабочая параша.
>>1511501Которая пилится школотунами и прочими энтузиастами-заводчанинами. Это тебе не какой-нибудь Scala плагин для IDEA над которым фулл-тайм пашет целая команда из JB.
>>1511440Акка тайпед до сих пор отмечен как early access mode, и он имеет больше ограничений, чем обычная Akka, которая, как уже было сказано, лишь урезанная версия того что есть в Erlang/Elixir by design. Статикодебилы готовы выкрутить удобство и гибкость в ноль ради типчиков, ничего нового. Мы говорил про Elixir, в котором Logger с первых версий, и намного удобнее той параши, что явыиндусы называют логгером. Больше у тебя в посте ничего, кроме ко-ко-ко НИНУЖНА нет. Остальную часть моего поста ты проскипал, потому что ты диванный говноед, которому нечего сказать. Чтобы подводить какие-то итоги, нужно хотя бы немного разбираться в теме, про которую ты пишешь.
>>1511501>>1511526Мне как то похуй кем они пилятся, они умеют все что мне нужно и обновления выходят регулярно.
>>1511440При этом даже в Стокгольме несколько компаний где есть свой штат эликсирщиков. Насчёт мелкого прайса, ну мне на прошлой неделе упало предложение из Лондона 450£/день, это насколько мелкий прайс? Чтож они такие тупые, не могут в ES по дешевке заказать рабов, может ты свяжешься с ними, проведёшь разъяснительную беседу?
>Валкин >писалЛол, как будто в 2012 вернулся. Хотя был же error_logger + SASL + log_mf_h давно. Просто нужно было это все собирать под себя. К счастью, вдохновишься Elixir Logger в ерланге все таки появился нормальный логгер, в 2018 году, кек.
>>1509484Во-первых не Maybe, а Either, а во-вторых, нативных монад в ноде нет, а те Fantasy/Static Land либы, что реализуют поддержку монад и фп стиля, типа Sanctuary и FP-TS, такие вещи под капотом обрабатывают через тот же try/catch (encase, tryCatch2v).
>>1511556Лол, да кому ты заливаешь, клоун. Твой Elixir используют в веб-параше, для переписывания говна с Ruby. А Erlang нужен, чтобы гонять байты из сокета в сокет. Никто в здравом уме не станет писать энтепрайз системы на таких языках.
>>1511545>явыиндусыПроиграл в голосяндру. Сразу видно веб-макакина, который рест сервисы клепает на нишевом языке, лол.
>>1511556>предложение из Лондона 450£/деньПроиграл в голос с этого сельского болвана, который впервые в жизни увидел рейты контрактеров. Погугли рейты Java или Scala контрактеров ради интереса, лол. Ты в самом деле деревенский что ли?
>>1511783Скорее всего это в Аэтернити блокчейн, там все звезды Эрланга рабоают: Вирдинг, Вигер и т.д. ЗП у них там до $1.5K в день. Наебуют наркомана директора и тупо проедают эту ЗП на построение супермасштабированного блокчейна (на самом деле нет).
>>1511332Фейсбук мессенджер теперь возвращается обратно на эрланг https://www.nytimes.com/2019/01/25/technology/facebook-instagram-whatsapp-messenger.htmlПросто мессенджер появился в 2011, тогда было сложно с языками. А после покупки ватсаппа поняли, что никаких проблем нет и переводят все на их платформу.
>>1511440>Удаленный дебаг и профайлинг в джаве уже лет 20 как реализован. А твой ссаный удаленный репл до эрланг кластера нахуй никому не сдался с его горячей заменой кода, лол.Ну дебажь удаленно, когда на твой сервис присылают сообщения 10 разработчиков других сервисов. Подойдешь к каждому из них, спросишь как работает их сервисы, и делай дебаг от каждого из них, так за месяц управишься. В то время как можно просто сделать canary на свой сервер и проверить логи. Без лишних разбирательств, как работают чужие сервисы.>По итогу никому нахуй не сдалось нанимать в штат эрлангиста или эликсирщика, когда в Польше можно нанять целый штат этих макак через Эрланг Солушенс за мелкий прайс по аутсорс-модели.Личные данные американских пользователей тоже в Польшу отправишь, чтобы там почитали? Ну так первый судебный иск покажет тебе, что на локальных разработчиках экономить не следовало.
>>1511795>там все звезды Эрланга рабоают: Вирдинг, ВигерЧет проорал со светочей Эрланга. Такой-то успех устроиться в мутный криптостартап на старости лет и разводить богатенького директора на шекели, лул.
>>1511805Ну да, так и есть. Собирают погроммистов со всей Восточной Европы и устраивают в свой свэтшоп писать эрланг код, лол.
>>1511804Так поэтому и поддержали необразованого долбоеба Жозе Валима, чтобы тот им хоть что-то более продающееся запилил. Сами шведы (эриксоновцы) и Эрланг Солюшенс это именно что полудохлые старпёры, которые нихуя уже сделать не могут. За 30 лет нихуя же не сделали.
>>1511834Ты мне напоминаешь Валкина, который развалил стартап Эхо и бездарно разбазарил деньги инвестора, которого убедил, что Эрланг - это круто.А теперь сидит в СФ и не может найти работу, лол.
>>1511841Он же в MachineZone потом перешел работать сохранив лицо перед наемными сотрудниками, а потом съебался в Apple.
>>1511859Тут можно долго перечислять, Bluetail которую Джо Армстронг продал за 150 лямов тут же пиздой накрылась. Basho создатель Riak пошла по пизде. ejabberd с выходом MQTT перестал тащить и доставлять. RabbitMQ глючное тяжелое говно, и этот список можно продолжать до бесконечности. Дохлая базовая либа эрланга на которой построен в том числе и Эликсир не ревайзилась 30 лет. Понятно дело, что каждому кто сюда приходит ничего не понятно. Плохую славу Эрлангу играют люди которые не поняли как рубить бабки на Эрланге. Нам это на руку! Теперь долбоебам продают Феникс, Экто и ЛайвВью, ну вперед, посмотрим где будут все эти Эрланг/Эликсир стартапы с JSON и DTL макаками через 10 лет.
>>1511863Ты еще забыл упомянуть Сохацкого, который нагло врет, что занимается консалтингом на Эрланге для серьезных компаний.
>>1511869Ой блядь, тебе до Сохацкого далеко, даже если он будет как Валкин просить милостыню в Калифорнии.
>>1511870Ты какой-то поехавший. Сначала говоришь, что эрланг и эликсир не нужны, а потом шипишь там из под шконки про стелс стартап, лол.
>>1511876По Сохацкому у меня много инфы, его выгнали из NYNJA, список его работ в его блоге, тут без новостей пока.
>>1511878>выгнали из NYNJAДа кому это интересно. Ты лучше расскажи как его выгнали из Приватбанка, которому он пытался Эрланг продать, но что-то пошло не по плану, лол.
>>1511880Ну там как бы он всё правильно говорит. Его опердень до сих пор работает в Привате, в отличие от Corezoid который после национализации Привата выпилили нахуй. Так что тут Сохацкий не пиздит по привату и NYNJA как минимум. С другой стороны к Cloudozer LING (виртуальная машина на которой проходит OTP test suite) он не имеет никакого отношения. Других больших проектов у него не было, по крайней мере в его ЖЖ.
>>1511882Ну скачай себе книжку Армстронга по Эрлангу и еще можешь глянуть книгу Чезарини по OTP. Еще можешь посмотреть Erlang/OTP in Action. Понят фронт работ, так сказать. Ну и глянь вакансии в том же Linkedin, чтобы примерно понимать, с чем придется иметь дело.Elixir - это 99% низкопробный веб.
>>1511883>>1511884>Elixir - это 99% низкопробный веб.Так и есть, низкокачественное говно для детей или людей сразу после института. Зрелый инженер на этом писать не сможет (будет блевать).
>>1511887Но как же великая виртуальная машина BEAM, которая позволят запускать миллионы зеленых потоков? Никакой JVM это не снилось!
>>1511888да хуйня это все, на любом языке можно выебать Эрланг и написать дерево супервижина. Это вообще упражнение.
>>1511893Тогда бери чистые вебсокеты (cowboy) и пиши клиент на ванила жс. Эта технология гарантировано продержиться еще 10 лет.
>>1511891Тут еще дело в том, что BEAM не останавливает все потоки, чтобы пособирать мусор, как это делает JVM в большинстве алгоритмах GC.
>>1511895ну вот решение выбросить ноду и перейти на эрланг оправдано может быть только в очень узких случаях.>>1511896это тоже все лирика, да в BEAM у тебя локальный GC на зеленый поток и подсчет каждой инструкции, но этим можно похвастаться только в курилке перед пацанами. Для бизнеса или для процесса разработки это не важно.
>>1511902типа того, но это скорее удобство мейнтенанса и операторов консоли на хайлоаде, так то емкость у любой хуйни написаной на С++ или Rust будет выше чем у Эрланга и Эликсира, просто стоимость разработки дороже.
>>1511907>aiohttpНет, если выбирать между питоном и эрлангом, то однозначно эрланг. Даже если завалите стартап то хоть с пользой для себя :-)
>>1511900Чет проиграл с этого. Забил в Линкедин Эрланг - а там все 1к вакансий, да и там эрланг мельком упоминают типа как преимущество, хотя в проекте не используют.
>>1511909Эрланг используют либо люди которые понимают, что делают, либо люди которые нихуя не понимают и пытаются сесть в хайп трейн.
>>1511913вот Эликсир это такой хайп трейн, чтобы всю молодежь затащить в эрланг и показать другой мир, отличный от PHP/JS. Пока получается!
>>1511914> эрлангзачем мне эрланг или эликстр,если мне надо запилить свой стартап,пэт проэкт для быстрого старта и с кучей инфы?
>>1511916причина одна: говнокодить на эрланге также быстро как на лиспах, но получается гораздо качественнее и масштабируется отлично.
>>1511918Как же я проиграл, когда узнал, что народ до сих пор пытается наладить деплой своего поделия на эликсире в облака. О таких вещах как интеграции с AWS я вообще молчу - ничего не работает, либо какие-то поделки школотунов заброшенные на гитхабе.
>>1511922Да это дичь, тут как раз в Эликсире все отлично с AWS, либ на эликсире и эрланге валом, все ок. Деплоить нужно mix release.
>>1511923>в Эликсире все отлично с AWSЛол, нет. Там одни поделки школотунов, которые не поддерживаются. Некоторые сервисы AWS в принципе не поддерживают Erlang/Elixir, такие как Lambda, например.
>>1511922Что там настраивать? OTP-релизы есть, дальше docker + terraform + если надо кубернетис, плюс любой клауд-сервис. У меня 85% приложений которые я разрабатывал на Elixir все в клауде, остальное на хероку.Ты вообще не по адресу доебался, deploy это не про язык, а про devops и там инструментов достаточно чтоб задеплоить в кластере на клауд что угодно, хоть скрипты на брейнфаке. Бтв, в ерланге инструментов достаточно, чтоб свой кастомный клауд организовать на голом гипервизоре если надо. А по поводу AWS я не понял предъявы. Либы есть ex_aws, ex_aws_s3/sqs/sts и дальше по списку. Опять же, похуй кем они написаны, там писать нечего, батчинг есть, стримы есть, все по умолчанию готового, при этом удобное конфигурирование и настройка начиная от хттп клиента и парсера, и заканчивая кастомной авторизацией. Если ты про деплой, ничем не отличается от деплоя любого контейнеризированного приложения.
>>1511927ex_aws | master | last commit 24 ago Последний релиз меньше полу года назад. Список поддерживаемых сервисов: https://github.com/ex-aws?q=serviceТо что язык и инфраструктура community-driven для нормальных языков это только плюс. Конечно в случае джявы, где комьюнити состоит из тупой индусни, принято гордиться, что либа написана не независимыми разработчиками, а копрорацией такими же индусами, судя по количеству issues и багфиксов каждый день
лол, джявамартыхан залетел в тред, только открыл рот и сразу выхватил такую порцию сладкой защеканки, что порвался настолько, что до сих пор не может перестать сратьпросто обсер за обсером, но макакену норм анальная контузия это не шутки хех
>>1512008>приложений которые я разрабатывал на ElixirРасскажи, что ты разрабатывал на Elixir и какая ниша у него и Erlang с его могучим OTP?
>>1511773Спешите видеть, джавадебич из лохусофта, пишущий на коболе нашего времени, гордиться тем как он разгребает легаси-конюшни в очередной тырпрайз-параше.
>>1512033Обычные GQL/REST бекенды для мобильных приложений, healthcare API-сервисы, сервера для мультиплеер игр, микросервисы для gambling-компаний и обычные GQL/JSON-API сервисы для веб приложений. Ничего особенного.
>>1512047Стоит ли изучать Erlang перед Elixir и нужна ли OTP библиотека? Сложно вкатиться на сладкую удаленку, если имеешь уже опыт в другом языке?
>>1512035Ниша Elixir быть тем, чем были рубирельсы в нулевые. С тем исключением, что когда ror приложение получало существенную нагрузку, его приходилось переписывать или заниматься жуткой в наркоманией. Ну и риалтайм там сторонними фреймворками/либами реализовывался, а тут у феникса есть каналы, в absinthe - сабскрипшены, а если надо какой-то бекграунд, есть Task/Agent, OTP модули, всякие еба GenStage/Flow и прочие concurrent хуевины. Ну и все это с бесплатным мультикором и отказоустойчивостью. Ниша ерланга как языка - поддержка легаси, написание плагинов к джабберу/рэбиту, редкие телеком-проекты, хуйня вроде этого. Лично я давно свалил, и другим советую, хотя причины оставаться могу себе представить.
>>1512073>Ниша Elixir быть тем, чем были рубирельсы в нулевые. С тем исключением, что когда ror приложение получало существенную нагрузку, его приходилось переписывать или заниматься жуткой в наркоманией. Ну и риалтайм там сторонними фреймворками/либами реализовывался, а тут у феникса есть каналы, в absinthe - сабскрипшены, а если надо какой-то бекграунд, есть Task/Agent, OTP модули, всякие еба GenStage/Flow и прочие concurrent хуевины. Ну и все это с бесплатным мультикором и отказоустойчивостью.И что с этим плохо? Почему с этого нужно сваливать куда-то, если все так радужно?
>>1512058Желательно уметь хотя бы один ФП-язык, ну ещё часто рубистов берут, с желанием обучаться. Можно учить сразу Elixir, без Erlang, а потом пройтись по отдельным темам касательно VM-ки, рантама, особенностям работы со списками, строками и всяким тонкостям.
>>1512094>уметь хотя бы один ФП-языкЛол, а что в Elixir/Erlang из ФП? Паттерн-матчинг? Хвостовая рекурсия? Неизменяемые структуры данных и "переменные"?
>>1512099Да хотя бы это. Я с похапэ вот так вот сходу не смог вкатиться: пока читаешь доку - все ясно, начинаешь писать и мозг отключается, потому что писать как привык тут не получается, это работать не будет.
>>1512102В итоге, пишешь в час по чайной ложке, а потом понимаешь, что надо было вообще все по-другому делать, а ты уже устал, откладываешь переделывание на потом и идешь макакить на пыхе дальше, а это "потом" откладывается все дальше и дальше.
>>1512102>с похапэ вот так вот сходу не смог вкатитьсяНе, ну у меня не все так плохо. В ВУЗе был курс по функциональному и логическому программированию. Я писал на Racket и Prolog. Какое-то время писал на Scala. Не думаю, что Erlang/Elixir сможет чем-то меня удивить в плане возможностей функционального программирования.
>>1512112Тогда на изи вкатишься (только не ясно зачем, учитывая знания Scala). У меня в вузе были только кресты и джава, и я их неплохо в общем-то знал, но на собесы зассал идти, в итоге - 5 лет макакинга на PHP. На Elixir изначально смотрел как на спасение от выгорания, кажется, что все в нем красиво и правильно выстроено, все как надо, прям идеальный язык. Но вот вкатиться полноценно пока не смог.
>>1512112>В ВУЗе был курс по функциональному и логическому программированию. Я писал на Racket и Prolog.Братуха, дай пятюню, я на четвертом курсе и у нас сейчас курс по функциональному и логическому программированию. Тоже Racket юзаю.
>>1512099Ну, ФВП, стандартные комбинаторы все, рекорды (здесь структуры). А так, больше ничего такого.>>1512112Если со скалой работал то удивлять тебя особо нечем. ты прав. Если ещё с Akka и реактивными стримами опыт есть то ты вкатишься без проблем, я думаю.
>>1512157>Если ещё с Akka и реактивными стримами опыт есть то ты вкатишься без проблем, я думаюТолько возникает вопрос - а стоит ли играть свеч?
>>1512186Хороший вопрос. Особенно в свете того что Scala 3 на подходе.У обоих языков есть свои pros/cons, тут тебе решать.Я бы сказал что со Scala сложнее найти сладкую удалёнку, зато проще устроиться в локальной конторе.
>>1512112>В ВУЗе был курс по функциональному и логическому программированию. Я писал на Racket и Prolog.Какой вуз? ололо травля деанон
>>1513414вообще то это стандартный курс, который входит во все специализации на которых учат на кодеровочень странный курс, тк полгода, но за эти полгода надо дать знания как о логическом программировании (обычно это пролог) так и о функциональном (обычно это лисп, причем выбор странный, тк лисп не совсем функциональный язык)
>>1513414>>1513415>вообще то это стандартный курс, который входит во все специализации на которых учат на кодеровВсе так.
>>1513415>вообще то это стандартный курс, который входит во все специализации на которых учат на кодеровДа, но именно его у нас не было, потому что я учился на "системотехника", а не погроммиста.
>>1512099>Лол, а что в Elixir/Erlang из ФП?>Неизменяемые структуры данных и "переменные"? Ахуеть какой дебильный вопрос, прямо уровня "лол, а что в джаве из ООП? Объекты?". Действительно, что там еще из ФП, кроме единственной строго определяющей ФП фичи?
>>1513667Я мало что понимал во время поступления в вузик - куда я иду и зачем, кем буду работать. Ну то есть ясно, что буду работать программистом, но что такое программирование я знал только по трем урокам паскаля в школе.
https://hh.ru/vacancy/33631775?query=erlangА вы говорили работы нет, подбегают, деньги в карман засовывают, предлагают породнится
>>1513868Пожалуйста, не обманывай себя. Именно эти - не перезванивают, не приглашают, не нанимают. Как в той копипасте, HR-манагер нужен там для устрашения ранее нанятых сотрудников, да и всё.
>>1513868>От вас потребуется:>постараться хорошо выполнить тестовое задание;>Более конкретная зарплата по результатам собеседования.
>>1515611>Статья 330 УК РФ "Самоуправство">Статья 163 УК РФ "Вымогательство">Статья 165 УК РФ "Злоупотребление доверием">Ничего-ничего, по отношению к низшим кастам это оправданоО, ты великий полководец, а твоя мать достойная женщина. Когда сам улетишь в низшие касты, подползай ко мне, я тебя сладострастно педерастически потестирую, собачий ты сын.
>>1515635Ты ебанутый? Надо сразу принять кабанчика без опыта, который хуй знает что из себя представляет?
>>1527116Будто до этого я не искал информацию на эту тему. Я же твоё мнение спрашиваю, а не копипасту из гугла. Мантры про дженерики уже много раз встречал, думал в этот раз может какое-то особенное экспертное мнение будет.