Персональные инструменты
Счётчики

Обсуждение:Erlang

Материал из Lurkmore
Перейти к: навигация, поиск

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

Содержание

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

«Будучи практически Ъ-функциональным языком, основательно (не как 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", я понел, что спасен! Это совершенно замечательный курс, он открыл мне глаза, теперь я знаю как надо делать бапки, а также как производить горячую замену кода, выполняющего в этом момент расчет баланса предприятия. Я рекомендовал Ваш курс всем пацанам на раёне, они уже пошли добывать на него деньги, что резко подняло уровень преступности, но это ненадолго, и я уверен, что того стоит.