Обновить
101
0.3
Роман Смирнов@Source

Head of Elixir at Ecom.tech

Отправить сообщение

В том же эрланге куча оверхеда и тормозов

Иммутабельность безусловно накладывает определенный оверхед на все функциональные языки.

Но, например, для разработки backend это практически никакой роли не играет и никаких торомозов нет. Даже, наоборот, я например переписывал как-то сервис с Go на Elixir. Получилось на пару процентов лучше по throughput, а по latency так вообще стало гораздо лучше - выбросы все ушли.

А там, где нужна числодробилка или мутабельность, для этих 0.01% случаев можно NIF на Rust написать. Как, например, Discord сделал: https://discord.com/blog/using-rust-to-scale-elixir-for-11-million-concurrent-users

Ну, вот пока вы слабо представляете, как оно должно работать (потому что ни в одном mainstream языке это нормально не реализовано), в BEAM это уже десятки лет как работает: https://medium.com/flatiron-labs/elixir-and-the-beam-how-concurrency-really-works-3cc151cddd61

EvilBlueBeaver отчасти правильно ответил. Но помимо полностью изолированных друг от друга легковесных процессов, там ещё очень богатый инструментарий по управлению ими, называемый OTP, плюс средства удаленной интроспекции, отладки и горячей замены.
Представьте себе Kubernetes только раз 5 навороченее и в рамках одного инстанса приложения, где вместо подов у вас легковесные потоки, десятки тысяч потоков.

P.S. Могу посоветовать вам 2 книги для краткого ознакомления с этой темой: The Little Elixir & OTP Guidebook и Concurrent Data Processing in Elixir

thread-safe - это хорошо, но этого мало. Это как арифметика для дифференциально-интегрального исчисления - необходимый фундамент, вокруг которого надо ещё много чего выстроить, чтобы было удобно и легко выполнять сложные задачи.

Rust уже начал выстраивать, но до уровня BEAM ему ещё лет 10 упорной разработки.

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

Elixir, как и другие языки на базе BEAM.

В плане многопоточной разработки - все остальные языки на уровне «детский сад, штаны на лямках». Причём разве что Rust c Actix в правильном направлении идёт.

Остальные только костыли разной степени ебанутости придумывают. Потому что невозможно писать адекватно многопоточный код там, где может в любой момент прийти GC и начать общую кучу чистить ?

Плюс ещё метапрограммирование нормальное в стиле Lisp - манипуляции с AST и т.д.

Была просто норм, стала плохой. Была просто плохой — стала ужасной. Ни какая суперхорошесть не требуется.

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

Верится с трудом. Скорее всего, ими и так никто не пользуется, а значит, и отказаться нельзя.

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

И такого навалом, просто оглянитесь по сторонам.

И доказывает, что хороший сервис не требуется. Работа сайта ухудшается, а клиентская база растет.

Раз работа сайта постоянно ухудшается, значит она была суперхорошей в недавнем прошлом. Вот там и кроются причины роста клиентской базы. А вы путаете причину со следствием. Не база растёт из-за ухудшения работы сайта, а работа сайта ухудшается из-за того, что клиентская база выросла из-за того, что сайт хорошо работал.

Так это площадка же, а цену клиенты выставляют. Площадкам, в целом, насрать.

Площадкам не насрать, потому что они на этом зарабатывают.

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

И ничего — вы вот хвалите это говно.

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

От пользования картой?

Чего вы постоянно передёргиваете. Вы мало услуг и товаров знаете что-ли? В современном мире их так много, что от 90% из них можно отказаться вообще никак не затронув своё удобство и качество жизни.

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

А вот и неправильно. Они теряют рынок тех, кто готов покупать в 2 раза дороже. Если бы они могли продавать им напрямую, то могли бы пусть не на 100, но минимум на 50% свою прибыль поднять.

От того что она работает, менее кринжовой она не становится. Хотя в этой сфере и ABAP не лучше по этому критерию.

А вот адекватных ЯП общего назначения мы пока не создали. Хотя были начинания. Nemerle был хорош, например.

Вы опять как-то узко смотрите. Даже банк может продвинуться за счёт удобства обслуживания. Взять Точку, например, или Тинькофф. И скорость работы - это один из важных факторов удобства. Хоть и не единственный.

Касаемо алиэкспресса, многие заказывают у перекупщиков. А значит был бы алиэкспресс удобнее и дружелюбнее к иностранцам, мог бы ещё больше зарабатывать.

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

В 2021 году вернулись на уровень 1967?

Это конечно фантастический экспоненциальный рост кол-ва запусков ?

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

Думаю, имелось в виду само железо и языки программирования, СУБД, шины данных и т.п.

У нас в этом плане только кринж типа Эльбруса и 1C.

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

Это, кстати, странно. JS-интерактива на Хабре не так много. Может, DOM как-то криво дополняют комментариями.

Ну, пространство для оптимизаций безусловно есть. Надеюсь, в эту сторону фронтенд тоже пойдёт.

Тот же WASM может допилят уже когда-нибудь до массового применения.

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

Информация

В рейтинге
2 579-й
Откуда
Россия
Работает в
Зарегистрирован
Активность