Старое обсуждение:Erlang

Материал из Неолурк, народный Lurkmore
Перейти к навигации Перейти к поиску

Внимание! Это старая дискуссия, которая некогда велась на сайте Луркоморье. Пожалуйста, для продолжения обратитесь к актуальной: Обсуждение:Erlang, которая проводится в стиле пленарного заседания.


серхнофазотлон-корнстукцый... это ащипька или глюбокая щютка? зделайти сноску щтобы нормальные люди понели ёпт.

Статью писали некомпетентные мудаки[править]

«Будучи практически Ъ-функциональным языком, основательно (не как Haskell, но заметно) препятствует использованию изменяемых данных. Это вызывает баттхёрт, но почти исключает взаимную блокировку потоков исполнения во время записи данных (кто пытался отлаживать такое в распределённых средах, тот оценит).»

Каким это, блѣдь, чудом иммутабельность избавляет от бликоровок (имелось в виду дедлоки)? Иммутабельность это лекарство от гонок данных и только от них. Для избавления от блокировок придумана STM, которую эрлангисты неосилили. Блокировки в эрланге есть и будут, только блокируют друг друга не мьютексы-хуютексы, а receive'ы.

«Встречные блокировки (когда один поток захватывает семафоры A,B,C,D, а другой захватывает D,C,A и они останавливаются и ждут друг друга до бесконечности) тоже не возникают. Так всё ли ясно?»

Туда же, блѣдь. Поток A ждёт сообщение от потока B, который ждёт сообщения от потока A -- те же яйца в профиль.

АЛСО[править]

АЛСО, Эрланг — еще единица измерения интенсивности нагрузки на канал передачи данных. Вот довольно мутная статья в википедии http://ru.wikipedia.org/wiki/%D0%AD%D1%80%D0%BB%D0%B0%D0%BD%D0%B3 -- Boza 10:35, 18 октября 2008 (MSD)

какой идиот правил статью? ты? ну ты идиоот. лучше бы дальше свой уд сосал.

Чуть менее, чем нихуя программ? Тащемта сложно назвать хоть одного инет-фага, кому эрланг не доставлял бы… потоков сообщений и всякоразного медиа.

Многопоточность в эрланге[править]

все вокруг лижут заду erlang'у. чуть ли не главное преимущество о котором все говорят — отсутствие проблем с многопоточностью(не надо использовать мьютексов, семафоров). Однако этим обрыганам очевидно невдомек, что такие проблемы возникают из-за отсутствия шаренных данных. Что мешает в той же яве отдать ссылку на объект другому потоку а у себя эту ссылку заnullить. И тогда никто не будет в два хуя долбить один объект. А все эти заявления типа «нимогу напейсать многопоточную программу». блеа, да откуда вы все повылазили?! дыруйте обратно писать все в одном потоке. А легковесные потоки с изоляцией которые преподносятся как еще одна фишка языка — а как по вашему работает java сервер, использующий netty и в 8 потоков способный держать тысячи соединений клиентов, которые типа тоже изолированы друг от друга. Или там на каждого клиента по потоку создается?! Короче ерунда этот ваш эрланг, все фишки, которые в нем есть, можно легко сделать на Java, зато потом на полную использовать тонну либ и документации по другим аспектам, вместо того, чтоб заходить на очередной форум и спрашивать «бида-бида как перекодировать 1251 в utf8 в эрланге»

Всё что можно сделать на эрланге, можно сделать на жабе, следовательно эрланг не нужен. Всё что можно сделать на жабе, можно сделать на ассемблере. Следовательно жаба не нужна. Это древний аргумент, которым можно «обосновать» ненужность абсолютно любого языка кроме ассемблера и, быть может, C, как кроссплатформенного ассемблера.
Весь вопрос в сложности: реализовать этот функционал на яве относительно легко. В довесок ты получаешь огромное коммьюнити, кучу библиотек и выбор спецов на рынке, которые смогут расширять и поддерживать код. А это отличный плюс как ни крути, по сравнению с понтами типа "а йа крутъ, потому что обмазываюсь говном пишу на эрланге"
Ты опять сравниваешь тёплое с мягким, норкоман?

Хейторз гонна хейт[править]

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

Только ГСМ не понимает, что строка — это список, (хотя, чаще внутри приложения на E данные такого рода крутятся в битстринге и вообще пофиг), что nil науд не нужен в языке с неизменяемыми переменными, полиморфизмом на уровне аргуметов, арности функций, паттер матчерингом. Все сопли про то, что лет ит креш не работает, что упавший процесс закрывает сокет/таблицу — опять таки, нытьё быдла, не понимающего простых концепций языка, вроде «один процесс одна роль», луковая архитектура, и не умеющего строить супервизорские деревья. Если тупые мозги не позволяют найти способа сделать приложение стабильным, кроме как, завернуть каждый чих в трай-кэтч, в стиле джаводибилов с их уёбищной jvm (где GC при >10000 процессов топит всё науд, а данные между инстансами передаются через самопальные серриализаторы/десерриализаторы), то да, E использовать не стоит. Можно было бы ещё сказать, что динамическая типизация — ерунда для быдла, но, опять таки, это лишь значило бы, что поц просто не знает про dialyzer, полиморфные типы E и прочее.

