огонь, работаем почти 5 лет, полет нормальный. LiveView - отлично
@megaman13able8 күн бұрын
Эликсир + Феникс это огонь! Жаль вакансий мало(
@Morhunov8 күн бұрын
Вот это ты плотно, концентрированно взялся за всë самое интересное! Спасибо огромное, Кирилл! Контент, топ! Вообще красавчик! Можно вот этого вот по-чаще?
@7daysmma8 күн бұрын
Космос
@kberestov8 күн бұрын
Спасибо огромное именно за этого гостя, давно ждал Юрия.
@AleksTi-p2k9 күн бұрын
Не думал что серии подкастов тут, превратятся в подкасты которых с нетерпением жду! Отдельное спс за то что интервью выходят и в аудио формате, в яндекс музыке врубаю если на прогулке и тп.
@alex4everyours8 күн бұрын
Крайне интересная тема и разговор, благодарю участников! Спасибо Кириллу за то, что делает вероятно один из самых классных подкастов в ру-сегменте и за столь опытных гостей-инженеров.👍Очень расширяет кругозор.
@Kpy3aDeR8 күн бұрын
Наконец-то Юра дошёл до вас, ждал этого очень долго. Спасибо за выпуск. Несколько комментариев к выпуску, если позволите: - Джо Армстронг всё-таки физик, не биолог. - Эрланг соответствует ООП Кея в определениях, данных к Smalltalk 72, в более новых версиях определений (Smalltalk 80 и позже) уже нет, так что этот тезис спорный. Но я сам люблю его приводить в дискуссиях с адептами ООП. :) - Появление и развитие Эликсир сильно подстегнуло развитие Эрланга и BEAM. - Архитектура Эрланга напоминает скорее первые механические коммутаторы, на это тему есть замечательное видео "100 лет Эрланга" (на английском), рекомендую. - Тулинг Эрланга благодаря усилиям WhatsApp сдвинулся с мёртвой точки, появление и развитие Erlang language platform откровенно радует. - Математика, встроенная в BEAM, особенно с большими числами, становится быстрее, спасибо JIT и советскому математику Карацубе (который придумал эффективный алгоритм умножения больших чисел). - Свалить современный JVM в stop-the-world надо постараться, но полностью риск сбрасывать со счетов нельзя. Спорный тезис. :) - Да, шедулеры настраиваются, busy-wait на них отключается, это первое что делают для сервисов, которые разворачиваются, например, в кубернетес. Тогда BEAM не будет "жечь" циклы на процессоре. - Эрлангисты уходят в Го, потому что больше предложений на рынке, а вот про обратное не слышал. - Книг по Эрлангу действительно мало, язык практически не меняется. - Основное поле деятельности команды, насколько это можно судить, это совершенствование BEAM и OTP. Изменения синтаксиса очень редки, консервативны и подчиняются прагматике использования языка.
@baha_ospanov8 күн бұрын
Отличное ознакомительно видео для расширения кругозора рядового разработчика по эрлангу и эликсиру
@petergarshtja36338 күн бұрын
В индустрии digital marketing где я проработал 4 года, центром экосистемы(1.5 миллионов запросов в секунду) написан на Erlang. Мне очень понравилось общаться + работать с программистами.
@saen58 күн бұрын
Коммент не по этой теме: очень понравился выпуск по геймдеву. Кажется, я дожил до состояния, когда мне интересно слушать "анафига" оно вообще. Т.е. зачем мы это все кодим, концепции, акторы, функторы... Где они решают какую боль ? Сколько на этой боли зарабатывают другие люди(т.е. эквивалент востребованности). Если получится позвать еще каких-то гостей, которые смогут в код\архитектуру + в бабло = будет восхитительно.
@oeaoo7 күн бұрын
Люблю послушать про что-то "потустороннее" типа вот этого вот. Увидел на стене у гостя джазовые "иконы", за это отдельный респект!
@ProGamerru8 күн бұрын
Сначала Rust, теперь Erlang - канал превращается в хардкорный. Для программистов, которые добиваются успеха, а не просто пишут код.
@artemiy_uo8 күн бұрын
Спасибо за продвижения прекрасного!
@ivan70949 күн бұрын
Супер. Давно ждал. Спасибо!)
@hurricane-rus4 күн бұрын
Спасибо за интервью! Что стоило бы улучшить по итогам: 1) Когда перед вопросом идет описание контекста вопроса на 2-3 минуты - это обычный человек не способен воспринять. Уже через 30 секунд описания контекста начинаешь забывать, с чего все началось, и думаешь "ну когда ты наконец задашь вопрос-то?!". Надо вопрос формулировать коротко (не дольше 15-20 секунд) - и пусть гость ответит так, как понял. А дальше его корректировать наводящими вопросами, если он не до конца ответил на вопрос. 2) Я бы поменьше говорил про себя и больше про гостя. Да, понятно, что Code Battles - важный проект для Hexlet, но только он никакого отношения не имеет к Юрию. Собственно Юрий ничего и не сказал про этот проект, кроме каких-то общих концептов, применяемых на проектах с эрланговской виртуалкой. Лучше было бы спрашивать Юрия про применение эрланга в его проектах (например, в Wargaming) - и ему было бы это интереснее.
Думал с ума схожу, кот где то орет. Смотрел с выключенным экраном😂
@АлександрЗверев-й1х4 күн бұрын
Спасибо большое. Темы отличные! Гости очень интересные!
@mokevnin4 күн бұрын
Рад, что понравилось!
@artemiy_uo9 күн бұрын
Огонь! Наконец-то Эликсир!
@MrOldschoolrocknroll7 күн бұрын
Немного дополню: 1) Для JVM уже давно есть GC с минимальным stop the world (Shenan doah, ZGC) 2) Scala активно используется в бигтехе для написания сервисов: Яндекс, Т-Банк и т. д. 3) В Scala актуальный стэк - это structured concurrency via effects (IO monad): Cats Effect, ZIO
@azabroflovski8 күн бұрын
Жалко раньше не интересовался Elixir/Erlang, подумываю как основной язык юзать (хотя бы на пет проектах), язык имба) относительно недавно потыкал его, просто взрыв мозга от BEAM
@akirbe18 күн бұрын
Спасибо за подкаст. Ерланг - ВещЪ ;) для "своих" задач реально экономит железо: для долгоживущих проектов предпочтительнее, но никогда не известно что станет долгоживущим ;)
@VirtuousSaint7 күн бұрын
Биологом как раз был Алан Кей, это он в статье про разработку Smalltalk писал про взаимодействие клеток, и в интервью говорил, что прототип объектно-ориентированных систем - это Интернет.
@TheRedbeardster8 күн бұрын
Да, есть еще книжка Стива Виноски: "Построение масштабируемых систем на Erlang" с камбалой
@csm-csm6 күн бұрын
Хорошо, что подняли тему акторов. Они хорошо себя зарекомендовали и работают не только в Erlang. Например, система СБП написана с применением Akka. Есть несколько докладов от их команды с конференций. Однако говоря о модели акторов нельзя забывать её главного автора Carl Hewitt. Модель акторов, по его словам, появилась как попытка промоделировать вычисления с помощью аналогий из физики, где ничто не происходит мгновенно, а все взаимодействия распространяются со скоростью
@TheLevius8 күн бұрын
Всегда было интересно глянуть этот язык, жаль что писать на нем за деньги будут только избранные
@klev1983Күн бұрын
на сколько помню вроде авиасале на элексир ушли в самом начале и были безумно рады результату.
@vladprud99845 күн бұрын
Дополню, в Go шедулер точно также работает с CPU задачами, как в Erlang. Никакой блокировки цикла событий не происходит
@delir08 күн бұрын
Спасибо! Правда зацепило про "в го вы бы были ограничены одним ядром" - не ограничены. В го, в расте и много ещё где рантаймы work-stealing. Есть гринтреды (в го это горутины) и системные треды, которые обычно запускаются по количеству ядер процессора. Эти гринтреды могут переноситься с одного системного треда на другой (если у одного системного треда закончилась работа, он идёт в глобальную очередь, а потом идёт воровать работу у других тредов) и точно также эффективно распределять нагрузку по ядрам. В расте tokio делает ровно тоже самое (на самом деле это клон горутин для раста), rayon тоже work-stealing.
@uniers8 күн бұрын
Гринтреды это и есть системные треды, но с зеленым флагом, поэтому это называется концепцией зеленых потоков (гринтредов). Когда зеленый флаг, поток не простаивает, эффективно используется процессор. Внутри этих самых системных зеленых потоков работают горутины, если горутина имеет красный флаг, тогда внутри этого потока происходит переход на другую горутину. Когда в данном потоке заканчиваются горутины на исполнение, поток забирает горутину у другого потока, это называется work-stealing!
@grumpy-coder8 күн бұрын
Всё так, но в Erlang у тебя целая экосистема, по сути ОС в комбинации с языком программирования, решающая задачи многопоточности, долгоживущих коннектов и неубиваемости за тебя, а с Elixir’ом ещё и метапрограммирование с вебом добавились (а ещё есть Nx, аналог NumPy). На go такое написать можно (и написано, есть реализация OTP на go, и web-фреймворки), плюс кубер, который даёт похожие плюшки. Но количество приседаний, для того, чтобы завести отказоустойивую систему на go+k8s и на erlang/elixir отличается, не в пользу go.
@uniers8 күн бұрын
@@grumpy-coder А как обстоят дела у Erlang насчет DLL, можно ли подключить динамическую библиотеку?
@Kpy3aDeR8 күн бұрын
@@uniers Да. Есть FFI для C, есть JInterface (для Java).
@delir08 күн бұрын
@@grumpy-coder Кто ж спорит
@alexmid8 күн бұрын
Как ни странно эту звучит, но изучать Elixir лучше с книги по Erlang "Learn You Some Erlang for Great Good!". А потом книги, курсы по Elixir. Так будет понятнее что такое Elixir по своей сути.
@СлаваВолошин-ы3с8 күн бұрын
было довольно интересно узнать, что есть язык который заточен под многопроцессорность железа, многопоточность данных
@kberestov8 күн бұрын
Могу порекомендовать книгу Саши Юрича "Elixir in Action" (3 издание) и его выступления на конференциях, особенно о Concurrency, в котором он рассказывает как реализует даже инфраструктурные штуки внутри приложения на Elixir
@Mytest4376 күн бұрын
А почему только стеке Erlang и Elixir. Там еще и Gleam есть)
@mikepotanin8 күн бұрын
Другая, чем-то даже лучшая модель акторов, реализована в языку Pony. Там актор не ждет собщения, а активируется собщением, если свободен. Чем-то похоже на асинхронные сигналы в qt. Получается меньше возможностей для взаимной блокировки акторов и не мешает типзации, но сложнее реализовать нетривиальные протоколы взаимодействия, когда вразном состоянии могут обрабатываться невсе типы запросов.
@pewpewpew86138 күн бұрын
паттерн матчинг бинарных данных выглядит очень классно, даже странно, что подобное не реализовывают в более современных языках
@jonyjinger7 күн бұрын
gRPC
@jonyjinger7 күн бұрын
ProtoBuf
@TheRedbeardster8 күн бұрын
А прикольные у Юры котики
@vtm97408 күн бұрын
О, codebattle 🎉
@unzerror82088 күн бұрын
❤❤❤❤❤
@kberestov8 күн бұрын
Эх, жаль, что и в этом интервью не поговорили конкретно про то, как найти работу на Эрланг/Эликсир свитчеру без реального опыта. На рынке РФ вакансий меньше 10, сам себе опыт не нарисуешь, а без опыта в года 2-3 резюме даже не рассматривают. Приходится учить Go только из-за того, что работы много и ЗП высокая, хотя хочется именно в Эрланг/Эликсир. Было бы здорово услышать от ребят с реальным опытом из мнение на счет работы в РФ и вообще перспектив применения этих языков в РФ.
@javascuft8 күн бұрын
Откуда свитчишься?
@kberestov6 күн бұрын
@@artemiy_uo Куда, если не секрет? И что вы написали в резюме, чтобы заинтересовать?
@artemiy_uo6 күн бұрын
@@kberestov еком. Много опыта в целом и на руби. Хорошо прошел собесы.
@VladimirKompaniets-j7m6 күн бұрын
@@artemiy_uo Поддерживаю коммент выше. Можно подробнее про ваш опыт изучения и устройства. Сам бы с удовольствием свичнулся бы с js и react native
@mykolamorozov20992 күн бұрын
если для опрационной системы выгдляит так, что CPU загружены под 100 процентов, то как вообще устроен мониторинг приложений на виртуальнйо машине BEAM? Обычный мониторинг, как я понял, будет бесполнезным?
@KMiNT218 күн бұрын
Грин среды ухи резанули хорошо так. :) Тут уже два коммента в пользу новых выпусков по Clojure. Вот бы кто нашелся на Hylang. Хотя... без шансов. Про этот питоновский ЛИСП даже мало кто слышал, наверное. Та и ... в целом.... что там особо говорить. Бери пиши да кайфуй от полной совместимости со всеми Python библиотеками.
@atmorozhenka8 күн бұрын
Хочу про Scala и Haskell. Scala и Haskell! Scala и Haskell! Scala и Haskell!
@ITksh-zp1ob8 күн бұрын
судя по вакансиям на бирже труда никто его не выбирает
@MovieMakingTeamAAA8 күн бұрын
все это напоминает корутины в котлин 😌
@tadeuskozlovski72864 күн бұрын
Нужен подкаст со спецом java.
@mokevnin4 күн бұрын
мы уже запланировали съемку подкаста с java специалистом - предварительно планируем выпустить с ним подкаст в конце февраля - начале марта.
@pewpewpew86138 күн бұрын
В го ведь добавили вытеснение, что бы одна "зависшая" горутина не стопила весь тред. Да и непонятно почему го прираваняли к однопоточным язкам, он может утилизировать все ядра.
@alexmid8 күн бұрын
Главное отличие Erlang от всех других, что весь ваш код преобразуется в нечто похожее на ассемблер, команды которого выполняются виртуальной машиной. Для выполнения каждой такой элементарной "ассемблерной" команды дергается С-функция. Это и есть редукция (преимущественно). Эти элементарные команды не могут надолго "зависнуть", просто потому что они элементарные. Это дает возможность виртуальной машине в любой момент начать/остановить исполнения вашего кода ("ассемблерной потрянки"). В отличие от других языков в Erlang вытеснение сделано на архитектурном уровне, без каких либо хаков и прерываний, системных вызовов, чтобы остановить выполнение нативного потока процесса и вытеснить задачу которой он сейчас занят
@pewpewpew86137 күн бұрын
@@alexmid так и в го насколько я знаю не используются прервывания и системыне вызовы для вытеснения
@alexmid7 күн бұрын
@@pewpewpew8613 и каким образом там происходит вытеснение?
@pewpewpew86137 күн бұрын
@@alexmid да вроде компилятор расставляет чекпоинты, на которых рантайм решает продолжать ли текущую горутину или надо её стопнуть. шедулер го ведь в юзерспейсе находится и горутина не мапится на тред 1 к 1. в одном треде может быть запущено много горутин.
@alexmid7 күн бұрын
@@pewpewpew8613 тогда можно соотнести код го между чекпоинтами который не может быть вытеснен с одной ассемблерной командой в ерланге которая тоже не может быть вытеснена, думаю тут разница очевидна. Надо смотреть что такое чекпоинты, как они работают, где и как расставляются
@itaopro83968 күн бұрын
asn1 пытались декодировать через php и go, все было плохо)
@michaelG1122Күн бұрын
Нет никаких сколько-нибудь реальных инструментов для работы с Erlang, Elixir и Gleam. Пока они не появятся, никаких систем делать на BEAM VM не получится. Только нишевые узко-направленные вещи.
@mykhailo8889 күн бұрын
По кложуру что то будет?
@TheDiNoWaR9 күн бұрын
Давно уже было
@KMiNT218 күн бұрын
Лучше по Hylang :)
@aleksandrbeloushkin79718 күн бұрын
Я попробовал год назад из любопытства именно erlang, нашел бесплатный курс на Ютубе, очень интересно и расширяет сознание программиста. Конечно переходить я не буду, но для души можно что нибудь поделать. Эликсир не понравился от слова совсем
@nikitatimofeenko93518 күн бұрын
Предлагаю переименовать канал в организованное функциональное программирование, а если серьёзно, то ждём Олега Нижникова со Scala и Виталия Брагилевского с Haskell
@ITksh-zp1ob8 күн бұрын
у нас в фирме кусок кода написан на эликсире, какая же это боль поиск новых сотрудников и постонный поиск кого-нибудь. глупый выбор в прошлом сейчас аукается нам постоянными проблемами. Плюсы у языка-фреймворка есть, но в основном академические, на практике сервер на пхп справляется так же хорошо, но разраба найти на порядок легче. как и скала, мертвый язык на продакшене, но хорошая учебная платформа.
@Илья-с1л6э8 күн бұрын
авиасейилс?)
@ITksh-zp1ob8 күн бұрын
@@Илья-с1л6э нет =)
@владимирсенцов-р1ю4 күн бұрын
Если бы в то время был Go, Erlang бы не создали
@artyomby41258 күн бұрын
язык интересный, но вакансий около 0. по синтетическим тестам в вебе, которые видел, производительность на уровне современного python. синтаксис elixir с его end-ами сильно отталкивает. на фоне Go, который и производительней и проще в написании кода, и библиотеки есть под все необходимое + компиляция в бинарь без ВМ. выглядит как проигравший эту гонку. он был прорывом в свое время, но конкуренты обогнали
@mokevnin8 күн бұрын
Эрланг по скорости нельзя сравнивать в лоб. Сам по себе он не быстрый, но он не создавался чтобы быть быстрым в однопоточном режиме, он создавался для скейлинга и soft realtime и для этих задач остальные языки тупо не подходят
@ITksh-zp1ob8 күн бұрын
@@mokevnin а чем это лучше корутин в котлине или вартуальных фредов в яве? ну т.е вообще ничего в нём нету
@uniers8 күн бұрын
@@mokevnin Не вижу преимущества для скейлинга и soft realtime по сравнению с Go.
@mokevnin8 күн бұрын
@@uniers для soft realtime должен отсутствовать stop the world + erlang не прсото так функциональный, там крайне редки рейскондишены и почти отсутствует разделяемая память. Писать конкурентные приложения на нем проще чем где бы то ни было, это могут подтвердить все, кто пытался писать на эрланге и чем-то еще подобные системы, но го конечно победил в большинстве мест, что тут скажешь. Хорошие штуки не всегда первые
@mokevnin8 күн бұрын
@ это вообще несопостовимые вещи, в эрланге кардинально другая модель работы, где процессы и их использование ни имеет ничего общего с тем что люди себе представляют когда думают о тредах (у кого нет опыта в эрланге). Поэтому эрланг интересен, все кто его пробуют, растут в инженерном плане, так как видят вообще другой подход к работе.
@vitalygrigorev86948 күн бұрын
RTOS
@Tosha.V8 күн бұрын
Что за гарнитура?
@mokevnin8 күн бұрын
@@Tosha.V shokz
@ITksh-zp1ob8 күн бұрын
а главный результат 1.5 часов ... ничего не лучше - это вообще не обсуждалось. мертвый язык
@RusFarFaz8 күн бұрын
давайте про clojure. для меня это пока темный лес, интересно было бы послушать.