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

Elixir 2 elixir

 Аноним 07/12/23 Чтв 17:03:32 #1 №2954172 
elixir.webp
Здравствуй, дорогой анон.

Предыдущий: >>2082722 (OP)

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

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

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

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

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

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

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

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

Вопросы?
Аноним 07/12/23 Чтв 17:32:02 #2 №2954231 
>>2954172 (OP)
> придётся социализироваться.
It's over.
>Вопросы?
В чем писать код?
Аноним 07/12/23 Чтв 22:41:22 #3 №2954637 
>>2954231

> В чем писать код?

В чём хочешь. Есть плагины для VSCode, для IDEA. Любая IDE, которая интегрируется с LSP подойдёт. Если ты ноулайфер, то на Elixir можно писать в Emacs, Vim, Neovim, Helix или Kakoune (я пользуюсь последним).

Собственно LSP: https://github.com/elixir-lsp/elixir-ls
Аноним 07/12/23 Чтв 23:22:01 #4 №2954692 
>>2954172 (OP)
>Все основные проблемы написания распределённых систем вроде сихнронизации монотонных часов, общения между машинами, поиска машин, heartbeat-ы, группы процессов, gossip-ы уже включены в язык.
>Любая достаточно сложная распределённая программа содержит заново написанную, неспецифицированную, глючную и медленную реализацию половины языка Erlang. (с)
Какие системы консенсуса встроены в Эликсир?
Аноним 08/12/23 Птн 23:38:40 #5 №2956192 
>>2954692

> Какие системы консенсуса встроены в Эликсир?

Где ты прочитал что системы консенсуса встроены в Elixir?
Аноним 09/12/23 Суб 00:14:37 #6 №2956224 
>>2956192
>Где ты прочитал что системы консенсуса встроены в Elixir?
Дегроид, прямо в шапке написано:
>Любая достаточно сложная распределённая программа содержит заново написанную, неспецифицированную, глючную и медленную реализацию половины языка Erlang. (с)
Вот я и спрашиваю, где паксос?
Аноним 09/12/23 Суб 00:24:27 #7 №2956241 
>>2956224
> Дегроид, прямо в шапке написано:

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

А так, консенсусов на Erlang/Elixir дохуя в опенсурсе, просто в язык они не встроены
Аноним 10/12/23 Вск 19:31:50 #8 №2958190 
image.png
Саша, залогинься.
Аноним 10/12/23 Вск 23:16:45 #9 №2958493 
>>2956241
Ок, пиздабол, какую часть Элексира содержит Bigtable?
Аноним 11/12/23 Пнд 18:14:08 #10 №2959431 
>>2958190

О, я последнее время часто мемы с ним вижу. Что за чел? Где посмотреть?
Аноним 11/12/23 Пнд 18:15:44 #11 №2959436 
>>2958493

Понятия не имею, я сорцов не видел. А ты видел?
Аноним 11/12/23 Пнд 20:19:42 #12 №2959586 
>>2959436
>А ты видел?
Да. И нихуя там из Эрланга нет. Разве что синхронизация времени, но это было изобретено задолго до Эрланга.
Аноним 11/12/23 Пнд 20:31:06 #13 №2959600 
>>2959431
tsoding на твиче/ютубе
Аноним 11/12/23 Пнд 21:20:18 #14 №2959748 
>>2959586

Ебать ты тупой.

Во-первых, если уж начал пиздеть про bigtable, то ты уж должен знать, что там синхронизация времени не часами лампорта, а буквально атомными часами, по штуке в каждом дц. https://www.wired.co.uk/article/google-gps-powered-database в этой статье даже ебучий автор Riak (который на Erlang написан) пишет что способы синхронизации времени совершенно разные.

Во-вторых, цитата означает не то что каждая распределённая система написана на Erlang, а значит что в каждой из распределённых систем присутствуют элементы, которые реализованы в Erlang, только в Erlang они обкатаны огромным колчиеством пользователей и написаны на чистом кроссплатформенном C, а в твоей хуйне они написаны на коленке и обкатаны только тобой на своём лэптопе.

