Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [ФЛП] Переспективы функциональных языков, В свете скорого релиза F# 
:(
    Опции темы
 
Каковы по вашему перспективы промышленного функционального программирования?
Императивные языки не будут вытестены функциональными или какими-либо другими еще оч. долго [ 26 ]  [60.47%]
Функциональные языки за пару лет займут существенную долю рынка [ 17 ]  [39.53%]
Всего проголосовавших: 43
В этом опросе возможен один вариант ответа
Гости не могут голосовать 
Gunslinger
Дата 28.8.2010, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 842
Регистрация: 30.12.2006
Где: Астрахань

Репутация: нет
Всего: 3



Цитата(kemiisto @  26.8.2010,  18:10 Найти цитируемый пост)
ну можно ведь программно определять кол-во имеющихся ядер и, зная их число, вычислять кол-во потоков. 

На моем дилетанстком уровне программа (например, математическое моделирование какого-либо процесса) состоит из данных, которые последовательно обрабатываются различными алгоритмами. Тогда результаты одних расчетов будут входными данными для других расчетов. Поэтому мне и не ясно,как автоматически можно распараллеливать вычисления.
PM MAIL   Вверх
k0rvin
Дата 29.8.2010, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: нет
Всего: 5



Цитата(Gunslinger @ 28.8.2010,  15:36)
На моем дилетанстком уровне программа (например, математическое моделирование какого-либо процесса) состоит из данных, которые последовательно обрабатываются различными алгоритмами. Тогда результаты одних расчетов будут входными данными для других расчетов. Поэтому мне и не ясно,как автоматически можно распараллеливать вычисления.

Код

foo (bar x) (gee y)

вычисления (bar x) и (gee y) можно провести параллельно

Добавлено через 6 минут и 23 секунды
Цитата(Gunslinger @ 26.8.2010,  16:42)
Цитата(kemiisto @  26.8.2010,  12:38 Найти цитируемый пост)
Ничего там компилятор сам не распараллелит.

Получается эрланг всего лишь платформа для многопроцессорных расчетов в функциональном стиле, весь затык в правильно построенных алгоритмах? Как бы и не в эрланге фишка, а в мозгах программистов. Только тут странность: программист строит параллельный код, определяя количество "параллельностей". Затем появляется процессор с большем количеством ядер. Возможности распараллелить увеличиваются. В итоге опять рефакторить код, чтобы и их задействовать?

ну  можно ж хотя бы в вике почитать?


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Gunslinger
Дата 29.8.2010, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 842
Регистрация: 30.12.2006
Где: Астрахань

Репутация: нет
Всего: 3



Цитата(k0rvin @  29.8.2010,  09:22 Найти цитируемый пост)
ну  можно ж хотя бы в вике почитать? 

читал я.
Цитата(k0rvin @  29.8.2010,  09:22 Найти цитируемый пост)
вычисления (bar x) и (gee y) можно провести параллельно

Они обрабатывают разную информацию? Минимальные единицы, до которых можно распараллелить - функции?

PM MAIL   Вверх
k0rvin
Дата 29.8.2010, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: нет
Всего: 5



Цитата(Gunslinger @ 29.8.2010,  18:57)
Они обрабатывают разную информацию?

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

Цитата(Gunslinger @ 29.8.2010,  18:57)
Минимальные единицы, до которых можно распараллелить - функции?

думаю да, функции, а что может быть минимальней (в ФП)?

Это сообщение отредактировал(а) k0rvin - 29.8.2010, 19:19


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
ZyK
Дата 12.9.2010, 02:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 18.3.2008

Репутация: нет
Всего: нет



Цитата(Gunslinger @ 26.8.2010,  16:42)
Цитата(kemiisto @  26.8.2010,  12:38 Найти цитируемый пост)
Ничего там компилятор сам не распараллелит.

Получается эрланг всего лишь платформа для многопроцессорных расчетов в функциональном стиле, весь затык в правильно построенных алгоритмах? Как бы и не в эрланге фишка, а в мозгах программистов. Только тут странность: программист строит параллельный код, определяя количество "параллельностей". Затем появляется процессор с большем количеством ядер. Возможности распараллелить увеличиваются. В итоге опять рефакторить код, чтобы и их задействовать?

Фишка эрланга в легковесных процессах. Таким образом при написании программ для машины с 8-ю ядрами, можно смело создавать одновременно сотню процессов. При переносе программы на машину с 50-ю ядрами, производительность резко растет.
При тяжелых процессах мы такого позволить не можем.

Вторая черта эрланга - процессы не имеют общей памяти, это позволяет работать на машинах без общей памяти.
PM MAIL   Вверх
ZyK
Дата 14.9.2010, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 18.3.2008

Репутация: нет
Всего: нет



Цитата(Gunslinger @ 25.8.2010,  19:28)
Рас уж тут про эрланг заговорили.
Прочитал о его фишке - что легко масштабируется на любое количество процессоров. Серьезная такая перспектива, но я не в курсе про следующие вопросы: чтобы проводить параллельные расчеты (сетевые рендеры для 3d, чисто математические расчеты, нейронные сети) нужно соответствующе переписывать все алгоритмы соответствующего софта, подстраивая их под многопроцессорность?

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

PM MAIL   Вверх
Gunslinger
Дата 17.9.2010, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 842
Регистрация: 30.12.2006
Где: Астрахань

Репутация: нет
Всего: 3



Цитата(ZyK @  12.9.2010,  02:53 Найти цитируемый пост)
при написании программ для машины с 8-ю ядрами, можно смело создавать одновременно сотню процессов. При переносе программы на машину с 50-ю ядрами, производительность резко растет.

100 процессов в расчете на увеличение количества ядер? Чуда  нет - автоматически не масштабируется?

Цитата(ZyK @  14.9.2010,  23:49 Найти цитируемый пост)
На эрланге не пишут числодробилок, математика там медленная.

ясно.
PM MAIL   Вверх
ZyK
Дата 19.9.2010, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 18.3.2008

Репутация: нет
Всего: нет



Цитата(Gunslinger @ 17.9.2010,  12:47)
Цитата(ZyK @  12.9.2010,  02:53 Найти цитируемый пост)
при написании программ для машины с 8-ю ядрами, можно смело создавать одновременно сотню процессов. При переносе программы на машину с 50-ю ядрами, производительность резко растет.

100 процессов в расчете на увеличение количества ядер? Чуда  нет - автоматически не масштабируется?


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

Соответственно, у тебя количество процессов не всегда зависит от предлагаемого количества ядер.
Даже для одноядерной тачки, может быть удобным создать 100 процессов одновременно, в частности для медленно выполняющих операций - таких как загрузка страниц с веба.
PM MAIL   Вверх
kemiisto
Дата 9.11.2010, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: нет
Всего: 160



Цитата
Функциональные языки за пару лет займут существенную долю рынка    [ 14 ]

Прошло 2 года. I have bad news for you. smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Sartorius
Дата 9.11.2010, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: нет
Всего: 37



Нда... Что-то этого F# не слышно не видно. На TIOBE у Cobola наверно рейтинг больше  smile 
PM MAIL ICQ   Вверх
ZyK
Дата 13.11.2010, 01:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 18.3.2008

Репутация: нет
Всего: нет



Цитата(Sartorius @ 9.11.2010,  20:52)
Нда... Что-то этого F# не слышно не видно. На TIOBE у Cobola наверно рейтинг больше  smile

да и подозрительно, что под апачем недавно выпустили.
PM MAIL   Вверх
A5uKa
  Дата 30.11.2010, 09:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

Репутация: нет
Всего: 16



Цитата(Sartorius @ 9.11.2010,  20:52)
Нда... Что-то этого F# не слышно не видно. На TIOBE у Cobola наверно рейтинг больше  smile

Вполне даже слышно ... 
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума «Функциональные языки: общие вопросы»
Void
  • Пожалуйста, создавайте темы с содержательными названиями. Если у Вас вопрос по конкретному языку, укажите его в заголовке, например: «[Haskell] Как использовать монаду State».
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Функциональные языки: общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0891 ]   [ Использовано запросов: 23 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.