Вопросы с тегом «functional-programming»

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

154
В чем преимущество карри?

Я только что узнал о карри, и хотя я думаю, что понимаю концепцию, я не вижу большого преимущества в ее использовании. В качестве тривиального примера я использую функцию, которая добавляет два значения (написано в ML). Версия без карри будет fun add(x, y) = x + y и будет называться add(3, 5) в то...

133
Я слишком «умен», чтобы быть доступным для чтения младшим разработчикам? Слишком много функционального программирования в моем JS? [закрыто]

Я старший разработчик, кодирую в Babel ES6. Часть нашего приложения выполняет вызов API, и в зависимости от модели данных, которую мы получаем от вызова API, необходимо заполнить определенные формы. Эти формы хранятся в двусвязном списке (если серверная часть говорит, что некоторые данные...

104
Почему батуты работают?

Я делал некоторый функциональный JavaScript. Я думал, что оптимизация Tail-Call была реализована, но, как оказалось, я ошибался. Таким образом, я должен был научить себя прыжкам на батуте . Немного почитав здесь и в других местах, я смог освоить основы и сконструировал свой первый батут: /*not the...

95
Что такое шаблон «Свободная монада + переводчик»?

Я видел людей, говорящих о Free Monad с Interpreter , особенно в контексте доступа к данным. Что это за образец? Когда я мог бы хотеть использовать это? Как это работает, и как бы я это реализовал? Я понимаю (из сообщений , таких как это ) , что речь идет о отделяя модели от данных доступа. Чем он...

93
Функциональное программирование против ООП [закрыто]

В последнее время я много слышал об использовании функциональных языков, таких как Haskell. Каковы некоторые из больших отличий, плюсов и минусов функционального программирования от объектно-ориентированного...

89
Что такое «побочный эффект»?

Я не совсем понял концепцию побочного эффекта. Что такое побочный эффект в программировании? Это зависит от языка программирования? Есть ли такая вещь, как внешние и внутренние побочные эффекты? Пожалуйста, приведите пример причин, которые создают побочные...

80
Как называется функция, которая не принимает аргументов и ничего не возвращает? [закрыто]

В java.util.functionпакете Java 8 мы имеем: Функция : принимает один аргумент, выдает один результат. Потребитель : принимает один аргумент, ничего не производит. Поставщик : не принимает аргументов, дает один результат. ... : другие случаи обработки примитивов, двух аргументов и т. Д. Но мне нужно...

75
Где все шаблоны проектирования функционального программирования? [закрыто]

ОО литература по программированию полна шаблонов проектирования. Большинство книг по объектно-ориентированному программированию посвящают одну или две главы разработке шаблонов, таких как фабрики и декораторы. Итак, каковы эквивалентные шаблоны в функциональных языках и почему никто еще не написал...

69
Почему побочные эффекты считаются злыми в функциональном программировании?

Я чувствую, что побочные эффекты - это естественное явление. Но это что-то вроде табу в функциональных языках. Каковы причины? Мой вопрос относится к стилю функционального программирования. Не все языки программирования /...

69
«Все это карта», я делаю это правильно?

Я смотрел выступление Стюарта Сьерры « Мышление в данных » и использовал одну из идей в качестве принципа дизайна в этой игре, которую я делаю. Разница в том, что он работает в Clojure, а я работаю в JavaScript. Я вижу некоторые основные различия между нашими языками в этом: Clojure - идиоматически...

68
Как функциональные языки обрабатывают случайные числа?

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

63
Функциональное программирование быстрее в многопоточности, потому что я пишу вещи по-другому или потому что вещи по-разному компилируются?

Я погружаюсь в мир функционального программирования и все время читаю, что функциональные языки лучше подходят для многопоточных / многоядерных программ. Я понимаю, как функциональные языки делают разные вещи по-разному, такие как рекурсия , случайные числа и т. Д., Но я не могу понять, является ли...

63
В функциональном программировании требует ли использование большей части памяти большей части неизменяемых структур данных?

В функциональном программировании почти все структуры данных являются неизменными, когда состояние должно измениться, создается новая структура. Значит ли это, что использование памяти будет намного больше? Я хорошо знаю парадигму объектно-ориентированного программирования, теперь я пытаюсь узнать...

63
какова цель стрел?

Я изучаю программирование на языке Haskell и пытаюсь понять концепции, сначала поняв, зачем они мне нужны. Я хотел бы знать цель стрелок в функциональных языках программирования. Какую проблему они решают? Я проверил http://en.wikibooks.org/wiki/Haskell/Understanding_arrows и...

61
Почему функциональное программирование не более популярно в отрасли? Это завоевывает популярность сейчас? [закрыто]

В течение моих четырех лет в университете мы использовали много функционального программирования на нескольких функциональных языках программирования. Но я также использовал много объектно-ориентированного программирования, и на самом деле я использую объектно-ориентированные языки больше, когда...

59
Каковы самые большие различия между F # и Scala?

F # и Scala являются языками функционального программирования, которые не заставляют разработчика использовать только неизменяемые типы данных. Они оба поддерживают объекты, могут использовать библиотеки, написанные на других языках, и работать на виртуальной машине. Оба языка основаны на ML....

58
Почему программа использует закрытие?

После прочтения многих постов, объясняющих здесь замыкания, мне все еще не хватает ключевой концепции: зачем писать замыкания? Какую конкретную задачу будет выполнять программист, которая лучше всего подходит для закрытия? Примерами замыканий в Swift являются обращения к NSUrl и использование...

56
Что такое лямбда и почему она полезна? [закрыто]

До сих пор я слышал о: Лямбда-исчисление Лямбда-программирование Лямбда-выражения Лямбда-функции Что, похоже, связано с функциональным программированием ... По всей видимости, он будет интегрирован в C ++ 1x, поэтому я мог бы лучше понять это сейчас:...

54
Какой язык программирования генерирует наименьшее количество труднодоступных ошибок? [закрыто]

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

54
В чем разница между функцией и лямбда?

Я немного запутался по поводу «функции» и «лямбды». Я видел несколько примеров, показывающих, что ключевое слово схема lambdaработает очень похоже на ключевое слово JavaScript function, но я действительно не знаю, как они связаны. Мне сказали, что «функция» и «метод» могут использоваться...