LINUX.ORG.RU

потому-что erlang делали для разработки больших, легко масштабируемых, не убиваемых систем?

про хаскель ничего не знаю.

nanoolinux ★★★★
()

да какой-то чувак лекцию прочитал в интернете, вот все хипсторы и побежали.
Хаскель наверное нужен для 'ускорения' и более жёсткой компайлтайм проверки типов проверки каких-то 'критичных' к этому кусочков.

Скоро фп станет мэйнстримом, а какие ещё парадигмы есть, куда можно будет свалить, чтобы быть не как все ?

Bad_ptr ★★★★★
()

Уже не в первый раз вижу миграцию с питона на haskell + erlang. Например, в яндексе и селектел.

o_O пару пруфов бы не помешало

alienclaster ★★★
()

примерно по такой же причине, по которой питон используют в связке с с/c++. erlang также часто используют с тем же си для ускорения.

mashina ★★★★★
()
Ответ на: комментарий от mashina

а разве это не языки одного уровня по возможностям? Говоря проще, чего не хватает в erlang (или наоборот) что есть в хаскеле?

true_admin ★★★★★
() автор топика
Ответ на: комментарий от true_admin

у ерланга динамическая типизация, например.

Bad_ptr ★★★★★
()
Ответ на: комментарий от true_admin

По селектелу видел на хабре, все это достаточно ограниченная ниша, а не «переходят с питона на хаскель и эрланг» - облачные вычисления и прочая распределенщина. Собственно, логично: eralng отвечает за многопоточность, хаскель как замена плюсам - убогий рантайм, статическое огораживание, но потенциальная многопоточность + скорость, чтобы erlang подстраховать и по незнанию ocaml. Не D же выбирать, в самом-то деле.

alienclaster ★★★
()
Ответ на: комментарий от true_admin

а разве это не языки одного уровня по возможностям? Говоря проще, чего не хватает в erlang (или наоборот) что есть в хаскеле?

В хаскеле нет ничего подобного эрланговскому let it die, в эрланге - динамическая типизация и тормоза.

alienclaster ★★★
()
Ответ на: комментарий от alienclaster

В хаскеле нет ничего подобного эрланговскому let it die

ну это не совсем аргумент. Если там чего-то нету из коробки, это можно было бы реализовать.

Bad_ptr ★★★★★
()
Ответ на: комментарий от true_admin

т.е. у haskell с гринлетами проблемы?

У erlang это уже готовая и отлаженная рабочая модель + vm + otp, а не экспериментальная поделка.

alienclaster ★★★
()
Ответ на: комментарий от Bad_ptr

Если
там чего-то
можно было бы

Никто и на джаве с плюсцами не запрещает писать многопоточные приложения, потенциально-то на них можно огого! :D

alienclaster ★★★
()
Ответ на: комментарий от alienclaster

Не смог удержаться и таки решил заняться разжиганием?

Баян и не взлетело

Ты ничего не понимаешь в хипстерах.

aedeph_ ★★
()
Ответ на: комментарий от true_admin

пруф про яндекс:

http://lanyrd.com/2012/fprog-10/schedule/?coverage=slides&venues=vwrm

И это называется громкими словами «переход яндекса»? %)

Если я правильно понял слайды: официальные причины перехода - type safety и SMP, реальные - кому-то захотелось поиграть с другими технологиями, и как раз подвернулась относительно небольшая задача вида «пора переписать прототип».

P.S. рассеянные по тексту пони заставляют сомневаться в ментальном здоровье авторов.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Селектел своё облако переписал. Это не тривиальная задача.

true_admin ★★★★★
() автор топика
Ответ на: комментарий от true_admin

не трогай пони!

Больной, если вы не будете сопротивляться, вам же будет легче.

Селектел своё облако переписал. Это не тривиальная задача.

Я не говорил, что в яндексе решена тривиальная задача - только то, что система кажется относительно небольшой. И это переписывание. Про селектел ничего сказать не могу.

tailgunner ★★★★★
()
Ответ на: комментарий от true_admin

