Re[14]: В чём выгода от функциональных языков?
От: palm mute  
Дата: 04.10.07 10:47
Оценка:
Здравствуйте, Gaperton, Вы писали:

BZ>>+ http://rsdn.ru/Forum/message/2341360.1.aspx
Автор: BulatZiganshin
Дата: 08.02.07

G>Отличный пост. Слушай, мне вот что подумалось. В С++ можно перекрывать оператор "запятая" . Можно там, пользуясь этим, изобразить злые монады?

Если бы даже нельзя было перегружать запятую, можно перегружать кучу других операторов — для монад подошел бы, например, оператор сдвига. Проблема в другом, в типе оператора bind:
(>>=) :: (Monad m) => m a -> (a -> m b) -> m b


Второй аргумент — функция, причем практически всегда это лямбда-выражение. Без замыканий монадный стиль будет практически бесполезен.
Re[7]: В чём выгода от функциональных языков?
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.10.07 14:10
Оценка:
Здравствуйте, thesz, Вы писали:

T>Слабо логически связать "преимущества ФП" и тот факт, что "сама программа является ОО?"


Я вообще не понял, что ты хочешь.

T>(третья версия ответа. Две первых были очень грубы)


Что было грубо? Опять ничего не понимаю.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: В чём выгода от функциональных языков?
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.10.07 14:10
Оценка:
Здравствуйте, lomeo, Вы писали:

L>Ну, я к тому, что ничего тот флейм не показал, а если кто выводы и делал — то больше для себя


Он ничего не показал только упертым фанатикам. Ежу понятно, что в ФП просто нет средст декомпозиции сравнимых по мощьности с классами. То что один из языков расширен хитрой концепцией предоставляющей подобный механизм ни как не меняет дела с самим ФП.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: В чём выгода от функциональных языков?
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.10.07 14:10
Оценка:
Здравствуйте, NotGonnaGetUs, Вы писали:

NGG>Здравствуйте, IT, Вы писали:


T>>>Тогда зачем надо было его приводить?


IT>>Чтобы не разводить подобный флейм ещё раз.


NGG>Я прочитал ту баталию и из неё совсем не видно, что сторона в лице vlada что-то смогла доказать,


Во-первых, почему имя с маленькой буквы?
Во-вторых, я ничего не доказывал. Я справшивал. Ответ был лично для меня очевиден. ФП сам по себе не предоставляет средств декомпозиции. Собственно это и подтвердило мое предположение.

NGG>Может я чего не понял из того флейма,


Совершенно точно. И вообще когда подходишь к вопросу с заранее готовой упертостью, то ничего новго для себя никгда не откроешь. Вообще люди которые уперлись в "одну самую правильную иделогию" потеряны для общества. Они выдают эмоции и нарушают правила логики только чтобы остаться при своем исходном мнении.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: В чём выгода от функциональных языков?
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.10.07 14:10
Оценка:
Здравствуйте, lomeo, Вы писали:

IT>>Сторона Влада ничего и не доказывала. Она спрашивала как средствами ФП выразить абстракцию. Оказалось, что средствами ФП никак.


L>Э-э-э... Где это оказалось? У меня такое впечатление, что ты ответы не читал совсем.


Это оказалось когода вместо демонстрации оных начался процесс развешивания лапши на уши.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: В чём выгода от функциональных языков?
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.10.07 14:10
Оценка:
Здравствуйте, lomeo, Вы писали:

L>Например, из фразы "В гибридах типа Немерле ФП используется на уровне методов, где собственно говоря и даёт максимальный эффект." можно вывести, что если использовать ФП шире уровня методов, то эффект падает.


Вообще-то на то они и гибридные. Использовать ФП для работы с классами довольно бессмысленно если не не возможно.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[17]: В чём выгода от функциональных языков?
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.10.07 14:10
Оценка:
Здравствуйте, lomeo, Вы писали:

L>Был задан вопрос, как в ФЯ работают с абстракциями, были показаны варианты как. В чём тут можно убедиться или не убедиться?


Это или логические ошибки, или откровенная и довольно наглая лож. Про ФЯ речь в общем-то не шла. Речь шало про ФП.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[16]: В чём выгода от функциональных языков?
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 05.10.07 14:52
Оценка:
Здравствуйте, VladD2, Вы писали:

