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

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

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


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

Архив

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

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

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

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

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

 Jack Of Shadows

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

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

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


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

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

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


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

  • <<<... | 4352—4343 | 4342—4333 | 4332—4323 | ...>>>
    Всего сообщений в теме: 5502; страниц: 551; текущая страница: 117


    № 4342   22-07-2008 06:58 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 4341« (Варяг)
    ___________________________

    Silverlight для вас синоним DLR? Это все равно, что писать "теплое(мягкое)" ;)
    Вы можете представить себе Silverlight без DLR? Я вот мягкое без теплого - могу :)

    IronScheme я уже давно заметил. Но с его применением у меня пока ничего не получится - теже проблемы, что и у Lisp Hobbyist в »сообщение 4339« :(


    № 4341   22-07-2008 06:16 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 4333« (panda)
    ___________________________
    IronScheme вроде нацелен на DLR (Silverlight)? Silverlight для вас синоним DLR? Это все равно, что писать "теплое(мягкое)" ;)
    IronScheme не нацелен на DLR, а использует его. О чем сейчас жалеет, т.к. DLR создан для реализации таких языков как Python и Ruby, а со Scheme возникают определенные проблемы (почитайте в разделе Discussions на IronScheme-секторе Codeplex-а). Так что сейчас автор нацелен на то, чтобы избавиться в будущем от кода, в котором используется DLR.


    № 4340   22-07-2008 04:03 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 4336« (Geniepro)
    ___________________________

    Ответ на »сообщение 4318« (Илья Ермаков)
    ___________________________
    Хотя в OCaml есть чудесный отладчик, позволяющий ходить по программе и вперед и назад, никакой потребности в нем за последние 3 года я не ощутил. Да. За последние 3 года я ни разу не пользовался отладчиком для программ, написанных на OCaml. Он просто не нужен! Если и возникают какие-то непонятки, то все решается отладочной печатью или запуском проблемных мест в интерпретаторе.

    Это как раз понятно (Вы будете оберонщику рассказывать про то, что с хорошим языком отладчик не нужен? :-) ).

    Там речь, очевидно, про другое - я уж сказал: про вопрос типа "why" к системе, делающий некий вывод на данных...


    № 4339   22-07-2008 03:36 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 4338« (Jack Of Shadows)
    ___________________________

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


    Опять, Jack, Вы обобщаете свой собственный опыт на всех. Далеко не все занимаются фрилансом или работают в крупных непрофильных компаниях, для которых ИТ --- не единственный источник дохода, а всего лишь вспомогательное подразделение, и которые могут себе позволить рискнуть провалить какой-нибудь из программных проектов. Не все пишут клиент-серверные продукты, в которых можно перерабатывать серверную инфраструктуру, не затрагивая клиентов. Некоторым приходится еще и вместо разработки многочисленных, не связанных друг с другом проектов (как у аусорсеров), на которых можно попробовать различные подходы, длительное время сопровождать один продукт. И так далее...


    № 4338   22-07-2008 01:02 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 4337« (Geniepro)
    ___________________________
    Верно. То же самое вот уже сколько времени на этом форуме говорю и я. Время пришло. И на dotnet и на java и на windows и на linux уже сегодня есть полноценные ФЯ на любой вкус, будь то строго типизированные хаскель окамл f# скала, либо динамические лисп, эрланг.
    В подавляющем большинстве случаев все сводится к простой инерции. Программисты предпочитают бороться с тем с чем они мучались все эти годы, нежели предпринимать какие то начальные усилия по пересаживанию на новые санки. И при этом с успехом уговаривают сами себя, что и так мол хорошо.
    Главное привычно. К тому же и начальство мол не уговоришь, и коллеги перестанут здороваться. Оно им надо ?


    № 4337   22-07-2008 00:34 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 4336« (Geniepro)
    ___________________________

    Разгромная статья Владимира Шабанова:
    Язык имеет значение

    Все мы слышали, что есть Хаскел. Все мы знаем, что он крут. Крут настолько, что многие его даже боятся.

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

    Так какого черта мы пишем на чем-то другом?

    Мне кажется, мы просто ссым!

    Почему? Чем мы себя обманываем? Почему боимся «рисковать», когда риск заключается как раз в неиспользовании Хаскела?

    Лично я сыт по горло от собственных же отмазок. Проведя анализ ВСЕХ своих проектов, сделанных за последние 9 лет, я пришел к выводу, что ВСЕ они (кроме драйверов и прошивок микроконтроллеров) могли бы быть сделаны на Хаскеле.

    Но это не самое страшное. Самое страшное — это сколько времени было потеряно на низкоуровневые языки.

    читать далее

    Тоже самое и я думаю, надо исправлять такое плачевное положение... ;о)


    № 4336   22-07-2008 00:19 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 4318« (Илья Ермаков)
    ___________________________

    Кроме того, системы, построенные на базе языков программирования типа lisp и ему подобных, практически не поддаются диагностике. Иначе говоря, получая от такой системы не удовлетворяющие нас решения, мы не имеем гарантированной возможности заставить систему сообщить нам, почему, по какой причине и внутри какой из составляющих ее программ зародилась нежелательная ситуация.

    Этот факт известен как проблема lisp-отладчика, т. е. проблема не существования алгоритма (способа) узнать, почему некоторая программа ведет себя именно таким образом, иначе как проделав в точности те же действия и в той же последовательности. Некоторые возможности решения этой проблемы предусматриваемые в lisp-подобных языках типа ML и Miranda ситуацию кардинально не изменяют.

    Текст: http://www.polyakov.com/informodynamics/chast2_glava5.html
    (Лачинов, Поляков "Информодинамика" http://www.polyakov.com/informodynamics).

    А вот мнение человека, использующего Хаскелл и Окамл (т.е. потомков Миранды и МЛ) в разработке компьютерных игр: Немного по OCaml и Haskell

    Однако сейчас я хочу сказать про другую черту — корректность программ. Как часто вам приходится пользоваться отладчиком? Можете ли вы себе представить, что отладчик — вещь ненужная? В OCaml и Haskell это действительно так!

    Хотя в OCaml есть чудесный отладчик, позволяющий ходить по программе и вперед и назад, никакой потребности в нем за последние 3 года я не ощутил. Да. За последние 3 года я ни разу не пользовался отладчиком для программ, написанных на OCaml. Он просто не нужен! Если и возникают какие-то непонятки, то все решается отладочной печатью или запуском проблемных мест в интерпретаторе.



    № 4335   21-07-2008 23:19 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 4332« (Варяг)
    ___________________________

    Если хочется свежего и необычного в .Net - обратите внимание на http://www.codeplex.com/IronScheme.

    IronScheme -- любопытная вещь, спору нет, но тут уже у меня включается вкусовщина -- мне более привычен синтаксис как у Хаскелла, F#, он мне более приятен, синтаксис же С# или Лиспа...
    Хотя, по большому счёту, выбор-то надо делать с учётом того, смогут ли это потом поддерживать конкретные коллеги -- а тут что Хаскелл, что F#, что Лисп в одинаково безнадёжном положении (в том окружении, в котором лично я нахожусь)...


    Scheme - язык очень гибкий, динамический, с потрясными гигиеничными макросами.

    Макросы -- это обоюдоострое оружие: легко потерять голову и наворотить такого, что потом мало кто в этом разберётся.
    Хотя иногда макросы (даже такие примитивные, как в Си) удобны, но Хайльсберг, имхо, всё-таки прав, говоря, что макросы -- слишком большая пушка для простых программистов... :о)
    Тут нужны какие-то стандарты, хотя бы внутрифирменные, а с этим в маленьких конторах (которых большинство) огромная проблема...


    В общем, IronScheme - проект интересный, правда, чувствуется, что автору довольно тяжело приходится.

    Вот это вот общая проблема подобных разработок, и тут у F# прямое преимущество и перед IronScheme, и перед Nemerle -- официальная поддержка крупнейшей корпорации в этом бизнесе... ;о)
    F# можно пропихивать хотя бы одним упоминанием о Майкрософте...


    № 4334   21-07-2008 12:15 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 4329« (Сергей Перовский)
    ___________________________

    Ответ на »сообщение 4325« (Илья Ермаков)
    ___________________________
    Из теории систем известно, что формальные-абстрактные языки/модели не подходят для описания сложных систем. Они могут описать максимум мгновенный снимок - а так потребуется бесконечное их множество... Требуется формально-семантический подход..
    Может кому и известно...
    В этом утверждении как минимум четыре термина, вокруг определения которых не утихают споры. Начиная с самой "теории систем" и заканчивая "формально-семантический подходом".
    Тут это злостный офтопик, и первой реакцией было предложить "пойдем выйдем" :)
    Вот только не могу предложить куда.

    Уважаемый Сергей, я бы с радостью... Но нет возможности затевать долгие обсуждения.
    Так что, коллеги, приписываю к фразе ИМХО и поясняю, на какие ветки опираюсь в своих суждениях-убеждениях в этих вопросах: Берталанфи; Г.П. Мельников ("Системология и языковые аспекты кибернетики", М.: Радио, 197--); Ю.А. Шрейдер ("Системы и модели" и др. труды), С.И. Маторин (УФО-метод системного анализа и проектирования, БелГУ, наст. время). На Мессаровича, Садовского и др. сторонников формального теоретико-множественного определения системы - категорически нет...


    № 4333   21-07-2008 10:59 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 4332« (Варяг)
    ___________________________

    IronScheme вроде нацелен на DLR (Silverlight)?


    <<<... | 4352—4343 | 4342—4333 | 4332—4323 | ...>>>
    Всего сообщений в теме: 5502; страниц: 551; текущая страница: 117


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

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

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

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

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

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