Re[12]: Почему ФЯ трудны для императивщиков
От: Mamut Швеция http://dmitriid.com
Дата: 21.02.07 11:15
Оценка: :))
M>>Читая эту книгу я периодически забываю даже то, что никогда не знал про Хаскель

К>Т.е. у тебя появляется убеждённость, что ты его всегда знал чтоли?


Есть фраза, что, мол "забыл больше, чем когда-либо знал". В том плане, что забыл все напрочь. Вот у меня такое же ощущение, когд эту книгу читаю Особенно когда добрался до типов, классов типов и их экземпляров Каждый раз пытаюсь мучительно вспомнить/заново понять, что это такое, не вдаряясь в рассуждения о том, насколько это правильно реализовано с точки зрения лямбда-исчисления


dmitriid.comGitHubLinkedIn
Re[11]: Почему ФЯ трудны для императивщиков
От: deniok Россия  
Дата: 21.02.07 11:51
Оценка: 1 (1) +2
Здравствуйте, Mamut, Вы писали:


M>Один из примеров — представление чисел не помню кем не помню зачем Зачем? Читая эту книгу я периодически забываю даже то, что никогда не знал про Хаскель А я еще до монад не добрался...


ИМХО целевой аудиторией этой книжки являются аспиранты в CS. Как учебник по Хаскеллу для программистов она явно не удалась.
Re[11]: Почему ФЯ трудны для императивщиков
От: EvilChild Ниоткуда  
Дата: 21.02.07 18:33
Оценка: 1 (1) +1 :)
Здравствуйте, Mamut, Вы писали:

M>Читаю сейчас по паре страниц в день Функциональное программирование на языке Haskell
Автор(ы): Р. В. Душкин
Издательство: ДМК пресс
Цена: 314р.

Данная книга является первым в России изданием, рассматривающим функциональное программирование в полном объеме, достаточном для понимания новичку и для использования книги в качестве справочного пособия теми, кто уже использует парадигму
. Вою волком. У мнея математика закончилась лет пять тому назад, не успев начаться Лямбда исчисление я ни сном ни духом А там — только оно. Ыыыыы.

Мне кажется надо отдавать себе отчёт в том, что эта книга не ставит своей целью научить программировать на хаскеле, а донести что такое ФП на примере хаскеля, дать ообщую картину, исторический контекст. Я вот после неё писать на хаскеле не научился, но автор и соавторы работают над новой книгой, которая как раз имеет более практический уклон. Черновики можно получить, если написать ему (он в обмен на прочтение хочет замечания и здоровую критику). Так, что ты можешь реально повлиять на то, какой будет следующая книга о хаскеле на русском языке.
В его блоге есть все необходимые координаты для связи.

M>Один из примеров — представление чисел не помню кем не помню зачем Зачем? Читая эту книгу я периодически забываю даже то, что никогда не знал про Хаскель А я еще до монад не добрался...

Нумералы Черча? Я тоже долго вкурить не мог. Для общего развития, чтобы комфортнее было всякие умные блоги и статьи читать

BTW: У меня как раз песня играет, характеризующая моё состояние при первых прочтениях
now playing: Future Prophecies — Mentally Destroyed
Re[12]: Почему ФЯ трудны для императивщиков
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.02.07 01:13
Оценка: :)
Здравствуйте, Курилка, Вы писали:

К>Т.е. у тебя появляется убеждённость, что ты его всегда знал чтоли?


Не. Это другое. Просто в процессе увлекательного чтения подобной литературы многие начинают невольно спрашивать проходящих мимо людей — как пройти в библотеку — попутно помышляя чем бы их убить.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Почему ФЯ трудны для императивщиков
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.02.07 01:13
Оценка:
Здравствуйте, EvilChild, Вы писали:

EC>а донести что такое ФП на примере хаскеля


Шутку понял. Ммешно!
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: Почему ФЯ трудны для императивщиков
От: EvilChild Ниоткуда  
Дата: 22.02.07 16:58
Оценка: :)
Здравствуйте, VladD2, Вы писали:

