Сообщения CrazyPit
Функциональное программирование. отчёт по курсовой.
Цитирую
------ 3. Сравнительный анализ императивной и функциональной программ.
Исходный код программы на С++ занимает около 60 строк текста, программы на Haskell – около 20 строк. Таким образом, функциональная программа значительно компактнее, что можно объяснить относительной простотой синтаксиса и частым использованием рекурсии. Следует также отметить, что функциональные программы лучше структурированы. Это связано с самой идеологией функционального программирования. Программа, написанная на функциональном языке, всегда имеет чёткую структуру и по определению легко делится на блоки (блоками этими являются ни что иное, как функции).
В то же время функциональные программы гораздо более сложны в написании, чем императивные. Связано это с тем, что императивный стиль программирования не предполагает жёсткой связи между отдельными логическими блоками программы. Функциональный же стиль, напротив, предполагает, что блоки (функции) используют друг друга или самих себя (т.е. имеет место рекурсия). Функциональные языки программирования требуют от разработчика умения в уме просчитать результат выполнения функции, передачи результата в качестве параметра другой функции и т.д. Вероятность допустить ошибку в этом случае гораздо выше, чем в случае «обычного» для императивного стиля программирования выполнения действий одного за другим. Таким образом, написание сложной программы на Haskell превращается в очень нелегкую задачу, так как при этом приходится держать в уме слишком много факторов сразу, особенно если приходится использовать рекурсию.
По тем же причинам императивные программы являются более читабельными. Временная сложность обеих программ линейно возрастает с удлинением входной строки, в то же время зависимость временной сложности функциональной программы от длины слова является квадратичной. Функциональная программа потребляет гораздо больше памяти, причём зависимость этого параметра от длины входной строки является квадратичной. Это связано с использованием рекурсии и тем, что каждый вызов функции требует дополнительного выделения памяти для размещения в ней своих параметров.
Адский отжиг
:)
Миграция на emacs
Основные цели этой миграции таковы:
1. Удобный и унифицированный ввод текста где только можно. (кроме собственно удобного и быстрого редактирования, включающий автодополнение, провеку орфографии, сверхмощный буфер обмена и др.)
2. Эстетичный, не отвлекающий внимания и опять же унифицированный внешний вид приложений (+ мой любимый шрифт везде и без геморроя)
3(и самая главная). Возможность запрограммировать любое приложение и их взаимосвязь посредством мощного высокоуровневого языка.
На экране вы видите:
Слева-сверху: окно джаббер чата (emacs-jabber) (перешёл на него с tkabber)
Слева-снизу: редактируемый конфиг плэйера emms
Справа-сверху: окно bbdb (программы хранения контактов) с результатами поиска моих одногрупников. (перешёл с jpilot)
Справа-снизу: плэйлист мультимедиа плэйер emms (перехожу с xmms)
Внизу osd выводиться с помощью osd.el.
Почти все мелкие программы уже заменены, осталось более сложные приложения:
Перейти полностью на Gnus. (слишком уж много всего фильтров/каталогов/скриптов накопилось, которые не просто с gnus интегрировать)
Перейти на xwem. Я с ним постоянно эксперементирую на второй иксовой сессии, но пока нет так много времени, чтобы на него окончательно перелезть. И ещё проблема в том, что многие емакс-приложения например emacs-jabber и emms в xemacs работают хуже, в emacs-jabber'e например у меня не заработали уведомления:(
Единственное, что я наверное не заменю это firefox, ну и ещё некоторые специфические gui проги.
А теперь вопрос на засыпку: Уважаемые емаксеры, как в emms прикрутить правильное отображение cp1251 тегов?
emms
сюда запостил, потомучто имхо здесь намного больше емаксеров чем в general
EMMS и русские тэги
the Phantom of the Opera
Ахтуг! Волна нелепых самоубийств прокатилась по ЛОРУ!
Уже четеры человека публично приняли смерть через эвтаназию из добрых рук докторов-модераторов. Что это всего-лишь осеннее обостренее отягащённое особо-сильными в этом году торсионными излучениями, стадный инстинк, или загнивание ЛОРа как весёлого и одновременно информативного сайта?
pop.gmail.com
Придумал смайлик
i->[|L|]->CH4
Посмотрел фильм DOOM...
Просмотр фильмов из файрфокса без скачивания?
Урааа мне провели выделенку!!!
Персонажи ЛОРа в снах. Опрос.
Я что решил спросить, когда мне просто иногда снились некоторые персонажи, биореактор, я ничего плохого не думал. Когда мне приснился Томми мчащийся по шоссе, я уже начал беспокоиться. Но когда мне сегодня приснолось, что за мной пришла Первослака и преследовала меня в тёмных коридорах, а ещё я слышал чей-то гомерический смех (уж не Патрека ли?) я серьёзно задумался о влиянии ЛОРа на психику:) Вот и решили спросить сниться ли кому-нибудь что-нибудь подобное?
gnuplot
ЗЫ: Пишу в талкс, т.к. срочно.
С днём программиста!
Поздравляю всех программистов! Желаю интересной и прибыльной работы, а также удачи и счастья в личной жизни:)
>>> Подробности (wikipedia.org)
Caps Lock вместо Ctrl
Списковые включения
Сейчас перечитываю лекции по функ. программированию. Там есть такая фраза что мол Haskell единственный язык, который поддерживыет subj. типа:
[x^2 | x <- [1,2,3]] => [1,4,9]
Но по крайне мере такая же штука есть в Питоне. Вопрос собсвенно в том какие ещё языки имеют подобные встроенные механизмы?
Background в beta.linux.org.ru
| ← назад | следующие → |