IT>>>Сторона Влада ничего и не доказывала. Она спрашивала как средствами ФП выразить абстракцию. Оказалось, что средствами ФП никак.


L>>Э-э-э... Где это оказалось? У меня такое впечатление, что ты ответы не читал совсем.


VD>Это оказалось когода вместо демонстрации оных начался процесс развешивания лапши на уши.


Лично тебе я продемонстрировал возможности классов типов для выражения абстракции, приведя в пример класс Foldable. О чём я здесь вешал тебе лапшу на уши?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[12]: В чём выгода от функциональных языков?
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 05.10.07 14:52
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Он ничего не показал только упертым фанатикам. Ежу понятно, что в ФП просто нет средст декомпозиции сравнимых по мощьности с классами. То что один из языков расширен хитрой концепцией предоставляющей подобный механизм ни как не меняет дела с самим ФП.


А модульность — это, конечно, встроенный в ОО механизм по определению.

Речь идёт о том, что в ФЯ нет механизмов для выражения абстракции, поэтому создаются гибридные языки. Ну или о том, что лучше ОО для верхнего уровня ничего не придумано. Спор идёт об этом, а не "самом ФП".

Так вот, такие механизмы есть, поэтому надобность в ОО отпадает, ну не нужен он, прикинь?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[18]: В чём выгода от функциональных языков?
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 05.10.07 14:52
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Это или логические ошибки, или откровенная и довольно наглая лож. Про ФЯ речь в общем-то не шла. Речь шало про ФП.


Речь идёт о том, что ОО на верхнем уровне рулит, при чём тут ФП?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[12]: В чём выгода от функциональных языков?
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 05.10.07 14:52
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Вообще-то на то они и гибридные. Использовать ФП для работы с классами довольно бессмысленно если не не возможно.


Это потому что ты думаешь, что на верхнем уровне могут быть только классы.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[14]: В чём выгода от функциональных языков?
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 05.10.07 15:02
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Совершенно точно. И вообще когда подходишь к вопросу с заранее готовой упертостью, то ничего новго для себя никгда не откроешь. Вообще люди которые уперлись в "одну самую правильную иделогию" потеряны для общества. Они выдают эмоции и нарушают правила логики только чтобы остаться при своем исходном мнении.


О, да, ты это отлично демонстрируешь!

Ты постоянно твердишь, что ты практик, а интересуют тебя сферические вопросы: "Сам ФП не позволяет выразить абстракцию". Ну так "сам ООП" не позволяет даже сложить два числа, кого это интересует вообще? Что нового тут можно открыть?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[8]: В чём выгода от функциональных языков?
От: thesz Россия http://thesz.livejournal.com
Дата: 05.10.07 15:13
Оценка:
T>>Слабо логически связать "преимущества ФП" и тот факт, что "сама программа является ОО?"
VD>Я вообще не понял, что ты хочешь.

Почему нельзя, чтобы и методы были ОО?

Почему нельзя, чтобы и программа была ФП?

Почему программа должна быть ОО, а методы — чистыми (ФР)? Почему выгодно именно так, а не иначе?

T>>(третья версия ответа. Две первых были очень грубы)

VD>Что было грубо? Опять ничего не понимаю.

Это плохо.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re[19]: В чём выгода от функциональных языков?
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.10.07 15:46
Оценка:
Здравствуйте, thesz, Вы писали:

T>Почему именно на уровне методов?


А что ему вообще делать на уровне классов если они есть?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: В чём выгода от функциональных языков?
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.10.07 15:46
Оценка:
Здравствуйте, NotGonnaGetUs, Вы писали:

NGG>Да, безусловно, использование функциональных фич на уровне методов даёт свои плюсы. Но, как мне кажется, эти плюсы скорее синтаксический сахар. С ними приятнее, но их использование быстрее программу не сделают, скорее наоборот (из-за неявного создания классов обёрток для методов).


А надо быстрее? Тут даже доказывать ничего не надо. Возьми самый чистый в мире ФЯ Хаскель и сравни его с тем же Немреле. Последний рвет Хаскель по производительности как тузик грулку и это при том что ты таки прав и оптимизаций фунционального плана в Немерле почти нет.