Так что ебать ты тупой шизофреник: сначала нихуя неправильно понял, потом ещё доебался к хуйне, которую сам и придумал, и ещё и в этом доёбе очень жидко обосрался. Просто ебать разраб bigtable из гугла собственной персоной ворвался в тред прямиком из своего кабинета с мягкими стенами.
Аноним 25/12/23 Пнд 17:39:16 #15 №2977229 
1703515154951.jpg
Аноним 26/12/23 Втр 08:17:05 #16 №2977858 
>>2954172 (OP)
OP и аноны всем привет! Случайно наткнулся на тред, хотел задать вопрос. Сам думал серьезно C# учить, но почему то наткнулся на тред и стало интересно. Хочется с большими мощными системами работать. Что посоветуете выбрать с учётом перспектив C# или Elixir?
Сам физик+IT, баловался с JS, Python.
Аноним 26/12/23 Втр 09:19:12 #17 №2977894 
>>2977858

Бери Elixir, он перспективнее, потому что на Elixir есть ML и экосистема как у Python в этом плане. Да и по жизни Elixir полезнее чем шарп, потому что когда ты будет один что-то делать, на Elixir будет всё получаться сильно проще чем на C#
Аноним 26/12/23 Втр 09:24:32 #18 №2977900 
>>2977894
От голода бы только не сдохнуть
Аноним 26/12/23 Втр 09:26:05 #19 №2977901 
>>2977900

Почему от голода сдохнешь?
Аноним 26/12/23 Втр 09:29:21 #20 №2977904 
>>2977901
Обычно людям нужна работа что бы деньги фармить
Аноним 26/12/23 Втр 09:30:09 #21 №2977906 
>>2977900
>>2977229

Я вот эти мемы кстати так и не понял. Открываю статистику, а там одни из самых высокооплачиваемых языков это Erlang и Elixir

https://survey.stackoverflow.co/2023/#technology-top-paying-technologies
Аноним 26/12/23 Втр 09:30:58 #22 №2977907 
>>2977904

Ааа, понял тебя анон. Ты дальше hh.ru загончика на вакансии не смотришь, да?
Аноним 26/12/23 Втр 09:32:08 #23 №2977908 
>>2977907
>>2977906
Да флаг вам в руки. Трезво только иногда пытайтесь думать
Аноним 26/12/23 Втр 09:35:47 #24 №2977913 
>>2977908

Не, ну для такого дегенерата как ты, работы и правда не найдётся, даже не пытайся. Только я тебя расстрою, тут ни один язык не поможет, даже в вонючем JS на тебя будут пальцем показывать и громко смеяться, кога ты будешь слюни пускать
Аноним 26/12/23 Втр 10:28:56 #25 №2977958 
>>2977894
Спасибо за ответ Анон!
Аноним 16/01/24 Втр 23:07:18 #26 №3005702 
Поднятие
Аноним 30/01/24 Втр 00:23:14 #27 №3026107 
Запилил распределённый cirtuit breaker на Elixir. Работает как часы. Задавайте вопросы
Аноним 30/01/24 Втр 02:01:19 #28 №3026142 
>>3026107
Зачем распределенный? Сколько твой держит рпс по сравнению с другими?
Аноним 30/01/24 Втр 08:55:37 #29 №3026242 
писал на эрланге оче давно, полгода назад почитал пару книг про эликсир, покодил немного на нём.

Акторы/OTP действительно снимают головную боль когда пишешь распределенный софт.

Но всё же решил не вкатываться в него по этм причинам:

Основной скоуп работы - вебмакакинг. Феникс для эликсира это рельсы для руби. В целом 90% потенциальной работы это крудошлёпинг пускай с акторами и ФП, от которого меня уже воротит

Эликсир это именно инструмент для создания распределённых систем, писать на нём что-то кроме них смысла не имеет на мой взгляд.

Медленный пиздос
Аноним 01/02/24 Чтв 14:16:29 #30 №3029667 
>>3026142

Быстрее чем если пихать в Redis. Распределённый, потому что у нас кластер, который шлёт запросы в сторонний сервис шлёт из разных инстансов, и этот сервис не хотелось бы досить
Аноним 01/02/24 Чтв 14:18:48 #31 №3029676 
>>3026242

> В целом 90% потенциальной работы это крудошлёпинг

