Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Базарная площадь
  
О разделе

Основная страница

Группы обсуждений


Тематический каталог обсуждений

Архив

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  14:43[Войти] | [Зарегистрироваться]
Обсуждение темы:
Функциональное программирование

Функциональное программирование всегда привлекало меня в противопоставлении к императивному.
Я очень часто обсуждаю различные аспекты функционального программирования на различных ветках на Базарной площади.
Но хотелось бы собрать всех заинтересованный этой темой в одной ветке.
Я думаю что настало время открыть такую тему. И вот почему.

Исторически функциональное программирование появилось практически вместе с императивным.
Вторым языком после фортрана был лисп.
Но увы, функциональное программирование надолго было уделом исследовательских институтов или специализированных приложений (Искусственный Интеллект)
Конечно не надо считать весь мир дураками из за того что развитие пошло по пути языков Алгол семейства.
Для этого были вполне обьективные причины. Функциональные языки слишком близки к человеку и слишком далеки от машины.
Они сьедают в десятки раз больше рессурсов чем императивные языки.
Вспомните претензии, предявляемые к java - первому императивному языку с виртуальной машиной и сборщиком мусора, толкаемому большими корпорациями в mainstream.
Жутко тормозит, и жрет всю память какая есть. А ведь функциональные языки (далее ФЯ) все без иключения имеют сборщик мусора, виртуальную машину.
Многие из них (семейство лисп) еще и динамические, что только усугубляет положение.
Вполне естественно что появившись более полусотни лет назад они надолго опередилли свое время.

Для широкого распространения ФЯ нужны гигабайты дешевой памяти и гигагерцы дешевых процессоров.
Прошло более 50 лет, прежде чем такие требования к железу стали реальностью.
Это время наступило. СЕЙЧАС.
Добро пожаловать в новую эру программирования.

 Jack Of Shadows

Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру


Всего в теме 5502 сообщения

Добавить свое сообщение

Отслеживать это обсуждение