EC>>а донести что такое ФП на примере хаскеля


VD>Шутку понял. Ммешно!


А что именно? Хаскель недостаточно функциональный язык, чтобы на его примере о ФП рассказывать?
now playing: Future Prophecies — Dark matter
Re[14]: Почему ФЯ трудны для императивщиков
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.02.07 18:10
Оценка:
Здравствуйте, EvilChild, Вы писали:

EC>А что именно? Хаскель недостаточно функциональный язык, чтобы на его примере о ФП рассказывать?


Знаешь, временами,говоря с тобой, у менся складывается ощущение полнейшего абсурда.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Почему ФЯ трудны для императивщиков
От: EvilChild Ниоткуда  
Дата: 22.02.07 18:50
Оценка:
Здравствуйте, VladD2, Вы писали:

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


Это всё от недосказанности , я тебя тоже часто не понимаю.
Если не лень разверни мысль подробнее — обсудим.
Я действительно не понял, что тебя так развеселило.
now playing: Future Prophecies — Dark matter
Re[16]: Почему ФЯ трудны для императивщиков
От: ironwit Украина  
Дата: 23.02.07 10:12
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

админы. откусите этот кусок
а то прочитал и на полчаса янус надо закрывать. все равно дальше ничего не понимаешь
... << RSDN@Home 1.2.0 alpha rev. 0>>
Я не умею быть злым, и не хочу быть добрым.
Re[8]: Почему ФЯ трудны для императивщиков
От: ironwit Украина  
Дата: 23.02.07 10:58
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Вот только нужно бы найти добровольцев на которых поэсперементировать с доступностью материала.

я первый. туупой блин. если меня научишь — каждый поймет
... << RSDN@Home 1.2.0 alpha rev. 0>>
Я не умею быть злым, и не хочу быть добрым.
Re[5]: Почему ФЯ трудны для императивщиков
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 27.02.07 02:54
Оценка:
Здравствуйте, Курилка, Вы писали:

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


FDS>>Думаю, у всех по началу с процедурным программированием тоже возникали трудности, хотя мышление у человека такое, что можешь хоть прямо сесть и писать процедурами прямо из головы.


К>Согласно каким фактам ты утверждаешь выделенное?

К>То, что 99% программных решений сделаны императивно, не говорит о том, что само мышление человека обязательно императивно, имхо.

Бог его знает, какое мышление у человека. То ли это машина Тьюринга, то ли решающую роль в нем играет квантовая когерентность, то ли еще что. Но, как я понял, FDSC, утверждал только, что человеку проще описать последовательность действий, приводящих к решению задачи в терминах процедур и функций, чнежели в терминах лямбда-исчисления. Доказать строго это вряд ли возможно, но косвенное свидетельстватаковы: (1) название топика [как я понял, у апологетов ФЯ не возникает проблем с императивными языками, поэтому программирование на ФЯ представляется более сложным] (2) значение 99% [человек для решения задачи использует те средства, которые позволяют ему проще получить результат] (3) житейский опыт [объяснения, как приготовить гороховый суп, как пройти на пл. Незалежностi, как играть на гитаре и т. д. все-таки императивны]
Re[11]: Почему ФЯ трудны для императивщиков
От: AndreiF  
Дата: 27.02.07 05:13
Оценка: 12 (1) +1
Здравствуйте, Mamut, Вы писали:

M>Читаю сейчас по паре страниц в день Функциональное программирование на языке Haskell
Автор(ы): Р. В. Душкин
Издательство: ДМК пресс
Цена: 314р.

Данная книга является первым в России изданием, рассматривающим функциональное программирование в полном объеме, достаточном для понимания новичку и для использования книги в качестве справочного пособия теми, кто уже использует парадигму
. Вою волком. У мнея математика закончилась лет пять тому назад, не успев начаться Лямбда исчисление я ни сном ни духом А там — только оно. Ыыыыы.


