Функциональное программирование |
Функциональное программирование всегда привлекало меня в противопоставлении к императивному.
Я очень часто обсуждаю различные аспекты функционального программирования на различных ветках на Базарной площади.
Но хотелось бы собрать всех заинтересованный этой темой в одной ветке.
Я думаю что настало время открыть такую тему. И вот почему.
Исторически функциональное программирование появилось практически вместе с императивным.
Вторым языком после фортрана был лисп.
Но увы, функциональное программирование надолго было уделом исследовательских институтов или специализированных приложений (Искусственный Интеллект)
Конечно не надо считать весь мир дураками из за того что развитие пошло по пути языков Алгол семейства.
Для этого были вполне обьективные причины. Функциональные языки слишком близки к человеку и слишком далеки от машины.
Они сьедают в десятки раз больше рессурсов чем императивные языки.
Вспомните претензии, предявляемые к java - первому императивному языку с виртуальной машиной и сборщиком мусора, толкаемому большими корпорациями в mainstream.
Жутко тормозит, и жрет всю память какая есть. А ведь функциональные языки (далее ФЯ) все без иключения имеют сборщик мусора, виртуальную машину.
Многие из них (семейство лисп) еще и динамические, что только усугубляет положение.
Вполне естественно что появившись более полусотни лет назад они надолго опередилли свое время.
Для широкого распространения ФЯ нужны гигабайты дешевой памяти и гигагерцы дешевых процессоров.
Прошло более 50 лет, прежде чем такие требования к железу стали реальностью.
Это время наступило. СЕЙЧАС.
Добро пожаловать в новую эру программирования.
Jack Of Shadows
Всего в теме 5502 сообщения
Добавить свое сообщение
Отслеживать это обсуждение
- Средства разработки. Языки программирования.
- Delphi 4 or Delphi 5
- Что приобрести в качестве средства разработки?
- Delphi6
- Delphi vs PowerBuilder
- Сравнение компиляторов
- Вот и вышла Delphi 7... Вы рады?
№ 4242 09-04-2008 03:00 | |
Ответ на »сообщение 4240« (Jack Of Shadows)
___________________________
Ответ на »сообщение 4239« (Geniepro)
___________________________
PS. Кстати, обещается, что GNOME 3.0 будет радикально пересмотрен разработчиками xmonad
Это была первоапрельская шутка :)))
Не думал что увижу человека, попавшегося на интернетовское первапреля.
В этот день уже по моему никто ничего всерьез не воспрнимает.
Вот чёрт, не посмотрел на дату... :о(
Кстати интересный момент. Первого апреля Gnome обьявили что их браузер полностью переходит на движок Webkit.
Им никто не поверил.
А сообщение было всамделишным. :))
Они потом у себя писали, что надо запретить первого апреля делать какие бы то ни было анонсы :))
Кстати, в истории Хаскелла было тоже несколько моментов, когда важные и вполне всамделишные сообщения были сделаны тоже первого апреля, например, первая редакция сообщения о самом Хаскелле... А вдруг они правда это сделают? :о))
№ 4241 09-04-2008 02:59 | |
Ответ на »сообщение 4239« (Geniepro)
___________________________
Ну, эти трое парней давно и хорошо изветсны в хаскельном мире -- они поддерживают разные дистрибутивы GHC, разные библиотеки...
И хотя их фирма открылась лишь на днях, имя у них уже есть...
В том-то и дело, что этот опыт (сам по себе интересный и достойный уважения) и разработка бизнес-ПО (и консалтинг по его разработке тоже, хоть и в меньшей мере) --- очень разные вещи, требующие зачастую прямо противоположных подходов.
№ 4240 09-04-2008 00:13 | |
Ответ на »сообщение 4239« (Geniepro)
___________________________
PS. Кстати, обещается, что GNOME 3.0 будет радикально пересмотрен разработчиками xmonad
Это была первоапрельская шутка :)))
Не думал что увижу человека, попавшегося на интернетовское первапреля.
В этот день уже по моему никто ничего всерьез не воспрнимает.
Кстати интересный момент. Первого апреля Gnome обьявили что их браузер полностью переходит на движок Webkit.
Им никто не поверил.
А сообщение было всамделишным. :))
Они потом у себя писали, что надо запретить первого апреля делать какие бы то ни было анонсы :))
№ 4239 08-04-2008 12:23 | |
Ответ на »сообщение 4238« (Geniepro)
___________________________
Упс! Следовало читать так:
>>> Мое сомнение вызвала данная конкретная "консалтинговая фирма" без всякого proven track record на сайте (встречают-то по одежке).
Ну, эти трое парней давно и хорошо изветсны в хаскельном мире -- они поддерживают разные дистрибутивы GHC, разные библиотеки...
И хотя их фирма открылась лишь на днях, имя у них уже есть...
PS. Кстати, обещается, что GNOME 3.0 будет радикально пересмотрен разработчиками xmonad -- весьма серьёзное участие хаскеллеров в деле построения линуксов... :о)
№ 4238 08-04-2008 12:18 | |
Ответ на »сообщение 4237« (Lisp Hobbyist)
___________________________
>>> Мое сомнение вызвала данная конкретная "консалтинговая фирма" без всякого proven track record на сайте (встречают-то по одежке).
Вот интеренсо, что упрощают фортовские константы, которые можно легко изменять?
В форте даже константы мутабельные... :о)
PS. Кстати, обещается, что GNOME 3.0 будет радикально пересмотрен разработчиками xmonad -- весьма серьёзное участие хаскеллеров в деле построения линуксов... :о)
№ 4237 08-04-2008 12:04 | |
Ответ на »сообщение 4236« (Geniepro)
___________________________
Я в курсе, что Haskell используется не только как поле для научной работы. Мое сомнение вызвала данная конкретная "консалтинговая фирма" без всякого proven track record на сайте (встречают-то по одежке).
№ 4236 08-04-2008 11:36 | |
№ 4235 08-04-2008 09:56 | |
Ответ на »сообщение 4225« (Jack Of Shadows)
___________________________
Первая ласточка проникновения хаскеля на рынок.
А где на сайте список реальных проектов, вроде этого ?
Без него возникает ощущение чего-то знакомого:
>>> Незнайка чинно сидел за столом в ожидании покупателей акций. Перед ним лежали толстая тетрадь в твердом картонном переплете и автоматическое перо. На тетради было написано красивыми буквами: "Приходо-расходная книга". Один из ящиков стола был доверху набит приготовленными для продажи акциями. Другой ящик предназначался для денег, вырученных от продажи. Пока этот ящик был пуст
№ 4234 08-04-2008 08:58 | |
Кто-нибудь пробовал Google AppEngine ?
Как там обстоят дела с автоматическим распараллеливанием питоновского кода?
№ 4233 07-04-2008 13:36 | |
Ответ на »сообщение 4232« (Денис Зайцев)
___________________________
Unfortunately, the library does not help to correctly synchronize parallel code that uses shared memory. It is still the programmer's responsibility to ensure that certain code can be safely executed in parallel...
Об этом я и сам постоянно здесь говорю. Бизнес НАДЕЕТСЯ что дешево отделается. И потому внедряет функциональные фозможности в мейнстрим язки в НАДЕЖДЕ что и так сойдет.
Но как показывает более чем полувековая истори программирования, если полагаться на ручную работу программистов, то ничего надежно работать не будет.
И тем не менее небольшая подвижка в лучшую сторону все таки наблюдается. Подвижка в том что теперь программистам гораздо легче будет писать распараллеливаемый код.
Согласитесь что следить за тем что передаваемый на автоматическое распараллеливание код был бы чистым, значительно легче чем распараллеливать все самому.
Опять таки, "гораздо легче" не одначает "гораздо надежнее".
Надежность может гарантироваться только компилятором, бьющим по рукам и выполняющим все проверки.
Но бизнес все равно в выигрыше. Главное массам станет легче писать распараллеленные программы. А с ошибками они разберутся по старнике, так же как и всегда, патчами и сервис паками.
Добавить свое сообщение
Отслеживать это обсуждение
Дополнительная навигация: |
|