Автор Тема: Функции против процедур  (Прочитано 85783 раз)

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re:Функции против процедур
« Ответ #150 : Март 03, 2011, 01:41:05 pm »
А там он и так снижен до нельзя. Никто не грузит ни монадами ни безточечным стилем, ни классами типов. Единственное что синтаксис чуть не привычен тем кто на сях пишет, с другой стороны это не APL, и он в принципе очень похож на псевдокод абстрактных императивных языков на которых обычно алгоритмы записываются. Так что не вижу проблем.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Peter Almazov

  • Sr. Member
  • ****
  • Сообщений: 482
    • Просмотр профиля
Re:Функции против процедур
« Ответ #151 : Март 03, 2011, 01:46:15 pm »
Так что не вижу проблем.
А они есть  :)
Как человек, прошедший часть пути по врубанию в Haskell, могу сказать, что эта (хорошая!) статья абсолютно не подходит для первого знакомства с предметом. Для начала надо элементарно разобраться с синтаксисом. Иначе количество непоняток значительно превышает критический порог.

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re:Функции против процедур
« Ответ #152 : Март 03, 2011, 01:56:53 pm »
Ну давайте пример непоняток :-)

Для первого знакомства я помнится вот эту статью с rsdn использовал: http://rsdn.ru/article/haskell/haskell_part1.xml

Причем именно первую часть и до пункта 6 включительно.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

DIzer

  • Гость
Re:Функции против процедур
« Ответ #153 : Март 03, 2011, 02:18:23 pm »
Не фига себе "мягкое введение " . ....." В состав Haskell включены также полиморфные типы – типы, которые некоторым образом содержат квантор общности над всеми типами.".... но за то я теперь знаю откуда черпают свой словарный запас на oberoncore...  :) Введение хорошее, так вводит. что и снотворного не надо
« Последнее редактирование: Март 03, 2011, 02:19:54 pm от DIzer »

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re:Функции против процедур
« Ответ #154 : Март 03, 2011, 02:24:33 pm »
Ну это ж просто обобщенка. Мне после С++ с его шаблонами, это было довольно просто.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

DIzer

  • Гость
Re:Функции против процедур
« Ответ #155 : Март 03, 2011, 02:25:05 pm »
2GeniePro... , блин - вынужден признать... жесткая позиция оберонцев мне представляется обоснованной. (таки, в некоторой степени).. В моем представлении "черные боксеры" и за меньшее могут вполне, закопать заживо... а после на месте захоронения сплясать ХИП-ХОП всем "племенем".  ;D
« Последнее редактирование: Март 03, 2011, 02:30:16 pm от DIzer »

DIzer

  • Гость
Re:Функции против процедур
« Ответ #156 : Март 03, 2011, 02:28:27 pm »
Ну это ж просто обобщенка. Мне после С++ с его шаблонами, это было довольно просто.
Алексей ,  это комментарий по ходу дела..  ;) и потом, я не говорю что мне сложно...
« Последнее редактирование: Март 03, 2011, 02:31:40 pm от DIzer »

DIzer

  • Гость
Re:Функции против процедур
« Ответ #157 : Март 03, 2011, 03:07:04 pm »
Ну это ж просто обобщенка. Мне после С++ с его шаблонами, это было довольно просто.
Алексей ,  это комментарий по ходу дела..  ;) и потом, я не говорю что мне сложно...
я говорю, что мне скучно... :-\\

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re:Функции против процедур
« Ответ #158 : Март 04, 2011, 09:27:29 am »
2GeniePro... , блин - вынужден признать... жесткая позиция оберонцев мне представляется обоснованной. (таки, в некоторой степени)

Ну а мне не кажется.

ЗЫ. Ну, раз Вас тянет в сон от введения в Хаскелл, значит Вы уже и так всё в ФП знаете и понимаете, рад за Вас. ;D
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re:Функции против процедур
« Ответ #159 : Март 04, 2011, 09:57:53 am »
2GeniePro... , блин - вынужден признать... жесткая позиция оберонцев мне представляется обоснованной. (таки, в некоторой степени).. В моем представлении "черные боксеры" и за меньшее могут вполне, закопать заживо... а после на месте захоронения сплясать ХИП-ХОП всем "племенем".  ;D
Да, кстати, я, походу, выпал из контекста.
В чём там заключается "жесткая позиция оберонцев" и чем именно она обоснована? А то они много чего говорят, но как дойдёт до обоснования, так сразу в ответ: "Свои "обоснуи" оставьте при себе."
« Последнее редактирование: Март 04, 2011, 10:01:31 am от Geniepro »
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