конечно же не одного.

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

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

kyz
()
Ответ на: комментарий от true_admin

т.е. у haskell с гринлетами проблемы?

тебе уже сказали, проблема в управлении этими потоками. т.е. в живучести распределенных программ.

kyz
()
Ответ на: комментарий от Bad_ptr

ну это не совсем аргумент. Если там чего-то нету из коробки, это можно было бы реализовать.

бггг. вот эту фичу реализовали, и назвали все это эрлангом :)))))

kyz
()

Эрланг в плане языковых средств для написания т.н. «обычных» программ был полным фуфелом, когда я пару лет назад читал книжку, лёжа на пляже пузом кверху. Использование его в паре с каким-нибудь более весёлым языком просто само напрашивается.

mv ★★★★★
()
Ответ на: комментарий от true_admin

Говоря проще, чего не хватает в erlang (или наоборот) что есть в хаскеле?

Лёгкие процессы, сообщения, исключения и перезапуск, таймауты и прочая конкурентность - есть и там и там. В эрланге оно прозрачно между нодами, в хаскеле - нет (если не считать CloudHaskell). В эрланге есть горячее обновление, живой образ и дебагер, в хаскеле - только бинарники и GHC API (GHCi как среда и дебагер весьма слабый). А так хаскель статически типизирован с разными языковыми и рантайм плюшками, тогда как в эрланге многого нет (хотя в хаскеле нет, например, чего-то вроде атомов).

Вот ещё есть такая ссылка - http://eric.themoritzfamily.com/websocket-demo-results-v2.html, если не видел. Хаскельный Snap, который там представлен, написан вполне идиоматично, с точки зрения подхода эрланга.

quasimoto ★★★★
()

питон + эрланг тоже замечательная связка.

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

Взгляни тут: http://www.itjobswatch.co.uk/jobs/uk/erlang.do

Раздел: «Top 30 Related IT Skills»

Насчет хаскеля не интересовался.

swwwfactory ★★
()
Ответ на: комментарий от true_admin

и тебе спасибо за проявленный интерес - заходи если што ;)

swwwfactory ★★
()

Кстати, Лев Валкин говорил, что они успешно используют Erlang в связке с OCaml.

pitekantrop ★★★
()

Эрланг берёт библиотеками для мультитреда. Там они просто пальчики оближешь.

В принципе, Хаскель вполне позволяет написать такие же; на практике никто этим не занялся, всем проще взять эрланг.

Ну, а Хаскель берёт всем остальным.

Miguel ★★★★★
()
Ответ на: комментарий от imtw

В порядке праздного любопытства: может ли erlang использоваться как альтернатива mpi?

Когда надо много легковесных процессов занятых обработкой io - вполне, но если их будут запрягать тяжеловысными вычислительными задачами - то нет.

alienclaster ★★★
()
Ответ на: комментарий от alienclaster

вычислительными задачами - то нет.

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

alienclaster ★★★
()
Ответ на: комментарий от alienclaster

Подразумевалось, что внутри потоков будет крутиться код на каком-то другом языке. Впрочем, после беглого ознакомления вопрос снят: mpi - parallelism, erlang - concurrency, это несколько разные задачи.

imtw
()
Ответ на: комментарий от imtw

В порядке праздного любопытства: может ли erlang использоваться как альтернатива mpi?

нет. он не умеет математику.

т.е. эрланг - для «конкурентного» программирования, а мпи - для параллельного.

kyz
()
Ответ на: комментарий от imtw

Подразумевалось, что внутри потоков будет крутиться код на каком-то другом языке. Впрочем, после беглого ознакомления вопрос снят: mpi - parallelism, erlang - concurrency, это несколько разные задачи.

вот-вот.

но выше сказали - что в связке - вполе.

что плохого, если система управления потоками и рассылкой данных - будет написана на эрланге. а сами рабочие лошадки, на том же си?

думаю, вполне ок.

kyz
()
Ответ на: комментарий от Bad_ptr

Вариации на тему логического программирования и всякие там Аспектно-ориентированные программирование

pylin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.