Зависит от проекта. Круды это же интерфейсы, а всё интересное внутри. Например написать какую-нибудь биржу с авторизацией и всем таким, не отличается от какого-нибудь MQTT брокера практически никак, хотя первое это на 99% круд и один вебсокет, а второе это прям работа с низкоуровневым сетевым стеком
Аноним 01/02/24 Чтв 15:10:27 #32 №3029801 
>>3029676
ну удачи тебе найти работу по написанию такого интересного проекта (серьезно), но скорее всего вся работу будет шлёпать формочки и дрочить лайввью.
Аноним 01/02/24 Чтв 16:04:57 #33 №3029916 
>>3029801
Я уже over 5 лет хуярю чистый бэкенд на elixir, формочки есть только в паре небольних внутренних приложениях, брат жив
Аноним 01/02/24 Чтв 17:40:03 #34 №3030155 
>>3029916
web бекенд? или что-то реально интересное?
Аноним 01/02/24 Чтв 17:53:22 #35 №3030186 
>>3030155
Часть - web, но это бэк без типичного фронтэнда вообще, соответственно без валидации формочек (асинхронщина всяческая), часть - типичное для стека перекладывание сообщений из одного места в другое. Не то чтобы прям что-то интересное, но и не формочки, а высоконагруженное/распараллеленное/асинхронное
Аноним 01/02/24 Чтв 17:56:09 #36 №3030194 
>>3030155
>что-то реально интересное
А эт тя ебать не должно
Аноним 01/02/24 Чтв 18:12:28 #37 №3030247 
>>3030194
кыш с двощей
Аноним 01/02/24 Чтв 20:08:50 #38 №3030463 
>>2977907
Секретные вакансии для своих, работодатели скрывают, главное верить -это всё?
Аноним 01/02/24 Чтв 20:53:13 #39 №3030541 
>>2977907
Да да, где в секретных чатах тысячи вакансий которые ждут не дождутся всех.
Аноним 05/02/24 Пнд 17:52:10 #40 №3036241 
>>3030463

1. LinkedIn
4. elixirjobs.net
8. tg: @proelixir
8. Бывшие коллеги и знакомые в elixir-тусовке

На моём опыте, всегда удаётся найти норм работу на первых трёх, но через знакомых удаётся найти самые классные. Так что общайтесь, пилите опенсурсик друг с другом, ходите на конфочки, сидите на эликсирфорумах
Аноним 05/02/24 Пнд 20:11:29 #41 №3036478 
image.png
image.png
image.png
image.png
>>2954172 (OP)

А черти, что лого придумали, они с юморком.
Надо на территории РФ запретить этот язык.
Аноним 08/02/24 Чтв 12:54:27 #42 №3040288 
image.png
Аноним 28/02/24 Срд 09:30:05 #43 №3066680 
Курс по Эликсиру на русском языке для тех кто уже знает базу.
https://github.com/yzh44yzh/elixir_course/tree/master
Аноним 29/02/24 Чтв 15:49:18 #44 №3068190 
Работу на эликсире я так понимаю не найти, правильно?
мимо 8 месяцев в ведроид разработке
Аноним 29/02/24 Чтв 16:14:23 #45 №3068217 
>>3068190
Ну хз, я вот уже полгода облизываюсь на эликсир вакухи все 5 штук где требуют 1-2 года опыта и на них всего 10-20 откликов

мимо не-эликсирщик
Аноним 29/02/24 Чтв 19:49:38 #46 №3068514 
>>3068190

Ищи тут >>3036241
Аноним 01/03/24 Птн 11:16:31 #47 №3069162 
>>3068190
Не, нормально ищется, специалистов хороших мало, можно и джуном на 200-250 залететь.
Аноним 01/03/24 Птн 11:32:08 #48 №3069176 
>>3069162
Это надо быть достаточно ушлым, я за 5+ лет до 250к не добрался
Аноним 01/03/24 Птн 14:10:41 #49 №3069289 
>>3069176
Ну не только уж, кругозор ещё помогает на собесах, адекватное общение, мотивация и умение рассказать про выбор языка, причины.
Аноним 01/03/24 Птн 14:55:23 #50 №3069322 
>>3069162
>специалистов хороших мало
>джуном
What?
Аноним 03/03/24 Вск 08:22:39 #51 №3071361 
>>3069322
Фирмы готовы вкладываться в адекватных джунов. Потому что опытные специалисты мало.
Аноним 03/03/24 Вск 13:27:56 #52 №3071566 
>>2977906
Ага, а самый высокооплачиваемый Zig, которому еще до релиза как до Луны (последняя версия 0.11). Вам не кажется что что-то не так с этой статистикой?
Аноним 03/03/24 Вск 13:29:53 #53 №3071569 
>>2977906
>>3071566
А так же копролит Perl почему-то более высокооплачиваемый чем все мейнстримные языки? Так может айда Perl учить?
Аноним 03/03/24 Вск 13:39:04 #54 №3071578 
>>3068190
20 вакансий на ХХ, 3 на линкедине. Ни в чем себе не отказывай.
Аноним 06/03/24 Срд 00:14:27 #55 №3074761 
>>2954172 (OP)
3 года на фронтенде, не осилил шапку, нихуя не понимаю про ваши распределённые системы. Моё ебало представили?
Аноним 06/03/24 Срд 03:05:15 #56 №3074811 
>>3071569
>Так может айда Perl учить?
Perl в телекоме используют всякие админы Cisco.

