да какой-то чувак лекцию прочитал в интернете, вот все хипсторы и побежали. Хаскель наверное нужен для 'ускорения' и более жёсткой компайлтайм проверки типов проверки каких-то 'критичных' к этому кусочков.
Скоро фп станет мэйнстримом, а какие ещё парадигмы есть, куда можно будет свалить, чтобы быть не как все ?
По селектелу видел на хабре, все это достаточно ограниченная ниша, а не «переходят с питона на хаскель и эрланг» - облачные вычисления и прочая распределенщина. Собственно, логично: eralng отвечает за многопоточность, хаскель как замена плюсам - убогий рантайм, статическое огораживание, но потенциальная многопоточность + скорость, чтобы erlang подстраховать и по незнанию ocaml. Не D же выбирать, в самом-то деле.
И это называется громкими словами «переход яндекса»? %)
Если я правильно понял слайды: официальные причины перехода - type safety и SMP, реальные - кому-то захотелось поиграть с другими технологиями, и как раз подвернулась относительно небольшая задача вида «пора переписать прототип».
P.S. рассеянные по тексту пони заставляют сомневаться в ментальном здоровье авторов.
Больной, если вы не будете сопротивляться, вам же будет легче.
Селектел своё облако переписал. Это не тривиальная задача.
Я не говорил, что в яндексе решена тривиальная задача - только то, что система кажется относительно небольшой. И это переписывание. Про селектел ничего сказать не могу.
Эрланг в плане языковых средств для написания т.н. «обычных» программ был полным фуфелом, когда я пару лет назад читал книжку, лёжа на пляже пузом кверху. Использование его в паре с каким-нибудь более весёлым языком просто само напрашивается.
Говоря проще, чего не хватает в erlang (или наоборот) что есть в хаскеле?
Лёгкие процессы, сообщения, исключения и перезапуск, таймауты и прочая конкурентность - есть и там и там. В эрланге оно прозрачно между нодами, в хаскеле - нет (если не считать CloudHaskell). В эрланге есть горячее обновление, живой образ и дебагер, в хаскеле - только бинарники и GHC API (GHCi как среда и дебагер весьма слабый). А так хаскель статически типизирован с разными языковыми и рантайм плюшками, тогда как в эрланге многого нет (хотя в хаскеле нет, например, чего-то вроде атомов).
Вообще ерланг с разными языками довольно хорошо сочетается - легче обеспечить масштабирование и эффективно применять возможности эрланга. Сам в отдельности эрланг - занимает очень специализированную узкую нишу, хотя на нем можно реализовать все что угодно, вопрос какой ценой - лучше в связке с другими системами. Но так не всегда - могут большие проблемы в стыковках и разных идеологиях.
Подразумевалось, что внутри потоков будет крутиться код на каком-то другом языке. Впрочем, после беглого ознакомления вопрос снят: mpi - parallelism, erlang - concurrency, это несколько разные задачи.
Подразумевалось, что внутри потоков будет крутиться код на каком-то другом языке. Впрочем, после беглого ознакомления вопрос снят: mpi - parallelism, erlang - concurrency, это несколько разные задачи.
вот-вот.
но выше сказали - что в связке - вполе.
что плохого, если система управления потоками и рассылкой данных - будет написана на эрланге. а сами рабочие лошадки, на том же си?