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

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

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


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

Архив

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
 
 10:05 Александр Алексеев
 10:04 Torbins
 10:02 Владимир
 10:00 afenkin
 09:56 Stanilar
 09:54 panda
 09:53 Green
 09:48 LexLunnyi
 
 
Во Флориде и в Королевстве сейчас  10:07[Войти] | [Зарегистрироваться]
Обсуждение темы:
Функциональное программирование

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

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

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

 Jack Of Shadows

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

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

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


Всего в теме 5437 сообщений

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

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


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

  • 5437—5428 | 5427—5418 | ...>>>
    Всего сообщений в теме: 5437; страниц: 544; текущая страница: 1


    № 5437   16-08-2010 04:31 Ответить на это сообщение Ответить на это сообщение с цитированием
    http://www.intuit.ru/department/pl/funcprog/

    Видео курс:"Функциональное программирование"
    Автор: Д.В. Сошников


    Информация о курсе
    Курс знакомит слушателей с парадигмой функционального программирования, в которой решение задач сводится к описанию функций, перерабатывающих некоторые входные данные в выходные и строящихся из более простых функций на основе принципов функциональной абстракции и аппликации. Рассматриваются теоретические основы функционального программирования (лямбда-исчисление, комбинаторная логика, вопросы вычислимости), на примере функционального подхода дается представление о некоторых теоретических разделах компьютерных наук (семантика языков программирования, доказательство программ). С другой стороны курс содержит значительную практическую составляющую, основанную на промышленном языке программирования F# (входит в состав Microsoft Visual Studio 2010), рассматриваются вопросы использования функциональных языков для построения компиляторов, грамматического разбора и т.д.
    Курс будет интересен как практикующим программистам и студентам, изучившим основы компьютерных наук, так и математикам. Для программистов на императивных языках знакомство с функциональным подходом позволит расширить сознание, перейти на более чистый (свободный от побочных эффектов) стиль программирования с более высоким уровнем абстракции, научиться эффективно использовать новые возможности современных императивных языков (LINQ, лямбда-выражения и т.д.). Для математиков, функциональное программирование может служить безболезненным введением в компьютерные науки, поскольку в рамках курса мы практически «с нуля» строим (начиная от математических основ, вплоть до реализации интерпретатора/компилятора и описания формальной семантики) язык программирования на базе лямбда-исчисления – раздела дискретной математики.

    Цель
    Познакомить слушателя с основами функционального программирования как дисциплины, находящейся на стыке программирования и дискретной математики; дать, с одной стороны, практические навыки функционального программирования на используемом на практике языке F#, а с другой – показать связь между теоретическими главами computer science и программированием, осветив некоторые теоретические проблемы информатики (вычислимость, семантика языков программирования, доказательство программ) и показав, как они решаются в функциональном подходе.

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


    № 5436   18-05-2010 02:35 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 5434« (чиполинский)
    ___________________________
    Ключевые слова: бубен, шаман, ы-йо!


    № 5435   17-05-2010 23:14 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 5434« (чиполинский)
    ___________________________

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

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


    № 5434   17-05-2010 21:27 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 5433« (Сергей Перовский)
    ___________________________

    Ответ на »сообщение 5432« (Leon )
    ___________________________
    С этим лучше в другую тему. И для начала почитать о теории эволюции.
    Ключевые слова: изменчивость, наследственность, отбор.


    Что вы, что вы! По нынешним временам на эту тему стоит почитать Библию и порасспрашивать какого-нить батюшку. И ключевые слова у нас теперь другие: святый дух, отче наш, божественный замысел.


    № 5433   16-05-2010 14:40 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 5432« (Leon )
    ___________________________
    С этим лучше в другую тему. И для начала почитать о теории эволюции.
    Ключевые слова: изменчивость, наследственность, отбор.


    № 5432   16-05-2010 12:24 Ответить на это сообщение Ответить на это сообщение с цитированием
    Как вы думаете, могут ли компьютерные вирусы, согласно теории эволюции
    Дарвина, эволюционировать в ИИ (искуственный интелект)?
    (новенький)  Leon


    № 5431   24-03-2010 05:20 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 5422« (Jack Of Shadows)
    ___________________________
    Даю на всякий случай ссылки на аглицкие доки:
    А я дам на замечательный ресурс от Алексея Отта http://alexott.net/ru/emacs/
    У него же перевод тьюториала http://alexott.net/ru/emacs/TUTORIAL.ru

    Поэтому все имаксеры первым делом переделывают Capslock под Ctrl.
    Я - нет. У меня хитрое переключение раскладок на нем висит.

    Я например в дельфях постоянно путаюсь и использую emacs шорткаты.
    Когда я работал в винде, я пользовал XKeymacs http://www.cam.hi-ho.ne.jp/oishi/indexen.html

    Кстати в дельфи 7 тоже есть емакс шорткаты, но они так по уродски сделаны что не работают соврешенно.
    Все, что я видел очень криво эмулирует шорткаты. А они въелись в пальцы и по другому просто некомфортно.

    Кстати, если емакс не освоили то и не советую - подсаживаешься сильно. Со временем начинаешь превращать его в ИДЕ, тратишь кучу сил и времени, а нормальный автокомплит, сопоставимый с тем же НетБинсом или Эклипсом, далеко не всегда удается сделать. Но у ИДЕ другая проблема - они неудобны и тяжело затачиваются под твои нужды.

    Ответ на »сообщение 5428« (Андрей Пузырь)
    ___________________________
    Провозившись вечер я все-таки поставил себе послений emacs+slime+sbcl
    Посмотрите мою конфигурацию, она здесь http://ifile.it/rk0wl4a/emacs.tar.gz В частности emacs-rc-slime.el или на гитхабе у Алексея Отта (ссылки выше) У меня slime работает с несколькими лиспами.


    № 5430   15-03-2010 06:40 Ответить на это сообщение Ответить на это сообщение с цитированием
    Увы но работаю я именно на делфи)) А лисп для взрыва мозга по выходным :)


    № 5429   14-03-2010 00:10 Ответить на это сообщение Ответить на это сообщение с цитированием
    Ответ на »сообщение 5428« (Андрей Пузырь)
    ___________________________
    1. sbcl на винде экспериментальный и не поддерживается. Лучше уж clisp.
    2. Бросайте вы эту винду, не на дельфях же работаете :))
    3. Если от винды не уйти, то ставьте бесплатный VirtualBox, инсталлируйте на него линукс, и уже в нем играйтесь со всякими лиспами.
    4. Для работы с лиспом в эмаксе есть классный модуль paredit: http://mumble.net/~campbell/emacs/paredit.el. Он вам сам все скобки открывает и закрывает :))




    № 5428   13-03-2010 04:51 Ответить на это сообщение Ответить на это сообщение с цитированием
    По прошлому (неудачному) опыту использования аллегро, решил остаться в рамках емакса и некоторого вводного курсав него который дается в pcl.
    Кстати может кому-нибудь пригодится: есть перевод документации по емаксу на русский http://www.linux.org.ru/books/GNU/emacs/emacs_toc.html

    Прежде всего захотелось сменить цвет фона, белый глаза режет. Что оказалось не так-то просто. Нашел color-theme емакса, попутно выяснив что мой Lisp In A Box древней версии.
    Раз древний надо обновить, решил я :) Провозившись вечер я все-таки поставил себе послений emacs+slime+sbcl под винду.
    Это особенность поведения sbcl, когда после повторной компиляции функции он выдает варнинг "style-warning: redefining xx in DEFUN" (в REPL)? если я правильно понял что просто предупреждение что старая функция была заменена новой. все бы ничего, но после этого не выдается приглашение "CL-USER>" (режим компиляции что-ли?)
    Заменил sbcl на clisp, эта проблема исчезла.

    Но выявилась еще парочка. Некоторые комбинации клавиш (описанные в pcl) не работают
    C-c C-q - закрыть все скобки
    C-c M-q - перевыровнятьвсе выражение
    Неужели эти вещи отсутствуют в стандартном slime?


    5437—5428 | 5427—5418 | ...>>>
    Всего сообщений в теме: 5437; страниц: 544; текущая страница: 1


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

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

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

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

    Перейти на конкретную страницу по номеру
      
    Время на сайте: GMT минус 5 часов

    Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
    Функция может не работать в некоторых версиях броузеров.

    Хостинг предоставлен компанией DOTNETPARK (ASP.NET, MS SQL hosting)  

     
    © При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
    Все используемые на сайте торговые марки являются собственностью их производителей.

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