Функциональное программирование |
Функциональное программирование всегда привлекало меня в противопоставлении к императивному.
Я очень часто обсуждаю различные аспекты функционального программирования на различных ветках на Базарной площади.
Но хотелось бы собрать всех заинтересованный этой темой в одной ветке.
Я думаю что настало время открыть такую тему. И вот почему.
Исторически функциональное программирование появилось практически вместе с императивным.
Вторым языком после фортрана был лисп.
Но увы, функциональное программирование надолго было уделом исследовательских институтов или специализированных приложений (Искусственный Интеллект)
Конечно не надо считать весь мир дураками из за того что развитие пошло по пути языков Алгол семейства.
Для этого были вполне обьективные причины. Функциональные языки слишком близки к человеку и слишком далеки от машины.
Они сьедают в десятки раз больше рессурсов чем императивные языки.
Вспомните претензии, предявляемые к java - первому императивному языку с виртуальной машиной и сборщиком мусора, толкаемому большими корпорациями в mainstream.
Жутко тормозит, и жрет всю память какая есть. А ведь функциональные языки (далее ФЯ) все без иключения имеют сборщик мусора, виртуальную машину.
Многие из них (семейство лисп) еще и динамические, что только усугубляет положение.
Вполне естественно что появившись более полусотни лет назад они надолго опередилли свое время.
Для широкого распространения ФЯ нужны гигабайты дешевой памяти и гигагерцы дешевых процессоров.
Прошло более 50 лет, прежде чем такие требования к железу стали реальностью.
Это время наступило. СЕЙЧАС.
Добро пожаловать в новую эру программирования.
Jack Of Shadows
Всего в теме 5502 сообщения
Добавить свое сообщение
Отслеживать это обсуждение
- Средства разработки. Языки программирования.
- Delphi 4 or Delphi 5
- Что приобрести в качестве средства разработки?
- Delphi6
- Delphi vs PowerBuilder
- Сравнение компиляторов
- Вот и вышла Delphi 7... Вы рады?
№ 4352 23-07-2008 05:04 | |
Ответ на »сообщение 4347« (Lisp Hobbyist)
___________________________
"Failure stories" Во всем известном Autocad, лисп появился давно. При том, что основной недостаток ФЯ (быстродействие) там не имеет серьёзного значения, позднее всё-таки добавили VB. ПМСМ, кабы всё действительно было так шоколадно не стали бы они с бэйсиком заморачиваться.
№ 4351 23-07-2008 04:07 | |
Ответ на »сообщение 4350« (Как слышно? Прием!)
___________________________
Посчитаем сколько стоит офисов и сколько лиспов? :)
Вы хотите меряться "у кого больше"? Отлично.
Количество пользователей офиса, умеющих писать формулы в Excel (читай "программировать на функциональном языке") много больше числа тех, кто на этом же Excel доходит до VBA.
За сим предлагаю оставить тему офиса в программировании ;-)
№ 4350 23-07-2008 03:10 | |
Ответ на »сообщение 4348« (panda)
___________________________
Посчитаем сколько стоит офисов и сколько лиспов? :)
ФЯ недружественны к новичкам.
Вышел Allegro CL 8.1 Free Express Edition, (скачал)
но он с большими замороками по части лицензирования.
И приглашение к пользованию ФЯ похоже на зазывание в роуп джампинг -
не у каждого духу хватит.
№ 4349 23-07-2008 02:51 | |
Ответ на »сообщение 4346« (Lisp Hobbyist)
___________________________
Ответ на »сообщение 4340« (Илья Ермаков)
___________________________
А пример "правильных" с точки зрения авторов языков и их реализаций приводится? Или, как это часто бывает, только благие умозаключения?
Там тема систем программирования только вскользь затронута. Книжка скорее теоретико-системно-модельная, а не программистская (хотя авторы и опираются на прошлый практический опыт автоматизации производств).
№ 4348 23-07-2008 02:43 | |
Ответ на »сообщение 4345« (Как слышно? Прием!)
___________________________
Подавляющее большинство решает задачи для которых достаточно что-то вроде VBA.
VBA требует большого (а часто и не бесплатного) офисного пакета.
Проще уж написать скрипт (а это как раз можно сделать не на императивном языке, а на функциональном) ;-)
№ 4347 23-07-2008 02:33 | |
Ответ на »сообщение 4337« (Geniepro)
___________________________
Разгромная статья Владимира Шабанова:
Язык имеет значение
Как-то так сложилось, что информация о внедрении ФП поступает в основном от тех, у кого это получилось. ИМХО, для полноты картины полезно учитывать и противоположную сторону --- тех, кто потерпел неудачу. Соотношение количества тех и других очень важно для объективной оценки. Но где взять такие данные? К сожалению, не припомню раздела "Failure stories" ни на одном из виденных мной сайтов.
№ 4346 23-07-2008 02:09 | |
Ответ на »сообщение 4340« (Илья Ермаков)
___________________________
Там речь, очевидно, про другое - я уж сказал: про вопрос типа "why" к системе, делающий некий вывод на данных...
А пример "правильных" с точки зрения авторов языков и их реализаций приводится? Или, как это часто бывает, только благие умозаключения?
№ 4345 23-07-2008 01:52 | |
Ответ на »сообщение 4344« (Jack Of Shadows)
___________________________
>>> Подавляющее большинство ДАЖЕ НЕ ПЫТАЕТСЯ.
Подавляющее большинство решает задачи для которых достаточно что-то вроде VBA.
№ 4344 22-07-2008 11:13 | |
Ответ на »сообщение 4343« (Мухтар )
___________________________
но при этом он сам себе противоречит, толкая ФП в массы. А массам он не нужен.
Речь не о массах а о тех программистах, которые видят недостатки своих инструментов и не собираются с этими недостатками мириться. Массы как раз таки никаких недостатков в упор не видят и им ничего исправлять не надо. Все и так хорошо. Они воспринимают недостатки своих инстурментов как неотделимые свойства самой решаемой задачи.
Я согласен, далеко не в каждом конкретном случае можно пересесть на ФП. Часто барьером служит окружение программиста, среда в которой он работает. Но я сейчас говорю не о трудностях перехода, а об отсутствии попыткок. Подавляющее большинство ДАЖЕ НЕ ПЫТАЕТСЯ.
№ 4343 22-07-2008 07:31 | |
Ответ на »сообщение 4342« (panda)
___________________________
Не Ваше:В подавляющем большинстве случаев все сводится к простой инерции. Программисты предпочитают бороться с тем с чем они мучались все эти годы, нежели предпринимать какие то начальные усилия по пересаживанию на новые санки. И при этом с успехом уговаривают сами себя, что и так мол хорошо.
Но касается Вашего:Но с его применением у меня пока ничего не получится - теже проблемыПриведу аналогию. В конце 19го века, когда начали активно внедрять железную дорогу в нашу жизнь, были сомневающиеся. Спустя несколько десятков лет, история расставила все на свои места. Наверное, приятно осозновать себя причастным к тому, что прогресс пошел по определенному пути, но не всем это нужно. Если Jack активно пропагандирует ФП, то это его личные проблемы. Но и он должен понимать, что не всем нужно пичкать себя, и тратить свое время, на новомодные тенденции. Некоторые предпочитают подождать, и приобщиться к моде, когда она докажет свою эффективность.
Я повторюсь: программирование на ФП, несомненно, большое удовольствие, но попробуйте внедрить эту технологию в среднего размера проект, хотя бы с десятком программистов. Тут никакой эджайл не поможет. Большинство проектов сводятся к итеративным реализациям ньюансам автоматизации прикладных проектов из нашей жизни. Как тут поможет ФП? Я рад за Jack'a что он желает быть на вершине пищевой цепи, но при этом он сам себе противоречит, толкая ФП в массы. А массам он не нужен.
Добавить свое сообщение
Отслеживать это обсуждение
Дополнительная навигация: |
|