Re[9]: В чём выгода от функциональных языков?
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 01.10.07 13:55
Оценка:
Здравствуйте, elephantum, Вы писали:

E>Всеравно непонятно ^__^

E>эффект — это уменьшение затрат на разработку/рефакторинг/понимание другим человеком?

Не, эффект — это "рулит".
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[9]: В чём выгода от функциональных языков?
От: IT Россия linq2db.com
Дата: 01.10.07 14:05
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Это не проблема. Это оптимизация которая становится возможной благодоря формализации операций.


Тогда тем более проблем не вижу.
... << RSDN@Home 1.2.0 alpha rev. 771>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[10]: В чём выгода от функциональных языков?
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 01.10.07 14:25
Оценка:
Здравствуйте, IT, Вы писали:

WH>>Это не проблема. Это оптимизация которая становится возможной благодоря формализации операций.


IT>Тогда тем более проблем не вижу.


Проблема в том, что если использовать ФП в смешанных языках, то подобные оптимизации делать, скорее всего, не получится.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[11]: В чём выгода от функциональных языков?
От: IT Россия linq2db.com
Дата: 01.10.07 14:32
Оценка:
Здравствуйте, lomeo, Вы писали:

IT>>Тогда тем более проблем не вижу.


L>Проблема в том, что если использовать ФП в смешанных языках, то подобные оптимизации делать, скорее всего, не получится.


Какая разница?
... << RSDN@Home 1.2.0 alpha rev. 771>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[12]: В чём выгода от функциональных языков?
От: WolfHound  
Дата: 01.10.07 14:49
Оценка: 11 (1) +3
Здравствуйте, IT, Вы писали:

L>>Проблема в том, что если использовать ФП в смешанных языках, то подобные оптимизации делать, скорее всего, не получится.

IT>Какая разница?
Дело в том что тут происходит изменение алгоритма.
И доказать что результат будет тот же можно только если модель языка формализованна.
У гебридов с формализацией модели слабовато
Впрочем это не фатальный недостаток. Просто этим нужно заняться.
Хотя с немерлом/скалой скорей всего не получится. Ибо позорная модель CLR/Java на которую немерле/скала сильно подвязаны ставит палки в колеса.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[7]: В чём выгода от функциональных языков?
От: z00n  
Дата: 01.10.07 15:42
Оценка: 4 (1)
Здравствуйте, NotGonnaGetUs, Вы писали:

NGG>Есть какой-нибудь туториал для тех, кто верит, что emacs это круто, но ни как не может это ощутить?

Being Productive With Emacs
Re[9]: В чём выгода от функциональных языков?
От: Константин Л.  
Дата: 01.10.07 15:50
Оценка:
Здравствуйте, WolfHound, Вы писали:

ncc это умеет?
Re[10]: В чём выгода от функциональных языков?
От: WolfHound  
Дата: 01.10.07 15:52
Оценка:
Здравствуйте, Константин Л., Вы писали:

КЛ>ncc это умеет?

На сколько я знаю нет.
И сомневаюсь что научится.
Разве что в некоторых сильно ограниченных частных случаях.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[8]: В чём выгода от функциональных языков?
От: thesz Россия http://thesz.livejournal.com
Дата: 01.10.07 20:32
Оценка:
T>>Во-первых, эффект, он положительный или?
IT>Раз максимальный, значит положительный.

На этом, в принципе, можно было бы прекратить беседу.

Но мне, все же, немного интересно.

T>>Во-вторых, что за сам эффект, в чем проявляется.

IT>В удобстве кодирования и сопровождения кода на уровне методов.
IT>Локальные функции позволяют инкапсулировать код в рамках метода и не замусоривать класс статическими методами. Неизменяемые переменные дисциплинируют. Другие фичи также добавляют своего понемногу.

Вопросы:
Multiple parameter dispatch? Как его сделать на Nemerle или Scala? Как его сделать на сравнении с образцом в Хаскеле?

Если подобный подход распространить вне методов классов, будет ли он полезен? Какие есть статистики за и против?

T>>В-третьих, определи "степень," чтобы было понятно, что за максимальность.

