Функциональное программирование |
Функциональное программирование всегда привлекало меня в противопоставлении к императивному.
Я очень часто обсуждаю различные аспекты функционального программирования на различных ветках на Базарной площади.
Но хотелось бы собрать всех заинтересованный этой темой в одной ветке.
Я думаю что настало время открыть такую тему. И вот почему.
Исторически функциональное программирование появилось практически вместе с императивным.
Вторым языком после фортрана был лисп.
Но увы, функциональное программирование надолго было уделом исследовательских институтов или специализированных приложений (Искусственный Интеллект)
Конечно не надо считать весь мир дураками из за того что развитие пошло по пути языков Алгол семейства.
Для этого были вполне обьективные причины. Функциональные языки слишком близки к человеку и слишком далеки от машины.
Они сьедают в десятки раз больше рессурсов чем императивные языки.
Вспомните претензии, предявляемые к java - первому императивному языку с виртуальной машиной и сборщиком мусора, толкаемому большими корпорациями в mainstream.
Жутко тормозит, и жрет всю память какая есть. А ведь функциональные языки (далее ФЯ) все без иключения имеют сборщик мусора, виртуальную машину.
Многие из них (семейство лисп) еще и динамические, что только усугубляет положение.
Вполне естественно что появившись более полусотни лет назад они надолго опередилли свое время.
Для широкого распространения ФЯ нужны гигабайты дешевой памяти и гигагерцы дешевых процессоров.
Прошло более 50 лет, прежде чем такие требования к железу стали реальностью.
Это время наступило. СЕЙЧАС.
Добро пожаловать в новую эру программирования.
Jack Of Shadows
Всего в теме 5502 сообщения
Добавить свое сообщение
Отслеживать это обсуждение
- Средства разработки. Языки программирования.
- Delphi 4 or Delphi 5
- Что приобрести в качестве средства разработки?
- Delphi6
- Delphi vs PowerBuilder
- Сравнение компиляторов
- Вот и вышла Delphi 7... Вы рады?
5502—5493 | 5492—5483 | ...>>> Всего сообщений в теме: 5502; страниц: 551; текущая страница: 1
№ 5502 01-12-2023 08:38 | |
Ответ на »сообщение 4214« (Jack Of Shadows)
___________________________
Intel выложла интересные демо ролики графических игр, использующих вместо графической карты 4-х ядерный процессор.
http://www.youtube.com/watch?v=DqmVG47zgvU
То что показывают ролики можно однозначно охарактеризовать как смерть индустрии графических карт.
NVIDIA и ATI просто подписан смертный приговор.
Зачем покупать специализированные карты если процессор общего назначения прекрасно справляется ?
Слухи о смерти индустрии графических карт оказались несколько преувеличенными)
P.S. Очень занимательно на досуге перечитывать старые топики с послезнанием
№ 5501 15-08-2018 21:33 | |
Thanks for sharing the information and the article.
№ 5500 22-01-2014 01:41 | |
Ответ на »сообщение 5498« (Бел Амор)
___________________________
Спасибо :)
Код почему-то ассоциировался с break.
№ 5499 21-01-2014 14:02 | |
Ответ на »сообщение 5498« (Бел Амор)
___________________________
Поправка:
В этой ситуации использование if
Следует читать:
"В этой ситуации использование else"
№ 5498 21-01-2014 13:54 | |
Ответ на »сообщение 5496« (fargo2)
___________________________
Наткнулся на это сообщение, в котором утверждается, что можно обойтись без continue.
Но никак не могу понять, разве во втором случае (с else) это не станет бесконечным циклом? Ведь если проверка внутри цикла выполняется, то i не увиличивается.
Не особо вникая код, можно заметить, что под if присутствует вызов RemoveAt(i), что может навести на мсысль о том, что переход к следующему элементу происходит либо путём инкрементации индекса, либо путём удаления текущего элемента и, соответственно, сдвижкой хвоста, когда следующий элемент становится на место удалённого.
В этой ситуации использование if вместо continue, по моему скромному мнению, является более предпочтительным, поскольку лучше подчёркивает альтернативность.
№ 5497 21-01-2014 08:40 | |
Ответ на »сообщение 5496« (fargo2)
___________________________
Из-за вложенности ответов неправильно вставилось.
Мое начинается с "Наткнулся на ...".
№ 5496 21-01-2014 08:36 | |
Ответ на »сообщение 3206« (Илья Ермаков)
___________________________
Ответ на »сообщение 3204« (...)
___________________________
Ответ на »сообщение 3201« (Илья Ермаков)
___________________________
while (i < intervalList.Count) {
cmp = CompareElements(intervalList[i].ElementA, intervalList[i].ElementB);
if (cmp == 0 && (!intervalList[i].IncludingA || !intervalList[i].IncludingB)) {
intervalList.RemoveAt(i);
continue;
}
i++;
}
Чем тут плох continue?
Не обижайтесь только, ради Бога, но тем, что с ним люди не видят самых элементарных вещей :-) НУ ЗДЕСЬ-ТО, ЁЛКИ-ПАЛКИ, ОН ВАМ ЗАЧЕМ!
while (i < intervalList.Count) {
cmp = CompareElements(intervalList[i].ElementA, intervalList[i].ElementB);
if (cmp == 0 && (!intervalList[i].IncludingA || !intervalList[i].IncludingB)) {
intervalList.RemoveAt(i);
}
else
i++;
}
Неужели стало намного длиннее? :-) Слово else короче, чем слово continue... И даже на целых 4 символа :-)
Наткнулся на это сообщение, в котором утверждается, что можно обойтись без continue.
Но никак не могу понять, разве во втором случае (с else) это не станет бесконечным циклом? Ведь если проверка внутри цикла выполняется, то i не увиличивается.
№ 5495 19-03-2013 14:03 | |
Ответ на »сообщение 5494« (Сергей Тарасов)
___________________________
Меня вполне устраивает.
Как и многих других.
Ну а вам скорее всего придется довольстоваться вашей волшебной системой из треьего курса :))
На всех не угодишь.
№ 5494 19-03-2013 10:12 | |
Ответ на »сообщение 5493« (Jack Of Shadows)
___________________________
Могли бы почитать документацию и примеры, благо все выложено в онлайн.
И все-таки, где в примерах, кроме линейных генерация теста когда
Никакого знания конкретного алгоритмяа для генерации теста не требуется
Или вы этот epic fail имели в виду? :)
Testing discards test cases which do not satisfy the condition. Test case generation continues until 100 cases which do satisfy the condition have been found, or until an overall limit on the number of test cases is reached (to avoid looping if the condition never holds). In this case a message such as
Arguments exhausted after 97 tests.
indicates that 97 test cases satisfying the condition were found, and that the property held in those 97 cases.
№ 5493 17-03-2013 19:13 | |
5502—5493 | 5492—5483 | ...>>> Всего сообщений в теме: 5502; страниц: 551; текущая страница: 1
Добавить свое сообщение
Отслеживать это обсуждение
Дополнительная навигация: |
|