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

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

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


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

Архив

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

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

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

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

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

 Jack Of Shadows

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

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

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


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

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

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


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

  • <<<... | 4372—4363 | 4362—4353 | 4352—4343 | ...>>>
    Всего сообщений в теме: 5502; страниц: 551; текущая страница: 115


    № 4362   23-07-2008 10:03 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 4361« (Варяг)
    ___________________________
    Выражаясь вашим же языком, я советую вам засунуть сами знаете куда вашу пронафталиненную IronScheme :)


    № 4361   23-07-2008 10:00 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 4360« (Оберонщик)
    _________________________
    Господин Оберонщик! Ваш проект РОСа - это, мягко говоря, маниловщина.  Здается мне, что весь проект является просто-напросто разводом гос.органов на выделение средств. А свой Рефал засуньте себе в ...(сами знаете куда). Вы ж сами кричите о практике. И где ж используется ваш Рефал кроме как в заумной болтологии заумных неудачников? Про Оберон, это творение маразматичного Вирта я тоже немного скажу. Нафталин и старообрядчество. Попытка избежать "искушений греховного мира" путем тотальной кастрации языковых средств.


    № 4360   23-07-2008 09:21 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 4359« (Сергей Перовский)
    ___________________________
    С уважением отношусь к людям, потратившим многие годы на изучение какого-нибудь конкретного инструмента, но расчитываю на ответное уважение :) Уважаемый Сергей Перовский, о каком уважении может идти речь, когда некоторые товарищи постоянно твердят тут о своем интеллектуальном превосходстве (следующим из использования ими определенных продуктов) и об ущербности других? Я-то, как раз, несмотря на свою любовь к Оберону, не обхаиваю Си-шников и считаю их труд очень полезным и в определенном смысле незаменимым. Вы абсолютно правы, для каждого проекта надо подбирать соответствующие его специфике программные средства. А что же тут слышим мы? Постоянное проливание крокодиловых слез относительно того, сколько вокруг "дебилов", не использующих Хаскель? А почему именно Хаскель? Давайте порыдаем о логическом, а не о функциональном программировании. Или о сентенциональном. Давайте, например, начнем проводить Рефалистскую полемику не объясняя, где и когда удобно использовать этот язык, а просто будем вопить, какие все вокруг глупые и недальновидные. Да, Рефал, как по мне, незаслуженно обойден вниманием, это язык сверхвысого уровня и его преимущества аргументированно  доказаны людьми с серьезным математическим образованием. Кстати, Рефал, наряду с Обероном выбраны базовыми языками для работ по созданию РОСы, т.е., все-таки на эти языки обратили внимание умные люди, котрые хотят что-то создать, а не занимаются пустой болтологией. Но, опять-таки, то, что мне нравятся Оберон и Рефал, совершенно не дает мне права квакать о собственном превосходстве.


    № 4359   23-07-2008 07:39 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 4358« (Оберонщик)
    ___________________________
    В те времена, когда программирование было моим основным занятием, я практически ни разу не использовал в крупных проектах один и тот же инструмент дважды. После формирования т.з. всегда проводился поиск наиболее подходящего инструмента, тратилось какое-то время на его изучение и после этого реализовывался проект. Иногда я жалел о таком подходе в процессе работы, но ни разу - по окончании проекта.
    С уважением отношусь к людям, потратившим многие годы на изучение какого-нибудь конкретного инструмента, но расчитываю на ответное уважение :)


    № 4358   23-07-2008 07:00 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 4357« (Илья Ермаков)
    ___________________________
    У C и C++ есть собственные ниши, где они на данный момент (и в обозримом будущем тоже) незаменимы. А вот так вот брать скопом все сферы применения и точно приводть проценты относительной производительности (дядя, что, с секундомером сидел измерял?) - верх самонадеянности и глупости. Да я, собственно, в своем посте обратил внимание не на C++, а на "бездельнический аспект" г. Шабанова, что очетливо отражается в его обещании через 5 лет обгадить уже Хаскель и, задрав штаны, помчаться за очередным умопомрачительным волшебным средством.


    № 4357   23-07-2008 06:50 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 4356« (Оберонщик)
    ___________________________

    Да, господа функциональщики, уж постеснялись бы этот веб-дневник Шабанова ( http://vshabanov-ru.blogspot.com/2008/07/blog-post.html ) приводить в качестве аргумента. Чего только стоят перлы а-ля В проектах, написанных на C++, питоне и окемле, можно было бы срезать до 20-25% времени, только за счет отказа от С++ и питона. Переход на Хаскел дал бы еще минимум 10%. Как точно все посчитано! Магическое наличие цифр процентов освобождает от приведения какой-либо серьезной аргументации! :)


    Однако, по сравнению с С/С++ любой современный (т.е. имеющий нормальный дизайн) язык даёт очень приличный выигрыш по времени. Цифра 50-60% времени на отладку - среднестатистическая для С++-проектов, её часто приводят. Так что ясно, что ускоряться есть куда. Если брать большие коллективные проекты, то прибавьте эффект от модульности (пусть не Модула-Оберон-Адовской, но хоть какой, какую сейчас все держат!) и "понимабельности".

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


    № 4356   23-07-2008 06:38 Ответить на это сообщение Ответить на это сообщение с цитированием
    Да, господа функциональщики, уж постеснялись бы этот веб-дневник Шабанова ( http://vshabanov-ru.blogspot.com/2008/07/blog-post.html ) приводить в качестве аргумента. Чего только стоят перлы а-ля В проектах, написанных на C++, питоне и окемле, можно было бы срезать до 20-25% времени, только за счет отказа от С++ и питона. Переход на Хаскел дал бы еще минимум 10%. Как точно все посчитано! Магическое наличие цифр процентов освобождает от приведения какой-либо серьезной аргументации! :)

    Хотя, на воре шапка горит, автор сам себя выдал:
    И главное, не переставайте искать лучшее. Надеюсь лет через 5 я напишу такой же разгром хаскела и буду рвать волосы, что не использовал другой язык все это время.
    Т.е. перед нами очередной бездельник, который не утруждает себя углублением в существующие технологии. Зачем?! Оне же в поисках серебряной пули, которая позволит им воплотить свою мечту о скатерти самобранке, о печИ, на которой можно лежать и путешествовать одновременно.


    № 4355   23-07-2008 06:11 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 4354« (Сергей Перовский)
    ___________________________

    Ответ на »сообщение 4352« (Cepгей Poщин)
    ___________________________
    Во всем известном Autocad, лисп появился давно. При том, что основной недостаток ФЯ (быстродействие) там не имеет серьёзного значения, позднее всё-таки добавили VB. ПМСМ, кабы всё действительно было так шоколадно не стали бы они с бэйсиком заморачиваться.

    А Autocad предназначен для конструкторов. Среднестатистический конструктор плохо мыслит  текстами, что функциональными, что императивными. По опыту, удается научить не больше нескольких процентов конструкторов пользоваться языковыми средствами.

    Поэтому языковые средства можно маскировать под чертежом алгоритма. Типа, как ДРАКОН.
    Увы, у большинства создателей "визуальных языков" не достаточно квалификации, чтобы сделать нечто, соответствующее современным требованиям к ЯВУ, плюс уклон не на модель, а на чисто форму представления.. Поэтому сформировалось их неприятие (типа, "игрушки", "графические Бейсики").
    Но вот ДРАКОН - пожалуй, первая ласточка отлично спроектированного языка алгоритмических чертежей... Строгость, лежащая в основе зафиксированная модель (и формальное описание), максимальная простота...

    Ладно, тут это не к месту. Это не реклама, а так, спровоцированные мысли вслух :-)
    Завершая: можно этому самому человеку, "плохо мыслящему текстами", позволить программировать даже без сознания, что это программирование. Подать под соусом "Вы чертите план действий". А от инструмента требуется простота и - главное - чтобы под соусом этой простоты не привались дурные привычки (синдром "искалеченного Бейсиком сознания").


    № 4354   23-07-2008 05:45 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 4352« (Cepгей Poщин)
    ___________________________

    Ответ на »сообщение 4347« (Lisp Hobbyist)
    ___________________________
    "Failure stories" Во всем известном Autocad, лисп появился давно. При том, что основной недостаток ФЯ (быстродействие) там не имеет серьёзного значения, позднее всё-таки добавили VB. ПМСМ, кабы всё действительно было так шоколадно не стали бы они с бэйсиком заморачиваться.

    А Autocad предназначен для конструкторов. Среднестатистический конструктор плохо мыслит  текстами, что функциональными, что императивными. По опыту, удается научить не больше нескольких процентов конструкторов пользоваться языковыми средствами.
    Вот в TFlexCAD конструктору предложены два хорошо знакомых ему языка: язык геометрических построений (императивный) и язык математических формул (функциональный) и их эффективному совместному использованию удается научить, по крайней мере, половину конструкторов.
    Так, что разделение по принципу императивный-функциональный далеко не так важно, как кажется на первый взгляд. Каждому языку, свое место.


    № 4353   23-07-2008 05:10 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 4352« (Cepгей Poщин)
    ___________________________

    Ответ на »сообщение 4347« (Lisp Hobbyist)
    ___________________________
    "Failure stories" Во всем известном Autocad, лисп появился давно. При том, что основной недостаток ФЯ (быстродействие) там не имеет серьёзного значения, позднее всё-таки добавили VB. ПМСМ, кабы всё действительно было так шоколадно не стали бы они с бэйсиком заморачиваться.


    В Киргизском Университете вообще пишут под Автокад на Блэкбоксе-Компонентном Паскале, стыкуясь через Com Automation. Естественно, грамотный инженер Васик не выберет :-) По поводу Лиспа судить трудно - видимо, часть задач на нём там решается удобно, часть естественней на алгоритмическом языке...


    <<<... | 4372—4363 | 4362—4353 | 4352—4343 | ...>>>
    Всего сообщений в теме: 5502; страниц: 551; текущая страница: 115


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

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

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

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

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

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