IT>Недавно у нас тут состоялся весьма любопытный флейм
Автор: VladD2
Дата: 01.06.07
, который показал, что с помощью ФП либо никак, либо совсем плохо решаются вопросы, которые хорошо решаются с помощью ООП. А именно абстракция, модульность, высокоуровневый дизайн приложения. Фактически ФП проявляет себя только на уровне кода, т.е. на уровне методов. И надо признать, делает это хорошо.


Это не определение степени.

Про флейм не скажу ни слова.

T>>После чего мы вернемся к применимости этого дела в программе в целом.

IT>Ok.

Продолжим же работу над ошибками!
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re[10]: В чём выгода от функциональных языков?
От: thesz Россия http://thesz.livejournal.com
Дата: 01.10.07 20:33
Оценка:
L>>VladD2 спросил, как решаются вопросы абстракции в ФП. Ему показали как на примере конкретных языков. А вот после этого — ага, был флейм, мол эти средства неродные для ФП и вообще, если ФЯ решает вопросы абстракции и модульности, то это уже добавки, а ни фига ни ФП, и родом они с ООП, ну и прочие повороты к языкам, похожим на швейцарский нож.
IT>Давай не будем. Мне хватило того топика для обсуждения этих проблем.

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

Да, и с lomeo я согласен.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re[5]: В чём выгода от функциональных языков?
От: NotGonnaGetUs  
Дата: 02.10.07 06:19
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>Да, из-за декларативной семантики языка. Чтобы сравнимым с Хаскелем образом писать на С++, вы в своей библиотеке реализуете кривым образом Хаскель. "Любая сложная программа на С обязательно содержит внутри кривую реализацию LISP". Слышали эту шутку? В ней есть доля шутки. Некоторая. В конце концов, можно ООП на макросах в С изобразить, раньше так и делали. Из этой возможности следует ненужность специализированных ООП языков? Каким именно образом?


Если попытаться один в один переписать решение с хаскел на с++, то скорее всего так и получится. Тоже самое можно было бы сказать о попытке переписать решение с с++ на хаскел. Разве нет?

Меня мучает вопрос о применимости функциональных языков. Охотно верю, что задачи связанные с голой математикой существенно проще делать на хаскел, чем на с++ или java, но будет ли выгода от использования хаскел при создании приложений уровня ентерпрайс? В них, обычно, нет зубодробильной алгоритмической сложности, а та что есть, подчиняется не столько красивым мат.теориям сколько не красивым workflow, которые от программиста мало зависят.

G>... и сделал ее на Хаскель. Так вот, дизайн для этой задачи в случае Хаскель относительно прямолинеен — более очевидные ходы будут более правильными. В случае ОО декомпозиции — эта задача содержит несколько ловушек. Причина в том, что в ФЯ на порядок более гибкая схема полиморфизма, как рантайм, так и статического. В случае ОО вы вынуждены для обеспечения динамического полиморфизма городить иерархии классов, и тут же вылезают разного рода проблемы дизайна, которые не лежат на поверхности. "Паттерны" разные появляются.


"Ловушки", конечно, есть, но они довольно хорошо описаны в различных источниках и через какое-то время изучения ооп перестают казаться ловушками Дабы не теоризировать на пустом месте, попробую написать на хаскел игру реверси и сравнить ощущения.

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


Угу, ограниченность компляторов меня и расстраивает, когда заходит речь о оо языках с функциональными расширениями.
Re[11]: В чём выгода от функциональных языков?
От: IT Россия linq2db.com
Дата: 02.10.07 10:16
Оценка:
Здравствуйте, thesz, Вы писали:

IT>>Давай не будем. Мне хватило того топика для обсуждения этих проблем.


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


Чтобы не разводить подобный флейм ещё раз.
... << RSDN@Home 1.2.0 alpha rev. 771>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[9]: В чём выгода от функциональных языков?
От: IT Россия linq2db.com
Дата: 02.10.07 10:16
Оценка:
Здравствуйте, thesz, Вы писали:

T>На этом, в принципе, можно было бы прекратить беседу.


Думаю, это хорошая идея.

T>Multiple parameter dispatch? Как его сделать на Nemerle или Scala? Как его сделать на сравнении с образцом в Хаскеле?


Мне абсолютно по барабану как его сделать и на Немерле со Скалой и на Хаскеле. Тебе наверное в это трудно поверить, но это так

T>Это не определение степени.


