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

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

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


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

Архив

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

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

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

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

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

 Jack Of Shadows

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

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

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


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

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

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


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

  • <<<... | 2352—2343 | 2342—2333 | 2332—2323 | ...>>>
    Всего сообщений в теме: 5502; страниц: 551; текущая страница: 317


    № 2342   30-03-2007 16:10 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2335« (Илья Ермаков)
    ___________________________

    Пардон, но статья Пола Грэма - пустое сотрясание воздуха...
    Это может себе позволить человек, занимающийся "интеллектуальными игрушками".

    Интеллектуальные игрушки - это типа первого интернет-магазина, купленного затем Yahoo! ?
    Пол Грэм (Грэхэм) - пожалуй, самый известнейший лиспер, если не считать Маккарти.


    Посадите его за написание ПО для АЭС - и поглядите, каково запоется :-)

    Пол там упоминал об исследовании компании Ericsson с выводом, что программы на Эрланге в 4-10 раз короче, чем на С++, и время их разработки пропорционально выше:

    Сравнение внутренних проектов в Ericsson выявляют схожую продуктивность в строках кода в час, включая все фазы разработки, независимо от используемого языка (Erlang, PLEX, C, C++ или Java). Различия языков - только в общем объеме исходного кода.

    Стоит ли в который раз повторять, что телекоммуникационное ПО фирмы Ericsson - практически эталон надёжности и безопасности?


    № 2341   30-03-2007 15:55 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2340« (AVC)
    ___________________________
    Я просто кинул поисковику сочетание "ЖЖ ICFP".
    А черт. Я искал без ЖЖ. Ни черта не нашел :))

    Рад что навел на интересный материал.


    № 2340   30-03-2007 15:53 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2336« (Jack Of Shadows)
    ___________________________

    >>>А ну ка обьясняйтесь :))

    Вы сказали про рассказ в ЖЖ нашего программиста об участии в ICFP, намекнули, что это интересно.
    Я просто кинул поисковику сочетание "ЖЖ ICFP".
    И пока вы с Ильей затеяли очередной раунд, я с увлечением проглотил этот рассказ.
    Это правда захватывающе.
    Хорошо им, умным и молодым! :)
    Чем-то далеким, из детства повеяло: соревновательностью в сочетании с увлекательным предметом.
    Когда-то в детстве я увлекался шахматами, участвовал в соревнованиях. Правда, в юн. чемп. РСФСР выше 5-го места не поднимался; но у меня же ни школы, ни тренера за душой не было; да и дело не в "призах", а в увлеченности... :)
     AVC


    № 2339   30-03-2007 15:43 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2312« (З)
    ___________________________

    Я вот не смотрел в источник, автор там сравнительно не представляет оба варианта для кожого из алгоритмов "с" и "без"?

    Там у аффтара какие-то неадекватные замечания о том, что рекурсивная функция вычисления НОД перепоняет стек. Конечно переполняет, на языке, не поддерживающем хвостовую рекурсия - Visual Basic.
    Затем он приводит решения в виде циклов и называет их хвостовыми рекурсиями.

    Моё мнение - тот автор не очень владеет этим вопросом.


    № 2338   30-03-2007 15:40 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2299« (VPrin)
    ___________________________

    А я кажется пропустил эту задачу. А где на нее можно посмотреть?

    Решение на Хаскелле с ссылками на решение на Компонентном Паскале и собственно условиями задачи .
    Так же в этой теме ранее было показано решение на Дельфах.


    № 2337   30-03-2007 15:38 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2335« (Илья Ермаков)
    ___________________________
    Посадите его за написание ПО для АЭС - и поглядите, каково запоется :-)
    Почему оберонщики как что, так сразу всех отсылают код для АЭС писать ? Они что все на одной АЭС работают ? :))

    "Предохранитель", страховка, дублирование в каждой строке. Пусть код будет в два раза объемней, но если при этом ровно в два раза сложнее будет ошибиться - то я выберу именно такой язык...

    Тут логика начинает мне отказывать. Чем больше код тем ЛЕГЧЕ ошибаться. Во всяком случае так было всегда.
    Код на ассемблере гораздо больше кода на обероне - одишиться в разы легче. Код на обероне гораздо больше кода на хаскеле - ошибиться гораздо легче.

    Ну и потом если уж речь пошла о НАСТОЯЩЕЙ страховке. То более жесткой и надежной страховки чем хаскель со своими противотанковыми заслонами проникновению сотояния, ни один другой язык не дает.
    Сообщите товарищам на АЭС, а то им все некогда головы поднять и осмотреться :))


    № 2336   30-03-2007 15:34 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2334« (AVC)
    ___________________________
    Не понял. Что за шуточки ?! :))
    Совсем недавно вы говорили:


    За информацию спасибо!
    Интересно знать, что действительно есть соревнования, связанные с ФП.


    То есть об ICFP вы вроде не знали.
    И тут же вытаскиваете из рукава ссылку на рассказ...об ICFP, который судя по всему вы уже читали.

    А ну ка обьясняйтесь :))


    № 2335   30-03-2007 15:29 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2332« (Geniepro)
    ___________________________
    Пардон, но статья Пола Грэма - пустое сотрясание воздуха...
    Это может себе позволить человек, занимающийся "интеллектуальными игрушками". Посадите его за написание ПО для АЭС - и поглядите, каково запоется :-)
    Читабельность кода не самоцель. Для серьезных задач цель - максимальная защита от ошибок. "Предохранитель", страховка, дублирование в каждой строке. Пусть код будет в два раза объемней, но если при этом ровно в два раза сложнее будет ошибиться - то я выберу именно такой язык... Как и любой разработчик, который отвечает за свой продукт.


    № 2334   30-03-2007 15:23 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2330« (Jack Of Shadows)
    ___________________________

    Ответ на »сообщение 2329« (AVC)
    ___________________________
    О! Спасибо - оно самое :))
    Советую к прочтению. На многие вопросы, в том числе и по организации ICFP, найдете ответы.


    Рассказ и правда интересен.
    Присоединяюсь, тоже рекомендую прочесть.
    По-хорошему завидую этому Дмитрию Астапову.
    Он ,к тому же, еще и хороший рассказчик.
     AVC


    № 2333   30-03-2007 15:02 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 2328« (Илья Ермаков)
    ___________________________
    Джек, могу Вам сказать по олимпиадному опыту, что "резво бегать" там мало зависит от того, на чем кодировать... 
    Илья, я не понимаю о каком опыте вы говорите, если вы всю жизнь именно в забегах инвалидных колясок и учавствовали. Как вы можете говорить зависит или не зависит результат от того на чем кодировать, если на всех ваших олимпиадах жестко регламениртуется на чем вы можете кодировать ?

    Далее вы сами себе противоречите, тут же расхваливая паскаль как инструмент который ДЕЛАЕТ РАЗНИЦУ.

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

    Как в эту картину вписываются жутко требовательные к рессурсам машины java и сишарп, для меня остается загадкой. Где вы узрели жесткие требования на эффективность программной реализации в java коде, который только на свой запуск моментально отьедает 20 Mb оперативки ?

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

    Илья, вы подменяете истинные причины (коммеческая заинтересованность) на высосанные из пальца и к тому же не соответствующие действительности.
    Если завтра вдруг один из этой банды тостосумов выпустит VisualHaskell, то не сомневайтесь. Сразу же выяснится что он достаточно эффективен чтобы подходить по "жесткие требования на эффективность программной реализации" в их чемпионатах.


    <<<... | 2352—2343 | 2342—2333 | 2332—2323 | ...>>>
    Всего сообщений в теме: 5502; страниц: 551; текущая страница: 317


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

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

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

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

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

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