Но лучше не учить. Perl это лидер по забываемости. В прошлом веке я хуячил на ём программы. Нынче абсолютно забыл синтаксис. И это нисколько не смущает - ничего не потерял.
Аноним 08/03/24 Птн 08:05:26 #57 №3076966 
Чет я посмотрел примеры кода и не вдупляю ничего вообще.
Функциональные языки имеют нифига не интуитивный код. Оно того стоит вообще?
ФП программирование для умных? Насколько сложно после условной джавы или C# пересесть на фп язык, у кого-нибудь был опыт?
Аноним 11/03/24 Пнд 14:08:07 #58 №3081500 
Пососут ли другие фп языки у новой годноты?
https://gleam.run/
Аноним 11/03/24 Пнд 18:42:46 #59 №3081995 
>>3081500
Выглядит интересно, будет время пощупаю, странно что о нем ничего не слышал и не видел
Аноним 12/03/24 Втр 00:18:34 #60 №3082394 
>>3081500
Нахуй он нужен, я так и не понял
Аноним 12/03/24 Втр 00:27:03 #61 №3082404 
image.png
>>3081500
Заглянул на главную страницу.
Увидел ЭТО.
На хуй и в пизду.

Очередное соевое поделие, даже master переименован в main.
Аноним 12/03/24 Втр 07:53:28 #62 №3082489 
>>3082404
База
Аноним 12/03/24 Втр 21:12:56 #63 №3083727 
image.png
>>2954172 (OP)
>о прекрасном функциональном языке
помню еще в вузе плевался от прекрасного языка ПРОЛОГ, вижу тут решили продолжить традицию случайных результов выдаваемых операторами, но тыкать продолжу, оп смог прорекламировать язык
Аноним 13/03/24 Срд 02:03:10 #64 №3084064 
>>3076966
Тебя наверное смутил оператор "|>".
Просто нужно понять как он работает.
На самом деле несложная штука.
Аноним 13/03/24 Срд 02:05:51 #65 №3084065 
>>3083727
Ну на самом деле поведение с [0 | a] и [a | 0] логично.
Ты как бы указываешь head и tail списка, т.е. голову и хвост.
Хвостом списка может быть только список. Логично же.
Аноним 13/03/24 Срд 15:43:47 #66 №3084671 
>>3081500
https://youtu.be/clsTrQUt-4M?t=1119
Пиздит? Как gleam/erlang/elixir может быть быстрее go?
Аноним 15/03/24 Птн 21:35:29 #67 №3087544 
>>3084671
Возможно в каком-то тесте такое у него получится, но как только добавить немного логики, то тут сразу отсосёт у гошки.
Вообще видео глянул он дохуя нахваливал как у него красиво получилось, но на практике кроме него никто толком ничего там не пилит и по-нормальному язык никто не гонял. Он еще жаловался что спонсоры ему платят в 2 раза меньше средней ЗП и дайте деняг чтобы у него был энтузиазм и он смог нанять ещё кого-то лол.
Если никакая крупная контора не подкинет дровишек, то оно загнется нахуй
Аноним 19/03/24 Втр 04:26:21 #68 №3091701 
>>3081500
Бляя, фп языки одни дегенераты создают похоже. У одного блять do end вместо скобок и динамикодрисня, у другого для именованных параметров надо 2 раза название писать fn(name1 name2: String) -> String.
"->" вместо ":" для функций, ну он еблан чтоль? Сделай ты по дефолту возможность при вызове указывать имя параметра, или не указывать. Как этому больному ебанату вообще в голову пришло 2 названия для одного параметра писать?
экстеншонов не будет.
Похоже функциональные языки такое же говно, как и ООП языки.
Нормальный язык должен брать лучшее из обоих миров, потому что ООП - море говна, а ФП - лес хуёв.
Аноним 19/03/24 Втр 19:51:43 #69 №3092829 
>>3083727
> пикрил