Знаешь, у меня последнее время туго с телепатией. Ты бы сразу без наводящих вопросов сказал куда ты клонишь и мы бы не замусоривали базу RSDN лишними бессмысленными сообщениями.
... << RSDN@Home 1.2.0 alpha rev. 771>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[13]: В чём выгода от функциональных языков?
От: IT Россия linq2db.com
Дата: 02.10.07 10:45
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Хотя с немерлом/скалой скорей всего не получится. Ибо позорная модель CLR/Java на которую немерле/скала сильно подвязаны ставит палки в колеса.


Какие именно палки?
... << RSDN@Home 1.2.0 alpha rev. 771>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[12]: В чём выгода от функциональных языков?
От: NotGonnaGetUs  
Дата: 02.10.07 10:52
Оценка: +1
Здравствуйте, IT, Вы писали:

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


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


Я прочитал ту баталию и из неё совсем не видно, что сторона в лице vlada что-то смогла доказать, кому-то кроме себя.
Создать "абстракцию" подразумевающие множество реализаций в ф-языках можно без всякого ооп. То, что этого нельзя сделать для встроенного в язык листа, не должно никого удивлять, ведь никого же не удивляет, что класс Int32 нельзя расширить...

Может я чего не понял из того флейма, что должно было помочь с ответом на мой вопрос?
Re[6]: В чём выгода от функциональных языков?
От: no4  
Дата: 02.10.07 10:54
Оценка:
Здравствуйте, NotGonnaGetUs, Вы писали:



NGG>Меня мучает вопрос о применимости функциональных языков. Охотно верю, что задачи связанные с голой математикой существенно проще делать на хаскел, чем на с++ или java, но будет ли выгода от использования хаскел при создании приложений уровня ентерпрайс? В них, обычно, нет зубодробильной алгоритмической сложности, а та что есть, подчиняется не столько красивым мат.теориям сколько не красивым workflow, которые от программиста мало зависят.


Зато нужно взаимодействие с базой данных, выборки и прочее. SQL по сути своей функционален, хотелось бы его более прямой интеграции в ЯП общего назначения. Например LINQ как говорит Майер это функциональные идеи реализованные для широкой публики.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[13]: В чём выгода от функциональных языков?
От: no4  
Дата: 02.10.07 10:55
Оценка: :))
Здравствуйте, NotGonnaGetUs, Вы писали:


NGG>Создать "абстракцию" подразумевающие множество реализаций в ф-языках можно без всякого ооп. То, что этого нельзя сделать для встроенного в язык листа, не должно никого удивлять, ведь никого же не удивляет, что класс Int32 нельзя расширить...


Я думаю, смолтокеров удивляет
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[10]: В чём выгода от функциональных языков?
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 02.10.07 11:02
Оценка:
Здравствуйте, IT, Вы писали:

IT>Знаешь, у меня последнее время туго с телепатией. Ты бы сразу без наводящих вопросов сказал куда ты клонишь и мы бы не замусоривали базу RSDN лишними бессмысленными сообщениями.


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

Но мне кажется, что речь шла всего лишь о личных впечатлениях/предпочтениях/опыте, так что спорить не о чем, нес па?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[14]: В чём выгода от функциональных языков?
От: WolfHound  
Дата: 02.10.07 11:06
Оценка:
Здравствуйте, IT, Вы писали:

WH>>Хотя с немерлом/скалой скорей всего не получится. Ибо позорная модель CLR/Java на которую немерле/скала сильно подвязаны ставит палки в колеса.

IT>Какие именно палки?
Модели данных виртуальных машин не формализованы.
А способа строить строигие доказательства на основе неформальных моделей мне не известны.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[11]: В чём выгода от функциональных языков?
От: IT Россия linq2db.com
Дата: 02.10.07 11:48
Оценка:
Здравствуйте, lomeo, Вы писали:

L>Но мне кажется, что речь шла всего лишь о личных впечатлениях/предпочтениях/опыте, так что спорить не о чем, нес па?


Ну и о чём тогда спор? Тебе кажется, что спорить не о чем, но поспорить очень хочется. Я понимаю.
... << RSDN@Home 1.2.0 alpha rev. 771>>
Если нам не помогут, то мы тоже никого не пощадим.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.