DIzer

  • Гость
Re:Функции против процедур
« Ответ #160 : Март 04, 2011, 10:40:54 am »
"ЗЫ. Ну, раз Вас тянет в сон от введения в Хаскелл, значит Вы уже и так всё в ФП знаете и понимаете, рад за Вас.  ;D"
Спасибо за лестную оценку  ;) ..., но скажу честно НЕТ (не понимаю), но мои мысли просто разбиваются о монументальную фундаментальность определений. И есть подозрение, что просто мой тип ума недостаточно полиморфен,   утешает  только мысль, что это подозрение  содержит квантор общности над всеми типами, некоторым образом...
« Последнее редактирование: Март 04, 2011, 10:45:06 am от DIzer »

Peter Almazov

  • Sr. Member
  • ****
  • Сообщений: 482
    • Просмотр профиля
Re:Функции против процедур
« Ответ #161 : Март 04, 2011, 11:47:50 am »
Сам автор языка Саймон Пейтон Джонс говорит следующее:
"Чтобы писать поистине функциональные, а не императивные программы, действительно необходимо в некоторой степени перестроить мозги. И не слегка. Это очень существенная перестройка."
"Он [Haskell] сложный."
"У Haskell особый подход к программированию. Если он вам незнаком, то изучить его с нуля довольно трудно."

Из этого и надо исходить. А всякие высказывания типа "не вижу проблем" только дизориентируют и вредят делу.

DIzer

  • Гость
Re:Функции против процедур
« Ответ #162 : Март 04, 2011, 11:58:48 am »


...Из этого и надо исходить. А всякие высказывания типа "не вижу проблем" только дизориентируют и вредят делу.
Похоже на правду, только - я говорил, главным образом, про то, что - наличие ЯВНЫХ плюсов снижает барьер и стимулирует любознательность.... В особенности, когда ЗНАЕШЬ, что свои проблемы можно решить без введения как новых сущностей, так и перестройки сознания.... То есть нужны основания и веские основания... Например, я ТОЧНО знаю что уровень владения абстрактными понятиями НЕОБХОДИМЫМИ для программирования на Хаскеле = превышает тот , который имеют наши студенты (математики) на 1 курсе (тогда как программирование на том же ББ можно давать им и на 1 курсе), на эту хрень накладываются еще абстракции задачи. Короче, на ФИГА ЭТО НУЖНО, КОМУ, ПОЧЕМУ...с вариантами ответа -мазохистам, культистам (от чистой математики), и just for fun ... полностью согласен...
« Последнее редактирование: Март 04, 2011, 12:07:22 pm от DIzer »

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re:Функции против процедур
« Ответ #163 : Март 04, 2011, 12:16:15 pm »
Сам автор языка Саймон Пейтон Джонс говорит следующее:
"Чтобы писать поистине функциональные, а не императивные программы, действительно необходимо в некоторой степени перестроить мозги. И не слегка. Это очень существенная перестройка."
"Он [Haskell] сложный."
"У Haskell особый подход к программированию. Если он вам незнаком, то изучить его с нуля довольно трудно."

Из этого и надо исходить. А всякие высказывания типа "не вижу проблем" только дизориентируют и вредят делу.
Почитайте статью "Haskell vs. Ada vs. C++ vs. Awk vs. ... An Experiment in Software Prototyping Productivity" -- там упоминалось, как студенту ВУЗа понадобилась пара недель для ознакомления с Хаскеллем, после чего он смог написать вполне конкурентоспособное решение для задачи из этого эксперимента.
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re:Функции против процедур
« Ответ #164 : Март 04, 2011, 12:17:12 pm »
Из этого и надо исходить. А всякие высказывания типа "не вижу проблем" только дизориентируют и вредят делу.
Ой, таки не надо вырывать из контекста, это было сказано конкретно про ту статью. Та статья глубоких познаний не требует абсолютно. Хаскель как язык – простой, используемые парадигмы при построении программ на нем да, довольно сложные. Причем, в отличае от иных языков, на нем весьма сложно писать не правильно, т.е. наплевать на эти парадигмы и писать на хаскеле как на фортране просто так не выйдет.

В этом плане Ocaml сильно проще. Но… оно того стоит. По крайней мере меня очень впечатлило как Дмитрий Астапов строил у меня на глазах программу. То есть сам ход решения задачи, приемы мышления.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"