M>Один из примеров — представление чисел не помню кем не помню зачем Зачем? Читая эту книгу я периодически забываю даже то, что никогда не знал про Хаскель А я еще до монад не добрался...


Ты еще наверно вот эту книгу не читал Городняя, Основы функционального программирования
Издательство:
Цена: 255р.

. Вот уж кого хочется убить об стену, чтобы больше не загрязняла ноосферу своими "творениями"
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: Почему ФЯ трудны для императивщиков
От: IT Россия linq2db.com
Дата: 27.02.07 05:17
Оценка: +2
Здравствуйте, Mystic, Вы писали:

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


Как-то очень давно мне приходилось работать с людьми, для которых было проще создать массив байт, высчитать в нём все нужные смещения и каждый раз делать преобразования к тем типам, которые фактически хранились в этом массиве, например, к double. Это было проще, чем просто объявить структуру и работать непосредственно с ней. Объяснить что это сложнее и можно всё сделать не так у меня не получалось, т.к. те люди просто не хотели понять, не верили, что тоже самое может за тебя сделать компилятор.

Так и с ФЯ. Нужно просто понять что такое указатель на функцию. Всё. Этого понятия достаточно, чтобы оперируя им можно было понять всё остальное. А примеров указателей на функцию и императивщиков предостаточно. Взять хотя бы ту же виртуальную функцию.

Те же кто понимает что это такое, но не понимает ФЯ, либо всё же не понимают что такое указатель на функцию, либо им просто никто не объяснил ФП, либо, скорее всего как те ребята с массивами, они просто этого не хотят из-за собственной костности мышления и упёртости.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[12]: Почему ФЯ трудны для императивщиков
От: Mamut Швеция http://dmitriid.com
Дата: 27.02.07 08:49
Оценка:
M>>Читаю сейчас по паре страниц в день Функциональное программирование на языке Haskell
Автор(ы): Р. В. Душкин
Издательство: ДМК пресс
Цена: 314р.

Данная книга является первым в России изданием, рассматривающим функциональное программирование в полном объеме, достаточном для понимания новичку и для использования книги в качестве справочного пособия теми, кто уже использует парадигму
. Вою волком. У мнея математика закончилась лет пять тому назад, не успев начаться Лямбда исчисление я ни сном ни духом А там — только оно. Ыыыыы.



AF>Ты еще наверно вот эту книгу не читал Городняя, Основы функционального программирования
Издательство:
Цена: 255р.

. Вот уж кого хочется убить об стену, чтобы больше не загрязняла ноосферу своими "творениями"


Спасибо. Буду знать на будущее


dmitriid.comGitHubLinkedIn
Re[6]: Почему ФЯ трудны для императивщиков
От: Quintanar Россия  
Дата: 27.02.07 09:34
Оценка: +9
Здравствуйте, Mystic, Вы писали:

Это все мифы

M>Бог его знает, какое мышление у человека. То ли это машина Тьюринга, то ли решающую роль в нем играет квантовая когерентность, то ли еще что. Но, как я понял, FDSC, утверждал только, что человеку проще описать последовательность действий, приводящих к решению задачи в терминах процедур и функций, чнежели в терминах лямбда-исчисления. Доказать строго это вряд ли возможно, но косвенное свидетельстватаковы: (1) название топика [как я понял, у апологетов ФЯ не возникает проблем с императивными языками, поэтому программирование на ФЯ представляется более сложным]


У большинства россиян с русским языком проблем не возникает, а вот на английском говорят далеко не все и с трудом. Следует ли из этого, что русский язык более естественный и простой для человека. Вряд ли. Так же и с императивными языками. У большинства (если не 100%)программистов императивный язык программирования был первым языком, который он изучил и использовал на практике. В психологии же известен факт, что первое мнение на какую-либо тему производит на человека на порядок большее воздействие и противоречащие первому впечатлению последующие мнения воспринимаются им с большим трудом.

(3) житейский опыт [объяснения, как приготовить гороховый суп, как пройти на пл. Незалежностi, как играть на гитаре и т. д. все-таки императивны]

