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

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

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


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

Архив

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

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

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

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

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

 Jack Of Shadows

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

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

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


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

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

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


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

  • <<<... | 182—173 | 172—163 | 162—153 | ...>>>
    Всего сообщений в теме: 5502; страниц: 551; текущая страница: 534


    № 172   15-06-2006 08:03 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 171« (Trurl)
    ___________________________
    Как говорил один прапорщик "А положено - ешьте". :-)
    Я вижу тут не только борщи кастрюлями потребляют. Тут ещё и ждут, пока они протухают до вони...

    "Немного" доплненный текст (например, отсюда http://www.cse.unsw.edu.au/~dons/haskell-1990-2000/msg01258.html):

        * To: haskell@dcs.glasgow.ac.uk
        * Subject: Obfuscated Haskell Code Contest
        * From: Lennart Augustsson <augustss>
        * Date: Fri, 5 Nov 93 16:42:01 +0100
        * Approved: haskell@dcs.gla.ac.uk
        * Mail-from: From Haskell-List-Dist-Request@Dcs.Gla.Ac.Uk Fri Nov 5 17:05:49 1993
        * Old-resent-from: haskell-request@dcs.gla.ac.uk
        * Resent-date: Fri, 5 Nov 1993 15:50:50 +0000
        * Resent-from: kh
        * Resent-message-id: <9311051605.AA28818@animal.cs.chalmers.se>
        * Resent-to: haskell-list-dist

    Resent-Message-Id: <9311051605.AA28818@animal.cs.chalmers.se>
    From: Lennart Augustsson <augustss>
    Subject: Obfuscated Haskell Code Contest
    Date: Fri, 5 Nov 93 16:42:01 +0100
    To: haskell@dcs.glasgow.ac.uk
    Old-Resent-From: haskell-request@dcs.gla.ac.uk
    Errors-To: haskell-request@dcs.gla.ac.uk
    Approved: haskell@dcs.gla.ac.uk
    Resent-Date:  Fri, 5 Nov 1993 15:50:50 +0000
    Resent-From: kh
    Resent-To: haskell-list-dist




    Obfuscated Haskell Code Contest
    ===============================

    THE TIME HAS COME!

    Haskell has now come of age

    ... SKIPPED ...

    The goal: a program of at most 1024 characters that is as incomprehensible as possible.

    Deadline: 1 Jan 1994.

    Send to: iohcc@cs.chalmers.se

    Full rules (stolen from the C contest) below.

    Have fun
    -- Lennart Augustsson
    Сообщение не подписано


    № 171   15-06-2006 05:30 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 165« (Сообщение не подписано)
    ___________________________
    >>>>>Такого конкурса для функциональных языков нет.
    >>>>Этого вы знать не можете. Вы можете не знать о таком конкурсе.
    >>>Судя по здешней дискуссии и персоналиям, это ВЫ можете НЕ знать. Даже не "можете", а – "позволяете себе мочь не знать".
    >>>А мне знать об этом положено. ;)

    Как говорил один прапорщик "А положено - ешьте". :-)


    From: Lennart Augustsson <augustss>
    Subject: Obfuscated Haskell Code Contest

    Obfuscated Haskell Code Contest
      ===============================
      THE TIME HAS COME!
     

    Haskell has now come of age and it is time to prove that we can do as good as C programmers can.  Thus, the time has come for an obfuscated Haskell code contest.  The contest is modelled after the corresponding C contest.

    But with Haskell we should be able to reach levels of obfuscation that C programmers can only dream of in their wildest nightmares.  Just consider the exception filled lexical rules (e.g. comments), strange syntax (try mixing layout with no-layout), and a semantics that is still debated.

    The goal: a program of at most 1024 characters that is as incomprehensible as possible.


    № 170   15-06-2006 05:09 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 161« (Q. Werty)
    ___________________________

    Нет никакой "пропасти" между хорошими императивными языками и хорошими функциональными. ... Великие идеи не знают границ - например, такая идея, как идея модульности. И это хорошо.

    Дополню наблюдение коллеги-преподавателя:

    Все "хорошие" языки -- синтетические, иначе работать было бы практически невозможно: между каждым нажатием клавиши комп ждет, имея state (даже если последний называть набором определений фукнций).

    Но из трех парадигм императивная выделена -- тем, что именно так устроено железо. Поэтому самые по факту мощные языки берут императивную парадигму за основу, вводя ограничения и средства, мотивированные опытом работы в других парадигмах (хотя бы рекурсивные функции, наличествовавшие уже в Алголе; не говоря про герметичную систему типов вместе со сбором мусора в Обероне).


    № 169   15-06-2006 05:03 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 165« ()
    ___________________________

    Слив засчитан.


    № 168   15-06-2006 04:02 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 162« (Jack Of Shadows)
    ___________________________

    Поэтому прошу info21. Не могли бы вы поделиться с описанием тех трудностей, с которыми вам пришлось столкнуться в вашей, судя по всему, долгой практике работы с функциональными (?) языками ?

    Обучение. Адаптация чужих программ.

    Да и вообще а что за язык (языки) то были ?

    Работал с лиспом. Смотрел много чего.
    "Чтобы оценить борщ, не обязательно съедать всю кастрюлю."

    может сложиться впечатление что вы действительно по фортрану о лиспе судите :))
    Впечатления зависят от того, что люди хотят -- или не хотят -- услышать. За это я не могу отвечать.


    № 167   15-06-2006 02:13 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 163« (Комбриг)
    ___________________________
    Ну что ж, кому-то обязательно надо сунуть в рот кусок чего-то, чтобы понять его малосъедобность, а кому-то достаточно посмотреть и понюхать и не ставить сомнительных экспериментов

    Хорошо что люди не учатся программированию посмотрев и понюхав. :))
    Пока что кроме как практикой другого способа научиться писать программы еще не придумано. В том числе и составить мнение о том или ином аспекте программирования.

    языки программирования, в которых каждый кому ни лень может может "расширять синтаксис" я действительно "в гробу видал"
    Вы наверное из тех кто по той же причине и сторонних библиотек не использует. Только свое или "стандартное" :))

    На самом деле, как вы себе представляете "расширение синтаксиса" ?
    По вашему людям делать нечего, только назло вам придумывать новые операторы if, while, for, специально переименовывая их так чтобы в ни в жисть не догадались что же они делают ?

    Впрочем советовать вам попробовать самому не буду. Помню, вы уже понюхали :))


    № 166   15-06-2006 00:43 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 163« (Комбриг)
    ___________________________
    Сразу замечу по поводу того, что "спорю о вкусе устриц с теми, кто их ел". Ну что ж, кому-то обязательно надо сунуть в рот кусок чего-то, чтобы понять его малосъедобность, а кому-то достаточно посмотреть и понюхать и не ставить сомнительных экспериментов :)
    Вы лягушек употребляете?
    А собак?
    А гусениц величиной с "колбасу охотничью"?
    Нет?
    Странно, вы знаете, а кто-то вас просто не поймёт и подумает, что вы извращенец.
    Далеко за примерами ходить не надо – обратитесь к первому попавшемуся мусульманину и спросите его мнение про свинину.

    Тут приводили в пример Эксель как некоторый аналог функционального программирования. Так вот, я неоднократно видел попытки соорудить на Экселе нечто большее, чем подсчет сумм и средних по табличкам. И эти кошмарные произведения послужили для меня неплохой "прививкой"...
    Вы не уловили аналогий – кто и зачем говорил об экселе...
    Наверное, отсюда проистекает ваше: Не желаю ни с кем спорить, но языки программирования, в которых каждый кому ни лень может "расширять синтаксис" я действительно "в гробу видал".
    Остаётся вам от всей души посочувствовать. Вам наверное так и придётся всю жизнь прометаться в жёстко определённом "прокрустовом ложе" задач и способов их решения.

    И необходимость пользоваться таким инструментом для меня может быть сравнима с приговором к каторге на рудниках :)...
    Стереотипы. И отсутствие опыта работы с такими языками.
    Сообщение не подписано


    № 165   15-06-2006 00:23 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 160« (info21)
    ___________________________
    Бред какой-то: динамические структуры и Immutability.
    Вы хоть поняли, что сказали?

    Я – да.

    Вы, как обычно, не умеете читать: я не связал два термина родительным падежом.
    Либо вы не понимаете механизмов работы функциональных языков.

    Я не понимаю, как применительно к неизменяемым (по падежам) английским словам применять падежи русского языка. МОжет русские окончания с дефисом дописывать?

    А реализации, случаем, на ФОРТРАНЕ были?
    Фортран не намного хуже ассемблера для реализации того же лиспа.

    ??? Кучу вы на базе огромного массива будете реализовывать? Подменяя (надстраивая) механизмы работы с памятью, уже имеющиеся в ОС?

    За то бывает есть объективное сравнение затрат на том или ином языке соответствующих парадигм и подходов.
    Вы не только читать не умеете, но и писать.

    Специально для тех, у кого трудности с "достройкой контектса", и ассоциациями, я повторю:
    За то есть объективное сравнение затрат на том или ином языке для поддержки соответствующих парадигм и подходов.

    В Лиспе НЕ возвращаются ЛОКАЛЬНЫЕ функции в понятиях, сложившихся в императивных языках.
    Вы точно не умеете читать. Я нигде не говорил про такие функции.

    Для тех, у кого уже началось возрастное с памятью:
    №156:
    (пятая строчка от конца сообщения)
    >>> А возращать локальные функции ...

    Такого конкурса для функциональных языков нет.
    Этого вы знать не можете. Вы можете не знать о таком конкурсе.

    Судя по здешней дискуссии и персоналиям, это ВЫ можете НЕ знать. Даже не "можете", а – "позволяете себе мочь не знать".
    А мне знать об этом положено. ;)
    Сообщение не подписано


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


    № 163   14-06-2006 23:15 Ответить на это сообщение Ответить на это сообщение с цитированием
    Не желаю ни с кем спорить, но языки программирования, в которых каждый кому ни лень может может "расширять синтаксис" я действительно "в гробу видал". И необходимость пользоваться таким инструментом для меня может быть сравнима с приговором к каторге на рудниках :)...

    Сразу замечу по поводу того, что "спорю о вкусе устриц с теми, кто их ел". Ну что ж, кому-то обязательно надо сунуть в рот кусок чего-то, чтобы понять его малосъедобность, а кому-то достаточно посмотреть и понюхать и не ставить сомнительных экспериментов :)

    Тут приводили в пример Эксель как некоторый аналог функционального программирования. Так вот, я неоднократно видел попытки соорудить на Экселе нечто большее, чем подсчет сумм и средних по табличкам. И эти кошмарные произведения послужили для меня неплохой "прививкой"...


    <<<... | 182—173 | 172—163 | 162—153 | ...>>>
    Всего сообщений в теме: 5502; страниц: 551; текущая страница: 534


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

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

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

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

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

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