Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> функциональное программирование в с++. зачем?! 
V
    Опции темы
boostcoder
Дата 12.6.2011, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


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

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



всем доброго дня.

прочел доку по Phoenix, поразбирал примеры, кое-что накодил... в общем все понятно. не понятно другое: как/где/зачем/почему реально применять функциональное программирование в с++ ?

в добавок прочел вики: Функциональное программирование, но ничего не прояснилось.

кто в теме, расскажите, в чем соль?

спасибо.

PM WWW   Вверх
maint
Дата 12.6.2011, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



если судить по книге Д.Роджерс "Алгоритмические основы машинной графики" математики там как грязи. А графика, сечас, в основном на плюсах рисуется. Это на вскидку, что пришло в голову.
PM   Вверх
boostcoder
Дата 12.6.2011, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


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

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



maint, спасибо.
но это не объяснение и не обоснование.

Добавлено через 32 секунды
наверное нужно во флейме создать тему...
PM WWW   Вверх
afiskon
Дата 12.6.2011, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 31.3.2011
Где: Россия, Москва

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



Как я рад, что вы спросили smile Как раз сейчас учу Haskell и совсем недавно отвечал на этот вопрос. Помимо названных трех пунктов, связанных с оптимизацией, в ФП есть еще куча приятных вещей. Например, противники goto могут возрадоваться - в ФП его нет ни в каком виде. Я лично еще замечал, что код на Haskell автоматически разбивается на небольшие функции, делающие что-то одно, полностью в соответствии с рекомендациями Макконнела. В общем, это хорошая, годная парадигма, с которой как минимум не помешает ознакомиться. Принцип чистых функций можно вполне успешно применять в С++, особенно, если вы практикуете TDD.

Это сообщение отредактировал(а) afiskon - 12.6.2011, 17:13
PM MAIL WWW   Вверх
boostcoder
Дата 12.6.2011, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


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

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



Цитата(afiskon @  12.6.2011,  17:07 Найти цитируемый пост)
совсем недавно отвечал на этот вопрос

Цитата

Функциональные языки легко распараллеливают выполнение алгоритмов. Так как, если явно не указано обратное, f(a,b,c) зависит только от аргументов (нет побочных эффектов), аргументы можно вычислять параллельно.

вот, это аргумент!

Цитата(afiskon @  12.6.2011,  17:07 Найти цитируемый пост)
противники goto могут возрадоваться - в ФП есть нет ни в каком виде.

после тире, что-то не так со смыслом..


PM WWW   Вверх
afiskon
Дата 12.6.2011, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 31.3.2011
Где: Россия, Москва

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



"в ФП его нет ни в каком виде" - исправил )
PM MAIL WWW   Вверх
Фантом
Дата 12.6.2011, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


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

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



Вообще-то это два разных вопроса: нужно ли функциональное программирование вообще и нужно ли оно в C++. С первым вопросом все и так понятно, а вот второй куда сложнее.
PM   Вверх
Sartorius
Дата 12.6.2011, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Фантом @  12.6.2011,  19:23 Найти цитируемый пост)
: нужно ли функциональное программирование вообще и нужно ли оно в C++

и нужен ли C++  smile 

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


pattern`щик
****


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

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



Фантом, в топике конкретный вопрос:
Цитата

функциональное программирование в с++. зачем?!

про функциональное программирование вообще, я ничего не могу сказать. да и не интересно как-то...
PM WWW   Вверх
Фантом
Дата 12.6.2011, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


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

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



Цитата(boostcoder @  12.6.2011,  18:32 Найти цитируемый пост)
 в топике конкретный вопрос:

Да, но уже появляются ответы на другой - например, от afiskon.
PM   Вверх
kemiisto
Дата 12.6.2011, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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



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

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



Цитата(boostcoder @  12.6.2011,  16:11 Найти цитируемый пост)
вот, это аргумент!

Человек вчера Haskell увидел. Эко... Увидел эту грязную инсинуацию в бложике такого же как он однодневного функционального программиста. Звучит-то как красиво! Перетащил. smile 

Цитата(afiskon @  12.6.2011,  16:07 Найти цитируемый пост)
Помимо названных трех пунктов, связанных с оптимизацией

Каждый из которых не годится даже для холиваров. Слишком толсто.

Цитата(afiskon @  12.6.2011,  16:07 Найти цитируемый пост)
Принцип чистых функций можно вполне успешно применять в С++, особенно, если вы практикуете TDD.

Эм... Я даже как-то растерян. 

Цитата(afiskon @  12.6.2011,  16:07 Найти цитируемый пост)
Например, противники goto могут возрадоваться - в ФП его нет ни в каком виде.

Аргумент! smile Я радуюсь и без ФП. ЧЯДНТ?


Цитата(Фантом @  12.6.2011,  17:23 Найти цитируемый пост)
Вообще-то это два разных вопроса: нужно ли функциональное программирование вообще и нужно ли оно в C++.

Цитата(Sartorius @  12.6.2011,  17:25 Найти цитируемый пост)
и нужен ли C++

Цитата(Фантом @  12.6.2011,  17:23 Найти цитируемый пост)
С первым вопросом все и так понятно, а вот второй куда сложнее.

Мне всё понятно со всеми тремя вопросами. smile 


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


Эксперт
****


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

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



Цитата(Sartorius @ 12.6.2011,  18:25)
Цитата(Фантом @  12.6.2011,  19:23 Найти цитируемый пост)
: нужно ли функциональное программирование вообще и нужно ли оно в C++

и нужен ли C++  smile

И нужно ли вообще программирование?  smile


PM MAIL   Вверх
borisbn
Дата 13.6.2011, 06:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

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



Небольшой  smile
 как-то давно (ещё в институте) изучали prolog. Мне понравилось, как там решалась задача с перевозкой козы, капусты и волка через речку: описание алгоритма отсутствовало, описывались лишь правила: этот не может быть с этим, а этот с этим. И указывалось, что лодочник может взять лишь один "предмет". Всё. Дальше говорилось что-то типа "Старт" и программа сама находила алгоритм перевозки. 
Потом я понял, что ФП не для джедаев/программистов, т.к. у них в голове одни алгоритмы. Это, скорее, для чистых математиков/физиков/химиков (kemiisto - hi smile )


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
boostcoder
Дата 13.6.2011, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


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

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



Цитата(borisbn @  13.6.2011,  06:59 Найти цитируемый пост)
что ФП не для джедаев/программистов, т.к. у них в голове одни алгоритмы. Это, скорее, для чистых математиков/физиков/химиков

ну хз... я что-то в доке ничего такого не обнаружил.. только конструирование объектов.
PM WWW   Вверх
sergioK1
Дата 14.6.2011, 15:20 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Я лично не понимаю вопроса, ФП нужно там где задача не требует обьектов, т,е, из не надо изобретать 
потому что это модно,  

с другой стороны static чем не фп ,

подобные вопросы обычно возникают у тех кто не умеет писать  хороший код ,  и думают что если ООП то багов нету 

Это сообщение отредактировал(а) sergioK1 - 14.6.2011, 18:11
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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