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

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

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


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

Архив

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

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

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

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

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

 Jack Of Shadows

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

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

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


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

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

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


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

  • <<<... | 2762—2753 | 2752—2743 | 2742—2733 | ...>>>
    Всего сообщений в теме: 5502; страниц: 551; текущая страница: 276


    № 2752   06-04-2007 14:06 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2743« (Jack Of Shadows)
    ___________________________

    >>>Далее, хаскель ? Ближе к мейнстрим VB, java и сишарп программисту ?!! Это с его то ломающим мозги императивщиков отсутствием присваиваний ?, монадами ?

    А какие сложности таятся в отсутствии присваиваний?
    Здесь, IMHO, как раз все просто, и чисто функциональные вычисления осваиваются довольно легко (по первому опыту); об этом, собственно, свидетельствуют ссылки на опыт преподавания Схемы в качестве первого языка.
    Помню, как одна американская девочка писала, что никак не могла освоиться с Бейсиком, но, слава Богу, в следующем ее классе преподавали Схему.
    Опять же, выскажу личную точку зрения: трудности исключительно в переходах между ФП и не ФП.
    Монады, конечно, вещь сложная, но и без них вопросов хватает; один из них я не уставал задавать долгое время.
     AVC


    № 2751   06-04-2007 14:03 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2746« (Jack Of Shadows)
    ___________________________

    Ни VCL и этот доставший здесь всех обязательный квалифицирующий импорт на повестке дня у функциональщиков не числятся.

    Вот вообще-то говоря, надо бы поставить на повестку дня родные для Винды GUI-библиотеки для тех же Хаскелла и Лиспа (Scheme), а то всякие там инородцы типа Tk и Gtk с wxWidgets как-то обескураживают...
    Для Хаскелла это особенно больной вопрос - сделать GUI-библиотеку такой, что бы она и винде родной была, и при этом сохраняла дух Хаскелла. Т.е. была бы функционально-реактивной, типа Fran... Интересно, ведутся ли такие работы?


    № 2750   06-04-2007 13:19 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2749« (AVC)
    ___________________________

    Кажется, здесь консенсус уже сложился. :)
     AVC


    № 2749   06-04-2007 13:14 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2747« (Илья Ермаков)
    ___________________________

    Присоединяюсь к предложению Jack of Shadows перенести "разборки" между потомками Паскаля в обероновскую ветку.
    Просто там это будет уместнее. :)
     AVC


    № 2748   06-04-2007 13:12 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2746« (Jack Of Shadows)
    ___________________________

    Ответ на »сообщение 2745« (panda)
    ___________________________
    Я думаю обсуждение того что нужно или не нужно принимать оберонщикам можно плавно переносить на ветку по оберону. Ни VCL и этот доставший здесь всех обязательный квалифицирующий импорт на повестке дня у функциональщиков не числятся.

    Конечно :-) В гостях интересно, но надо в свою ветку итить...


    № 2747   06-04-2007 13:06 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2745« (panda)
    ___________________________

    Ответ на »сообщение 2740« (Руслан Богатырев)
    ___________________________

    Делиться опытом (а не нахваливать свое болото).
    Как насчет принятия опыта VCL, а не отрицания его (класс <> модуль)?

    А как насчет принятия опыта десятка операционных систем (ГУЕвых, между прочим, и по концепциям графики более мощным, чем VCL), написанных на основе модульной парадигмы?
    Архитектура VCL исключает динамическую компонентность. В частности, из-за глубоких иерархий наследования реализации.
    И про возвращение к исходному Паскалю вообще никто не говорит - это вы, господа дельфисты, отстали с борландовскими "наворотами" :-)
    Дельфи, по большому счету, ничем не отличается от других мейнстрим-языков. Тот же С++ - ну, несколько более строгий в плане типизации и организации кода. Все.
    Парадигма проектирования/программирования - та же самая. То же суррогатное ООП.
    Тогда уже лучше Java - по крайней мере, более последовательный и цельный язык, а по возможностям - копейка в копейку (http://ermakov.metasystems.ru/download/ermakov-language-comparison.pdf).
    В общем, смотреть в вашей Дельфе не на что у вас особо, господа :-)
    Сохранил Борланд хоть немного популярности Паскалю до нонешних времен - и на том спасибо.


    № 2746   06-04-2007 12:58 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2745« (panda)
    ___________________________
    Я думаю обсуждение того что нужно или не нужно принимать оберонщикам можно плавно переносить на ветку по оберону. Ни VCL и этот доставший здесь всех обязательный квалифицирующий импорт на повестке дня у функциональщиков не числятся.


    № 2745   06-04-2007 12:34 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2740« (Руслан Богатырев)
    ___________________________

    Делиться опытом (а не нахваливать свое болото).
    Как насчет принятия опыта VCL, а не отрицания его (класс <> модуль)?


    № 2744   06-04-2007 12:29 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2735« (Илья Ермаков)
    ___________________________

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

    Ага. Модуль Classes - это наше все. А то, что TThread от TStringList отличается - так это ерунда, так, мелочи.
    Ваша позиция проистекает от того, что Вы используете ООП в стиле немодульных языков - класс как контейнер для поведения, а модуль - просто пакет для подключения...

    Моя позиция проистекает от Borland. Это у них я учусь использовать Delphi.
    Если Вам так удобно и привычно для ваших задач - ну и прекрасно! Наша с Русланом позиция проистекает из более прямого взгляда на архитектуру паскалевских языков...

    Delphi <> Pascal. Особенно современные версии. Это совсем другой инструмент. И он мне нравится намного больше. Я не хочу возвращаться даже к Турбо Паскалю, не говоря уже про виртовский Паскаль.


    № 2743   06-04-2007 12:23 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2740« (Руслан Богатырев)
    ___________________________
    Оберон, в отличие от Хаскеля, -- неудобная вещь для среднестатистического программиста именно в силу своей оппозиционности мэйнстриму, нарушает картину всеобщего благополучия.

    Ха ха. Ха ха ха. ХА ХА ХА ХА ХА!!!

    Руслан :))) Не льстите вы оберону так. Оппозиционный мейнстирму ? Оберон ?!!!
    Да оберон это логическое продолжение самого что ни на есть императивного мейнстрима. МЫ уже тут на примерах  кода, написанного на обероне самими же оберонщиками, выяснили что мейнстримовый программист будет чувствовать себя в обероне как дома, и не ощущать совершенно никакой разницы. Что прозябание оберона в забытьи обусловлено не его какой то там оппозиционностью, а тем что МЕСТО ЗАНЯТО. Не повезло оберону. Извините, так вышло. Не на ту лошадь поставили свои мешки с деньгами Powers That Decide.

    Далее, хаскель ? Ближе к мейнстрим VB, java и сишарп программисту ?!! Это с его то ломающим мозги императивщиков отсутствием присваиваний ?, монадами ?

    Руслан, ну вы задвинули :)). Это все равно что сказать, что раз феррари и дукати всемирно признанные бренды, то все водители тойот и хонд обязательно на них пересядут :)) Да никогда Руслан.
    НИКОГДА хаскель не будет мейнстримом. Более того можно даже обобщить. НИКОГДА ФП не станет мейнстримом.
    Да ФП может выйти из загона. Да ФП может быть принято в индустрии, да ФП может быть широко известно (как известны те же феррари и дукатти) Но чтобы применялось так же широко как ИП ? Чтобы все на нем разьезжали ?
    Этого не будет никогда. На кождого функциональщика всегда будет сотня (а может быть и больше) императивщиков. Мейнстрим навсегда останется императивным.

    И вы кстати сильно ошибаетесь по поводу причин хостинга хаскеля MS. Они не идиоты и не самоубийцы. Они никогда не поставят на такую проигрышную лошадку как хаскель.
    Что же касается раздувания требований к машинным рессурсам, то как раз ИЯ java и сищарп справляются с этим горааздо лучше чем хаскель. Можете посмотреть на language shoutout и сравнить поедаемую java и сишарп память с той которую требует хаскель.

    На самом деле MS не хочет пропустить момент, когда ФЯ станут теми самыми феррари от программирования.
    То есть как раз с приходом многоядерных процессоров в каждый писюк, и переходом на 64 операционки.
    Оба этих события совпали по времени и ожидаются в ближайшие 4-5 лет.
    Но как замена основной движущей силы в програмировании ? НИКОГДА!



    <<<... | 2762—2753 | 2752—2743 | 2742—2733 | ...>>>
    Всего сообщений в теме: 5502; страниц: 551; текущая страница: 276


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

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

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

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

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

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