На фоне уебанского твистеда, с его асинхронной псевдопараллельностью, ноджееса, где неперехваченый эксепшн в любом из колбеков ложит науд всю VM, где порождение дочерних песочниц лишь создаёт иллюзию изоляции, а vm не умеет в нормальную многоядерность, и на фоне жабы, где, чтобы написать параллельно-ориентированое приложение, нужно реализовать удову тучу дополнительных сущностей, ибо мутабельность, разное время жизни объектов и процессов, шаред мемори и вытекающие из этого проблемы с синхронизацией, дед/лив локами, гонками и прочим говном, на практике решающимся всякими семафорами и прочими быдлоспособами, которые некоторые жаваблѣди даже называют удачными решениями, так вот, на фоне всего этого говна, Е должен выглядеть максимально привлекательно и может не понравиться только школьнику, который, несмотря на невероятную простоту Е, ниасилил, или же просто дауну-мазохисту. И да, долбоёбы из сан, например, просто не понимают, что передача внутри инстанса ТОЛЬКО по ссылке, чтобы быстро-быстро, — ХУЁВО в целом, когда это реальный хайл-лоад и гц уже на 2000 процессах загоняет систему в своп.

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

По делу доебаться до Е можно сказав, что он не универсальный и что мнезия говно. Можно доебаться до системы типов и io, можно доебаться, что нет чистоты, лэйзи эвалюшнз, монад, срезов, что фейлит в математику и что медленный при работе с большими бинарями. Можно, но нахуя? Е не сильвер буллет и никогда на это звание не претендовал, он лучший в своём, пока что. Да, есть сильные конкуренты, вроде вышеупомянутого Го, Кложура, Скалки, но когда очередное быдло сравнивает его со всяким модным гламурным говном, типа ноды, у меня зада просто полыхает. Я кончил.

Alice ML[править]

[1] Уважаемые аналитики, кто-нибудь пробовал Алиску на реальных задачах? Можете дать краткий её обзор и сравнение с сабжем в ключевых моментах в плане возможностей самих языков? Стандартные либы и фреймворки не считаются. — 91.205.161.2 19:55, 8 июня 2013 (MSK)

mnesia-erlang-video[править]

Добавьте. http://www.youtube.com/watch?v=BxdZfGx9UwU

http://erlang-mnesia-video.ru/

WhatsApp[править]

Ватцап использует эрланг как бэкэнд. > Серверное ПО WhatsApp написано на Erlang; в январе 2012 года сервера WhatsApp использовали ОС FreeBSD, в них было установлено по 96 ГБ оперативной памяти, и каждый мог обрабатывать от 1 до 2,8 млн соединений, что на несколько порядков выше классической проблемы C10k. http://ru.wikipedia.org/wiki/WhatsApp

Посоветуйте нубу[править]

Хочу программировать на Erlang - перспективен он в будущем? Области его применения будут расширятся?

Здравствуйте, Олег! Я всю жизнь хотел начать зарабатывать бапки, но не знал как правильно это делать. Я работал курьером, но пацаны говорят, что это отстойная работа, т.к. задача о курьере NP-полная (полная нереальных пи..цов), поэтому реальных денег она не принесет. Я пробывал делать динамические сайты на РНР и МуSQL, но младший брат нашел мои пароли и стер все сайты, я только зря потратил 1799 рублей на курс того поца в пинжаке. Я пробывал самостаятельно выучить теорию котегорий, но непонел, почему при построении котегории, где объекты - типы данных, а морфизмы - функции, из варианта типизированного лямбда-исчисления на комбинаторах получается замкнутая симитричная моноидальная катигория (подобно Hilb, где где объекты - канечномерные гильбертовы пространства с обычным тензорным произведением, а морфизмы - линейные операторы), но не декартова, каковой является Set. Это завело меня в тупик, и я начал пить. Но встретив Ваш курс "Секреты Создания Профессиональных Эрланг Оперденей С Использованием Базы Данных Mnesia", я понел, что спасен! Это совершенно замечательный курс, он открыл мне глаза, теперь я знаю как надо делать бапки, а также как производить горячую замену кода, выполняющего в этом момент расчет баланса предприятия. Я рекомендовал Ваш курс всем пацанам на раёне, они уже пошли добывать на него деньги, что резко подняло уровень преступности, но это ненадолго, и я уверен, что того стоит.