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

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

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


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

Архив

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

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

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

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

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

 Jack Of Shadows

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

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

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


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

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

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


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

  • <<<... | 3022—3013 | 3012—3003 | 3002—2993 | ...>>>
    Всего сообщений в теме: 5502; страниц: 551; текущая страница: 250


    № 3012   29-09-2007 16:01 Ответить на это сообщение Ответить на это сообщение с цитированием
    Никто не читал книгу Р. Душкина "Функциональное программирование на языке Haskell"? Купил недавно, понемногу читаю. Но интересно мнение тех, кто знаком с ФЯ и с литературой по ним насчет этой книги.


    № 3011   18-09-2007 12:21 Ответить на это сообщение Ответить на это сообщение с цитированием
    http://mitpress.mit.edu/sicp/adopt-list.html
    Список университетов в которых курс программирования ведется по книге SICP (http://mitpress.mit.edu/sicp/full-text/book/book.html)

    Можно только по хорошему позавидовать студентам этих вузов.


    № 3010   17-09-2007 09:23 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 3007« (Мухтар )
    ___________________________

    Ух-ты как все просто и легко, то оказывается! Будем каждый цикл от одного до десяти параллелить? :)))))

    Уже сейчас есть маленькие компьютеры с 2048-ми ядрами. На них можно распараллеливать циклы побольше, чем от 1 до 10... :о))

    Глядишь, вспомнят и про SISAL. Хороший был язык, распараллеливался отично, куда лучше фортранов...


    № 3009   17-09-2007 09:19 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 3000« (Илья Ермаков)
    ___________________________

    Т.е. возможно ли "ФП без доминирования функционально-математических абстракций". Такой вот провокационный вопрос к господам функциональщикам :-)

    Боюсь, это уже нельзя будет назвать функциональным программированием... ;о)


    № 3008   17-09-2007 07:07 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 3007« (Мухтар )
    ___________________________

    Ух-ты как все просто и легко, то оказывается! Будем каждый цикл от одного до десяти параллелить? :)))))
    Ну напишите архиватор, который будет использовать преимущества многоядерности. Или программу взлома ключа шифрования.


    № 3007   17-09-2007 04:33 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 3005« (Marduk)
    ___________________________


    Весело тут у вас-сами себе дифирамбы поете :)))
    Чтобы что-то распараллелить-надо сначала  что-то написать посерьезней quicksorta


    Совершенно согласен :) У меня дома пылится книжка "Параллельные вычисления" в шестьсот страниц. Осталась со времен диплома. Матрицы, графы и прочее.

    Ответ на »сообщение 2998« (Geniepro)
    ___________________________
    void Render(Scene scene, Color[,] rgb)

      Parallel.For(0, screenHeight, delegate(int y)
      {
        for (int x = 0; x < screenWidth; x++) {
          rgb[x,y] = TraceRay(new Ray(scene,x,y));
        }
      });
    }удалось добиться семикратного роста скорости трассировки лучей на восьмиядерном компьютере!


    Ух-ты как все просто и легко, то оказывается! Будем каждый цикл от одного до десяти параллелить? :)))))


    № 3006   17-09-2007 03:47 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2998« (Geniepro)
    ___________________________
    добиться семикратного роста скорости трассировки лучей на восьмиядерном компьютере
    Правильно - одно ядро потрачено на согласование работы других семи.
    Задача для распараллеливания уж больно хороша!


    № 3005   17-09-2007 03:16 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2998« (Geniepro)
    ___________________________
    Весело тут у вас-сами себе дифирамбы поете :)))
    Чтобы что-то распараллелить-надо сначала  что-то написать посерьезней quicksorta


    № 3004   16-09-2007 04:03 Ответить на это сообщение Ответить на это сообщение с цитированием
    Спасибо за объяснение! Кратко и ясно :-)


    № 3003   15-09-2007 16:55 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 3002« (Jack Of Shadows)
    ___________________________
    В следующей пятилетке может они додумаются наконец до type inference (выведение типов) и

    {int x,int y => x + y}

    првератится в

    {x,y => x + y}

    :))


    <<<... | 3022—3013 | 3012—3003 | 3002—2993 | ...>>>
    Всего сообщений в теме: 5502; страниц: 551; текущая страница: 250


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

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

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

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

    Перейти на конкретную страницу по номеру
      
    Время на сайте: 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» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
    Все используемые на сайте торговые марки являются собственностью их производителей.

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