Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Функциональные языки: общие вопросы > [ФЛП] Переспективы функциональных языков |
Автор: Sartorius 10.9.2008, 17:43 |
MS потихоньку переводит F# из своего исследовательского отдела на рынок. Я тут посмотрел http://msdn.microsoft.com/ru-ru/fsharp/default(en-us).aspx... Оно похоже на смесь Python, C# и Haskel. Некоторые вещи можно записать оч. коротко и красиво. Однако въехать в такой стиль оказалось непросто. Хочу определитья: имеет ли смысл вообще обращать на функциональные языки внимание в плане использования их для промышленной разработки ну или под свои нужды. Кто что думает? |
Автор: maggot 16.9.2008, 22:10 |
ИМХО, функциональные языки ещё долго не смогут вытеснить императивные. Но всё-таки за функциональными языками будущее. |
Автор: semka 17.9.2008, 07:12 |
Имеет смысл, даже если вы никогда не будете писать на функциональных языках. В конце концов — это банальная грамотность. |
Автор: Mayk 17.9.2008, 07:25 |
Не вижу предпосылок к "Функциональные языки за пару лет займут существенную долю рынка". Может потому что их по-просту нет? |
Автор: semka 17.9.2008, 07:55 |
Насчет существенной может перегиб, конечно, но что функциональные языки занимают все большую долю рынка по-моему очевидно. Взять хотя бы Erlang. |
Автор: nerezus 16.11.2008, 11:42 |
Я сомневаюсь, что чисто функциональные языки наберут обороты. А фот функциональные фишки в императивных - это круто. Питон это доказывает, очень часто использую в нем функциональные вещи, однако большинство кода все же классическое ООП) |
Автор: kemiisto 21.11.2008, 16:47 | ||||
Классическое ООП:
В Python разве так? ![]() А вообще ты прав. ФП в чистом виде не наберёт обороты никогда.
Ну, допустим, взять Erlang. И? |
Автор: nerezus 21.11.2008, 17:03 | ||||||||
|
Автор: kemiisto 21.11.2008, 17:21 |
nerezus, я только насчёт последнего не был уверен. Ага, значит посылка сообщения. Ну чтож, тогда всё OK! ![]() Эм... Не понял. Богаче чем кто? |
Автор: Gunslinger 25.8.2010, 19:28 |
Рас уж тут про эрланг заговорили. Прочитал о его фишке - что легко масштабируется на любое количество процессоров. Серьезная такая перспектива, но я не в курсе про следующие вопросы: чтобы проводить параллельные расчеты (сетевые рендеры для 3d, чисто математические расчеты, нейронные сети) нужно соответствующе переписывать все алгоритмы соответствующего софта, подстраивая их под многопроцессорность? |
Автор: Kakadu 26.8.2010, 12:21 | ||
Имеется ввиду, что их надо написать на ерланге, а компилятор всё сам распараллелит. P.S. Как автор расшифровывает ФЛП? |
Автор: Kakadu 26.8.2010, 12:46 | ||||
Возможно, xто я погорячился. ![]()
Если так, то опрос построен немного нелогично. Хотя, это всё вопрос толкования русского языка. Лично я к логическим языкам отношуся предвзято и очень подозрительно. Я читал математические модели, на которых они построены, но не могу пока найти им применение. |
Автор: Gunslinger 26.8.2010, 16:42 |
Получается эрланг всего лишь платформа для многопроцессорных расчетов в функциональном стиле, весь затык в правильно построенных алгоритмах? Как бы и не в эрланге фишка, а в мозгах программистов. Только тут странность: программист строит параллельный код, определяя количество "параллельностей". Затем появляется процессор с большем количеством ядер. Возможности распараллелить увеличиваются. В итоге опять рефакторить код, чтобы и их задействовать? |
Автор: kemiisto 26.8.2010, 18:10 |
Gunslinger, ну можно ведь программно определять кол-во имеющихся ядер и, зная их число, вычислять кол-во потоков. |
Автор: Gunslinger 28.8.2010, 15:36 | ||
На моем дилетанстком уровне программа (например, математическое моделирование какого-либо процесса) состоит из данных, которые последовательно обрабатываются различными алгоритмами. Тогда результаты одних расчетов будут входными данными для других расчетов. Поэтому мне и не ясно,как автоматически можно распараллеливать вычисления. |
Автор: k0rvin 29.8.2010, 09:22 | ||||||
вычисления (bar x) и (gee y) можно провести параллельно Добавлено через 6 минут и 23 секунды
ну можно ж хотя бы в вике почитать? |
Автор: Gunslinger 29.8.2010, 18:57 |
читал я. Они обрабатывают разную информацию? Минимальные единицы, до которых можно распараллелить - функции? |
Автор: k0rvin 29.8.2010, 19:18 | ||||
любую, одна из основных черт ФП -- отсутствие побочных эффектов, в вике об этом написано же.
думаю да, функции, а что может быть минимальней (в ФП)? |
Автор: ZyK 12.9.2010, 02:53 | ||
Фишка эрланга в легковесных процессах. Таким образом при написании программ для машины с 8-ю ядрами, можно смело создавать одновременно сотню процессов. При переносе программы на машину с 50-ю ядрами, производительность резко растет. При тяжелых процессах мы такого позволить не можем. Вторая черта эрланга - процессы не имеют общей памяти, это позволяет работать на машинах без общей памяти. |
Автор: ZyK 14.9.2010, 23:49 | ||
На эрланге не пишут числодробилок, математика там медленная. Эрланг заточен под связь. На нем проще писать отказоустойчивые распределенные программы. В основная нише эрланга - телекомы. Тому пример, самая известная программа на эралаге - сервер жабера. |
Автор: Gunslinger 17.9.2010, 12:47 | ||
100 процессов в расчете на увеличение количества ядер? Чуда нет - автоматически не масштабируется? ясно. |
Автор: ZyK 19.9.2010, 22:36 | ||||
нет, в Эрланге используется конкурентная парадигма программирования. Вместо объектов ооп - используются процессы. Процесс может принимать сообщения - и отправлять их другим процессам. В отличии от объектов - процессы общаются между собой асинхронна. Соответственно, у тебя количество процессов не всегда зависит от предлагаемого количества ядер. Даже для одноядерной тачки, может быть удобным создать 100 процессов одновременно, в частности для медленно выполняющих операций - таких как загрузка страниц с веба. |
Автор: kemiisto 9.11.2010, 20:45 | ||
Прошло 2 года. I have bad news for you. ![]() |
Автор: Sartorius 9.11.2010, 20:52 |
Нда... Что-то этого F# не слышно не видно. На TIOBE у Cobola наверно рейтинг больше ![]() |
Автор: ZyK 13.11.2010, 01:13 | ||
да и подозрительно, что под апачем недавно выпустили. |
Автор: A5uKa 30.11.2010, 09:03 | ||
Вполне даже слышно ... |