Ебать, ты как красный на синем читаешь. Патроит дохуя?
Аноним 19/03/24 Втр 19:55:32 #70 №3092837 
>>3091701
> ООП - море говна, а ФП - лес хуёв.
Только наоборот.
Аноним 19/03/24 Втр 19:57:08 #71 №3092842 
>>3092829
Походу Midnight Commander.
Подсветка синтаксиса говно говно.
Но может быть и FAR Manager.
Аноним 20/03/24 Срд 02:08:05 #72 №3093151 
>>3092842
Это же дефолтная паверщель
Аноним 21/03/24 Чтв 15:11:08 #73 №3094822 
image.png
Аноним 22/03/24 Птн 14:38:14 #74 №3095905 
>>3091701
бротиш, дрочи свою сишечку как ебучие деды в 70е. Нормальные упругие кодеры уже давно в вебе, в js'e ну или вот в рубях/эликсире
Аноним 02/04/24 Втр 01:12:43 #75 №3109366 
>>3094822
Что это?
Аноним 18/04/24 Чтв 12:08:28 #76 №3127260 
Функтаны, есть профиты ознакамливаться с Эрлангом/Эликсиром в 2к24?
Аноним 18/04/24 Чтв 12:39:01 #77 №3127301 
>>3127260
А с глэмом?
Аноним 18/04/24 Чтв 21:42:06 #78 №3127992 
>>3127260
Есть.

>>3127301
Если про elixir шутят, что нет работы (мало вакансий по сравнению с другими языками), то тут ее реально нет
Аноним 20/04/24 Суб 16:49:32 #79 №3129747 
>>3127992
Тогда следующий вопрос, какие книги посоветуешь, и что, на твой взгляд, можно такого запилить чтобы впечатлить нанимателя не прибегая к нетворкингу?
Аноним 20/04/24 Суб 23:37:13 #80 №3130077 
juric.jpg
>>3129747

На второй вопрос сходу не отвечу, заебан, туго с фантазией
Аноним 22/04/24 Пнд 20:03:48 #81 №3132187 
Bump
Bump
Аноним 22/04/24 Пнд 20:31:52 #82 №3132208 
15865637961210.jpg
>>2954172 (OP)
А есть элексир, но чтобы был такой же быстрый как си?

В чем вообще проблема слоупочности элексира?
Аноним 22/04/24 Пнд 20:53:08 #83 №3132231 
>>3132208
Чел, что эликсир что ерланг на бим виртуалке крутятся
Аноним 22/04/24 Пнд 21:08:18 #84 №3132247 
>>3132231
А шо если сделать эликсир без виртуалки? Это возможно вообще?
Аноним 22/04/24 Пнд 22:43:16 #85 №3132324 
>>3132247
>Это возможно вообще?
Да, Говноланг называется.
Аноним 22/04/24 Пнд 23:16:16 #86 №3132337 
>>3132324
Не, это не то, говналг, он совсем плох. Какие-то сборщики мусора, будто в программировании может быть мусор, что за бред безумных манагеров.
Аноним 23/04/24 Втр 10:36:47 #87 №3132578 
>>3132208
А че ты собрался такое разрабатывать, что не хватит скорости? Бог дал изи горизонтальное масштабирование
Аноним 23/04/24 Втр 12:32:09 #88 №3132701 
image.png
>>3132337
>Какие-то сборщики мусора
https://www.erlang.org/doc/apps/erts/garbagecollection
Аноним 23/04/24 Втр 12:36:00 #89 №3132709 
>>3127260
Нет, выбирай язык, в котором есть и фп и ооп
Аноним 23/04/24 Втр 14:11:48 #90 №3132840 
>>3132709
Покамест кожу на эрланге, очень нравится. А ты что советуешь? Скала, Кложюрь, Ф-сярп??
Аноним 23/04/24 Втр 16:26:01 #91 №3133029 
>>3132578
Придумать что разрабывать всегда можно, был бы язык хороишй для этого.