Смотрите также обсуждения:
Средства разработки. Языки программирования.
  • Delphi 4 or Delphi 5
  • Что приобрести в качестве средства разработки?
  • Delphi6
  • Delphi vs PowerBuilder
  • Сравнение компиляторов
  • Вот и вышла Delphi 7... Вы рады?

  • <<<... | 942—933 | 932—923 | 922—913 | ...>>>
    Всего сообщений в теме: 5502; страниц: 551; текущая страница: 458


    № 932   Удалено модератором


    № 931   23-08-2006 01:43 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 927« (Как слышно? Приём!)
    ___________________________
    А по-моему один лагерь тех, кто восторгается новыми и своеобычными
    методами ФЯ и других, кто почему-то воспринимает это как вызов.
    Но есть и те, которые никак не врубятся в чём здесь фишка (а хотелось бы)
    и не понимают из-за чего драка :)

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


    № 930   Удалено модератором


    № 929   22-08-2006 15:36 Ответить на это сообщение Ответить на это сообщение с цитированием
    Чур ленивые ФЯ ! :)


    № 928   22-08-2006 15:15 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 927« (Как слышно? Приём!)
    ___________________________
    Но есть и те, которые никак не врубятся в чём здесь фишка (а хотелось бы)
    и не понимают из-за чего драка :)


    Мы можем долго рассказывать вам в чем фишка. Но это как рассказывать упавшему со второго этажа, что такое падать с паращютом. У вас один опыт, у нас другой.
    И пока вы не наденете парашют, тьфу, не попробуете ФП на конкретной задаче, то все ваши попытки понять натолкнутся на ваше (я помню, это было больно)

    И вот тут начинается заколдованный круг, который разорвать по силам очень немногим.
    Как попробовать новый подход в программировании ?
    Это ведь не с паскаля на java перейти. Подумаешь begin end на скобки сменил, вот и вся адаптация.
    А тут нужно за книжки садиться, задачи решать.
    Наскоком не возьмешь. "Интуитивности" ноль. В случае с лиспом например нужно даже учиться читать новую форму записи, куда уж там до новых парадигм.

    Потом глаза разбегаются.
    Чистые ФЯ (haskell, clean, erlang)
    Cмешанные ФЯ (ocaml, lisp, ML)
    Динамические ФЯ (lisp, erlang)
    Статические ФЯ (ocaml, clean, ML, haskell),
    ленивые ФЯ (haskell, clean)
    неленивые ФЯ (все остальные)

    Какую комбинацию свойств выбрать ? Какую реализацию выбрать ?

    Сколько нужно потратить на ВСЕ ЭТО времени чтобы разобраться что подходит для вас а что нет ?
    Для вас является очень важным скорость исполнения ? Отметаем динамические языки.
    Вас не устраивает отсутствие оператора присваивания ? Отметаем чистые языки.
    Вам нужны какие то конкретные библиотеки ? Приходится лазить, искать, выяснять в каком языке они есть, в каком нет.
    Не знаете английского ? Tough luck! Rhue ограничивается теми языками по которым сможете найти нормальную литературу.
    Только windows ? Ая яй яй ! Вместо быстрого SBCL приходится выбирать в десятки раз более медленный lispworks.

    Кто пустится в это далекое и трудное путешевствие ? Вы ?


    № 927   22-08-2006 14:55 Ответить на это сообщение Ответить на это сообщение с цитированием
    >>> > как можно говорить о четком осознании области применения со стороны
    >>> > тех кто ФП не пробовал ? Что и как они могут четко осознавать ? :))
    >>> Интересно, это что, не провокация?

    Конечно провокация. Провокация принудить попробовать ФП. Это плохо?

    >>> один, считающий, что вычислительной мощности теперь (или через
    >>> десять лет) хватит на что угодно и другой, который пытается решать
    >>> задачи, для которых вычислительной мощности не хватит никогда.
    Увы обоим.

    А по-моему один лагерь тех, кто восторгается новыми и своеобычными
    методами ФЯ и других, кто почему-то воспринимает это как вызов.
    Но есть и те, которые никак не врубятся в чём здесь фишка (а хотелось бы)
    и не понимают из-за чего драка :)

    >>>  все компьютеры - это и конечные автоматы и машины Тьюринга одновременно.

    Вроде есть ещё аналоговые компьютеры. Или это недокомпьютеры в тупике?


    № 926   22-08-2006 13:56 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 924« (Артем)
    ___________________________
    Раз уж вас Артем так волнует скорость перемножения матриц лиспом, то вот вам результаты лиспа как раз на перемножении матриц:

    http://shootout.alioth.debian.org/old/benchmark.php?test=matrix&lang=all

    Как видите два стандартных лиспа, Scheme Bigloo и SBCL имеют результаты вполне на уровне паскаля.
    Всего в 2 раза медленнее оберона. В 2, а не в 30-40



    № 925   22-08-2006 13:09 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 924« (Артем)
    ___________________________
    Интересно, это что, не провокация? 
    Провокация чего ? Того чтобы вы наконец перестали пургу гнать и попробовали ФП на практике ?
    Дык я уже десять раз наверное пытался вас на это спровоцировать. Так ведь бесполезно.


    И вопросы, вроде производительности LispWorks на итеративном алгоритме тоже игнорируются.


    Это неправда. Речь идет не об итеративном алгоритме, а о работе с конкретными структурами - массивами при отсутствии информации о типе (динамический язык). Любой динамический язык работает с массивами в таком режиме гораздо медленнее статически типизированных языков.

    Вы хотите чтобы я это признал ? :)) Признаю.
    Вам стало легче уговорить себя не работать на лиспе ? Вам жутко не хватало этого признания ?


    № 924   Удалено модератором


    № 923   22-08-2006 12:11 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 921« (Сергей Перовский)
    ___________________________
    один, считающий, что вычислительной мощности теперь (или через десять лет) хватит на что угодно и другой,
    Побойтесь бога! Откуда это "на что угодно" вылезло ?
    Начиная с завязки этой темы и красной нитью через все сообщения идет мысль о том что ФП только только начинает влезать в массовое прикладное программирование. И до "чего угодно" ему еще очень и очень далеко.

    А на самом деле нужно просто признать, что для многих задач быстродействие стало несущественным,

    Рад вас видеть в лагере "наших" :))


    <<<... | 942—933 | 932—923 | 922—913 | ...>>>
    Всего сообщений в теме: 5502; страниц: 551; текущая страница: 458


    Добавить свое сообщение

    Отслеживать это обсуждение

    Дополнительная навигация:
    Количество сообщений на странице

    Порядок сортировки сообщений
    Новое сообщение вверху списка (сетевая хронология)
    Первое сообщение вверху списка (обычная хронология)

    Перейти на конкретную страницу по номеру
      
    Время на сайте: GMT минус 5 часов

    Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
    Функция может не работать в некоторых версиях броузеров.

    Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
    Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

     
    © При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
    Все используемые на сайте торговые марки являются собственностью их производителей.

    Яндекс цитирования