Покажите пальцем, где там императивность. Например, есть рецепт приготовления супа. Кажется, что это последовательность указаний — типа императивный алгоритм. Но на самом деле, чтобы приготовить суп нужно выполнить большое количество других действий, которые явно в рецепте не указаны. Там не сказано, что нужно сделать, чтобы включить плиту, что значит помешивать ложкой, как выглядит кипение и т.п. Процесс реализации рецепта выглядит в итоге следующим образом — человеку необходимо выполнить шаг рецепта, это задает цель. Далее он пытается ее достичь, конкретизируя ее в более мелкие подцели, которые тоже разбиваются на подцели и т.д. Я бы не стал сравнивать этот процесс с выполнением императивной программы.
Re[12]: Почему ФЯ трудны для императивщиков
От: EvilChild Ниоткуда  
Дата: 27.02.07 17:59
Оценка:
Здравствуйте, AndreiF, Вы писали:

AF>Ты еще наверно вот эту книгу не читал Городняя, Основы функционального программирования
Издательство:
Цена: 255р.

. Вот уж кого хочется убить об стену, чтобы больше не загрязняла ноосферу своими "творениями"


А что с ней не так?
now playing: Teebee & Noisia — Moon Palace
Re[7]: Почему ФЯ трудны для императивщиков
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.02.07 23:52
Оценка:
Здравствуйте, Quintanar, Вы писали:

Q>Покажите пальцем, где там императивность. Например, есть рецепт приготовления супа. Кажется, что это последовательность указаний — типа императивный алгоритм. Но на самом деле, чтобы приготовить суп нужно выполнить большое количество других действий, которые явно в рецепте не указаны.


Дык это не потому что он декларативен, а потому что это спецификация, т.е. не полный алгоритм, а приближение к нему.

Q>Там не сказано, что нужно сделать, чтобы включить плиту, что значит помешивать ложкой, как выглядит кипение и т.п.


Как же это? Часто написано "поставить на медленный (круто, кстати, звучит ) огонь и варить (внимание!) до готовности 10-15 минут ( ) помешивая...". Так что вполне себе императивная спецификация.

Вот если бы там было сказано сварить кортофельный суп, тогда да...

Q> Процесс реализации рецепта выглядит в итоге следующим образом — человеку необходимо выполнить шаг рецепта, это задает цель. Далее он пытается ее достичь, конкретизируя ее в более мелкие подцели, которые тоже разбиваются на подцели и т.д. Я бы не стал сравнивать этот процесс с выполнением императивной программы.


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

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

В ФП иногда краткость и выразительность достигается применением мощьных встроенных вязык паттернов и сахара. Вот тут да. Декларативность выше. Скажем паттетрн-матчин действительно декларативен (особенно навороченный).

Но главное в программах это грамотный выбор абстракции. Тот же ООП позовляет создать хорошую абстрацию на уровне всех программы, но практически не имеет сахара для реализации на урове тел методов. Вот лямбды с замыканиями и функциями высшего порядка позволяют асбрагировать код. И это дает отличный результат. Но декларативность ли это? Как посмотреть... Можно сказать — да. А можно сказтать, что это грамотная декомпозиция кода.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Почему ФЯ трудны для императивщиков
От: Алексей П Россия  
Дата: 28.02.07 03:56
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Вот если бы там было сказано сварить кортофельный суп, тогда да...


Тогда это была бы бесконечная рекурсия
Re[13]: Почему ФЯ трудны для императивщиков
От: AndreiF  
Дата: 28.02.07 04:25
Оценка: +1
Здравствуйте, EvilChild, Вы писали:

EC>А что с ней не так?


Бессистемное и очень поверхностное изложение, которые автор пытается замаскировать наукообразно-канцелярским языком.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[7]: Почему ФЯ трудны для императивщиков
От: deniok Россия  
Дата: 28.02.07 16:36
Оценка:
Здравствуйте, Quintanar, Вы писали:

И стоит ещё напомнить, что физика и математика, используют декларативный подход для формального описания действительности.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.