>>3132701
Не ну ерланге это нормально, всё же тут другие плюсы. А тут вроде как компилируемая залупа, но почему-то говна с гц нахуячили.
Аноним 23/04/24 Втр 23:00:24 #92 №3133431 
>>3133029
>Не ну ерланге это нормально
Вы не понимаете, это другое
Аноним 24/04/24 Срд 00:04:08 #93 №3133495 
>>3132208
Да, все что на ДЖВМ из-за лучшего JIT такое же быстрое как Си после разогрева
Java или Clojure, если тебе прямо хочется функциональщину
Аноним 24/04/24 Срд 07:28:09 #94 №3133588 
>>3133431
Ну это правда другое. Это же отказоустойчивость, постоянное копирование данных. А у голанга что? Да ничего. И зависимости как в ноде.

>>3133495
>ДЖВМ
Сказал сравнимом с си, а не с калом. Жвм никогда не добьётся уровня компиляции си, в которой асм код близок к написанному вручную.
Аноним 24/04/24 Срд 08:33:26 #95 №3133611 
>>3133588
>Жвм никогда не добьётся уровня компиляции си
байтодебил порвался и горит
Аноним 24/04/24 Срд 11:17:09 #96 №3133722 
>>3133611
Просто работаю с высокой нагрузкой. Если тебе норм там строчки разбирать или ещё чего такое, то разбирай, я же не говорю что это для дегродов-мартышек.
Аноним 24/04/24 Срд 12:10:46 #97 №3133777 
>>3133588
>Жвм никогда не добьётся уровня компиляции си, в которой асм код близок к написанному вручную.
Это потому что она добивается большего. Может твой Си например циклы разворачивать в зависимости от использования? Может твой Эликсир девиртуализировать вызовы методов?
А ДЖВМ может и просто кэширует трансляцию часто вызываемых функций, то есть ты по сути работает с обычным С бинарником после разогрева.
Аноним 24/04/24 Срд 13:02:24 #98 №3133827 
>>3133029
>А тут вроде как компилируемая залупа, но почему-то говна с гц нахуячили.
Ты ролфишь или правда такой ограниченный? Во всех функциональных языках есть GC, и да они компилируются в нативный код.
Аноним 24/04/24 Срд 13:40:22 #99 №3133876 
>>3133777
> Может твой Си например циклы разворачивать в зависимости от использования?
Да, конечно. Там столько оптимизаций шо просто пиздец.
> Может твой Эликсир девиртуализировать вызовы методов?
Так в ерланге нет виртуальных фукнций, не?
> то есть ты по сути работает с обычным С бинарником после разогрева.
Да, это действительно так, может быть сравнимо, особенно если писать не как дэбил. Но ебля с JNI совсем не привлекает, сделали бы они это как-то попроще было бы заебись, шобы я мог менять методы JVM или вроде того.

>>3133827
Это бессмысленный язык, банимаешь ли. Ну нахуебенили они гц и функциональногов и что? Стал говналг ерблангом? Не стал. А какой у него плюс перед сри/сри++? Зачем? Чтобы. Что?
Он имеет смысл если тебе просто нравится и хочется на го писать, не более, технических плюсов нихуя нет.
Аноним 24/04/24 Срд 15:43:33 #100 №3134020 
>>3133876
>Да, конечно. Там столько оптимизаций шо просто пиздец.
У тебя же компиленый бинарь, ты его не можешь менять после компиляции.

>Так в ерланге нет виртуальных фукнций, не?
Есть наследование, же (behaviour)? Как он разбирается какую функцию вызвать?
https://www.erlang.org/doc/efficiency_guide/functions#function-calls
>apply/3 must look up the code for the function to execute in a hash table. It is therefore always slower than a direct call or a fun call.