NGG>Поясню на примере: В с# у класса лист есть методы ака map, filter, etc создающие новые листы. В "чисто" функциональном языке компилятор/рантайм могут позаботиться о том, чтобы новый лист не создавался, если старый уже никому не будет нужен. Как добиться подобного в с#? Компилятор немерле умеет делать такое?


Не. Он просто примерно 3-1000 раз (в зависимости от ситуации) бстре Хаскеля компилятор которого что-то там может в этом плане. Создание нового объекта в дотнете не так дорого. Это вам не С++. GC делает эту операцию относительно дешеовй. Конечно если подобные вещи делать в узком месте программы, то можно получить кучу проблем с производительностью. Но гибриды на то и гибриды чтобы давать выбор программисту, что и как применять.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: В чём выгода от функциональных языков?
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.10.07 15:46
Оценка:
Здравствуйте, NotGonnaGetUs, Вы писали:

NGG>В качестве иллюстрации можно посмотреть на scala и java...


ОК. Где цирф и тесты?

В прочем, если они будут, и будут не в пользу Скалы, то это все равно ничего не даст, так как у того же C# и Nemerle производительность просто отменная.

NGG>Но забудем о производительности и вернёмся к исходному вопросу. Правильно ли я понял, что ваша точка зрения заключается в том, что никакой выгоды в использовании функциональных языков нет (за исключением возможности использовать более компактный синтаксис в телах методов)?


Это, уважаемый, гнусные примемы софистики. Где и кто такое утверждал? Nemerle, Scala, или скажем, OCaml ни чем не меньшие ФЯ нежели Хаскель или Схема. А разговор было о том, что именно в методах ФП смотрится очень к месту и по делу. ООП дает средства декомпозиции уровня системы, обеспечивает производительность за счет императивности (где надо), а ФП и его сахар позволяет записывать алгоритмы (которые в ООП и сосредоточены в методах) в более компактной и декларитивной форме.

Что касается классов типов Хаскеля, то они тоже хорошо подходят для декомпозиции уровня приложения, но по стути они являются развитием тех же идей, что и в ООП (астрактных типов данных) и к самому ФП отношения не имеют (как, скажем, классы в ОКамле).
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: В чём выгода от функциональных языков?
От: Константин Л.  
Дата: 05.10.07 16:41
Оценка:
Здравствуйте, VladD2, Вы писали:

[]

VD>Не. Он просто примерно 3-1000 раз (в зависимости от ситуации) бстре Хаскеля компилятор которого что-то там может в этом плане. Создание нового объекта в дотнете не так дорого. Это вам не С++. GC делает эту операцию относительно дешеовй.


зато удаление

[]
Re[20]: В чём выгода от функциональных языков?
От: thesz Россия http://thesz.livejournal.com
Дата: 05.10.07 21:30
Оценка:
T>>Почему именно на уровне методов?
VD>А что ему вообще делать на уровне классов если они есть?

Действительно, зачем классы?
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re[18]: В чём выгода от функциональных языков?
От: thesz Россия http://thesz.livejournal.com
Дата: 05.10.07 21:31
Оценка:
L>>Был задан вопрос, как в ФЯ работают с абстракциями, были показаны варианты как. В чём тут можно убедиться или не убедиться?
VD>Это или логические ошибки, или откровенная и довольно наглая лож. Про ФЯ речь в общем-то не шла. Речь шало про ФП.

А как их отличить?

PS
Ложь пишется с мягким знаком. Уже третий раз встречаю.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re[12]: В чём выгода от функциональных языков?
От: thesz Россия http://thesz.livejournal.com
Дата: 05.10.07 21:32
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, lomeo, Вы писали:


L>>Например, из фразы "В гибридах типа Немерле ФП используется на уровне методов, где собственно говоря и даёт максимальный эффект." можно вывести, что если использовать ФП шире уровня методов, то эффект падает.


VD>Вообще-то на то они и гибридные. Использовать ФП для работы с классами довольно бессмысленно если не не возможно.


Поскольку продолжается, повторение этого тезиса, продолжу повторение моего вопроса.

Итак, зачем использовать классы?
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.