>Да, это действительно так, может быть сравнимо, особенно если писать не как дэбил. Но ебля с JNI совсем не привлекает, сделали бы они это как-то попроще было бы заебись, шобы я мог менять методы JVM или вроде того.
Так JNI тут непричем. Это всё JIT делает, JNI нужен только когда ты внешние С библиотеки вызываешь. В большинстве случае это не нужно.
Аноним 24/04/24 Срд 17:20:09 #101 №3134112 
>>3134020
>У тебя же компиленый бинарь, ты его не можешь менять после компиляции.
Могу переписывать его прямо во время исполнения, о чем ты вообще?
>>apply/3 must look up the code for the function to execute in a hash table. It is therefore always slower than a direct call or a fun call.
Какая чопорная организация кода. Но работает, видимо.
> Так JNI тут непричем.
Не, через jni я собираюсь запускать свой асм, например. Или свои высокопроизводительные хуйни.
>В большинстве случае это не нужно.
Мне нужно.
Аноним 25/04/24 Чтв 16:33:48 #102 №3135113 
calcerl.png
Функтаны, рейтаните
Аноним 29/04/24 Пнд 16:51:28 #103 №3138854 
>>3134020

> Есть наследование, же (behaviour)? Как он разбирается какую функцию вызвать?

У эликсирчика для этого есть протоколы и консолидация. Там это буквально на один jump table dispatch медленнее получается. В жабе есть мономорфизация JIT-ом, но какой в этом толк, если у тебя язык настолько многословный и настолько топорный, что быстрее будет ручками всё мономорфизировать на Rust

Типа, вот JIT полезен в JavaScript, там все эти фичи удобны и много проблем решают, особенно учитывая что там динтипизация и весь этот диспатч типов очень удобно оптимизировать в рантайме. В Java в этом толку мало, типа только если повыёбываться перед кем-то. Условно, развернуть цикл это звучит круто, но на деле там надо раз 10 инлайнуть функции, чтобы это хоть что-то ускорило, а учитывая тот Clean Code и кучи абстракций, которыми на жабе срут без остановки, у тебя ни один рантайм не проссыт где вообще и что инлайнить.

Если посмотреть как работают оптимизации в жабовом JIT на уровне Sea of Nodes IR, то можно увидеть, что они инлайнить и не пытаются, а рассчитывают на то что у тебя во время компиляции рантайм додумается что вообще нужно инлайнуть.

>>3134112

> Могу переписывать его прямо во время исполнения, о чем ты вообще?

Тебе про JIT рассказывают, долбоёб
Аноним 29/04/24 Пнд 20:09:45 #104 №3139104 
>>3138854
>если у тебя язык настолько многословный и настолько топорный, что быстрее будет ручками всё мономорфизировать на Rust
странно это сравнивать с растом ::unwrap()::unwrap()::unwrap()

Да и толк в том, что бомбить от боров-чекера разраб не будет и время сэкономит
Аноним 29/04/24 Пнд 20:12:27 #105 №3139106 
>>3138854
>Там это буквально на один jump table dispatch медленнее получается.
Ну так так всегда, это не выигрыш никакой, это просто так работает везде. Просто джава как раз может это устранять, о чем я и пишу
Аноним 30/04/24 Втр 06:49:50 #106 №3139364 
>>3138854
>Тебе про JIT рассказывают, долбоёб
Даунёнок, причем тут жит если в си можно как угодно менять во время исполнения код программы?
Аноним 30/04/24 Втр 21:15:13 #107 №3140175 
>>3139364
ну тогда приведи пример каким образом
Аноним 01/05/24 Срд 08:50:10 #108 №3140407 
>>3140175
Просто страницу памяти с кодом делаешь в режим Read/Write и всё. Плюс синхронизация и обновление кэша команд, если это вообще требуется. Можешь вообще менять указатель возврата или что угодно ещё, блядь, да что угодно можно делать, это ж ебаная си.
Аноним 01/05/24 Срд 15:03:37 #109 №3140919 
>>3140407
Как ты поймешь на какую страницу памяти ОС поместила код? Это же детали, скрытые внутри ОС
Аноним 01/05/24 Срд 15:26:19 #110 №3140962 
>>3140919
Нет, не скрытые.
Аноним 02/05/24 Чтв 22:28:45 #111 №3142816 
>>3135113

Рейти на питоне

print(eval(input()))
Аноним 03/05/24 Птн 15:28:07 #112 №3143364 
>>3142816
Говна наверни
Аноним 06/05/24 Пнд 02:49:08 #113 №3146040 
>>3143364

За что?
comments powered by Disqus

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