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

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

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

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

3
Что такое лямбда и почему она полезна? [закрыто]
До сих пор я слышал о: Лямбда-исчисление Лямбда-программирование Лямбда-выражения Лямбда-функции Что, похоже, связано с функциональным программированием ... По всей видимости, он будет интегрирован в C ++ 1x, поэтому я мог бы лучше понять это сейчас: http://en.wikipedia.org/wiki/C%2B%2B0x#Lambda_functions_and_expressions Может кто-нибудь кратко определить, что такое лямбда-вещи, и указать, где это может быть полезно?

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

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

1
Как вы разрабатываете программы на Haskell или других функциональных языках программирования?
У меня есть некоторый опыт работы с объектно-ориентированными языками программирования, такими как c # или ruby. Я знаю, как проектировать программу в объектно-ориентированном стиле, как создавать классы и объекты и как определять отношения между ними. Я также знаю некоторые шаблоны дизайна. Как люди пишут функциональные программы? Как они начинаются? Существуют …

3
Что такое комбинаторы и как они применяются к программным проектам? (практическое объяснение)
Что такое комбинаторы? Я ищу: практическое объяснение примеры того, как они используются примеры того, как комбинаторы улучшают качество / универсальность кода Я не ищу: объяснения комбинаторов, которые не помогают мне выполнить работу (например, Y-комбинатор)

14
Почему нынешний энтузиазм по поводу функционального программирования? [закрыто]
В последнее время я слышал много энтузиазма по поводу функциональных языков программирования в отношении Scala, Clojure и F #. Я недавно начал изучать Haskell, чтобы изучить парадигму FP. Я люблю это, это действительно весело, и соответствует моему математическому фону. Но будет ли это когда-нибудь действительно важно? Очевидно, это вряд ли …

11
«Легко рассуждать» - что это значит? [закрыто]
Я много раз слышал, как другие разработчики используют эту фразу, чтобы «рекламировать» некоторые шаблоны или разрабатывать лучшие практики. Большую часть времени эта фраза используется, когда вы говорите о преимуществах функционального программирования. Фраза «Легко рассуждать» использовалась как есть, без каких-либо объяснений или примеров кода. Так что для меня это похоже на …

6
Обходной путь для проверенных исключений Java
Я высоко ценю новые функции Java 8, касающиеся лямбд и интерфейсов методов по умолчанию. Тем не менее, я все еще скучаю с проверенными исключениями. Например, если я просто хочу перечислить все видимые поля объекта, я хотел бы просто написать это: Arrays.asList(p.getClass().getFields()).forEach( f -> System.out.println(f.get(p)) ); Тем не менее, поскольку getметод …

6
Выбор функционального языка программирования [закрыто]
В последнее время я много читал о функциональных языках программирования (фактически, почти в прошлом году). Я действительно хотел бы выбрать один и изучить это полностью. В прошлом семестре [курс] я познакомился со Схемой. Я люблю это. Мне очень понравилась крайняя простота синтаксиса, принцип гомойконичности , макросы ( гигиенические и негигиенические), …

2
Что Алан Кей имел в виду под «заданием» в «Ранней истории Smalltalk»?
Я читал «Раннюю историю Smalltalk», и есть несколько упоминаний о «назначении», которые заставляют меня усомниться в моем понимании его значения: Хотя ООП исходило из многих мотивов, два были центральными. Крупномасштабная задача заключалась в том, чтобы найти лучшую модульную схему для сложных систем, связанных с сокрытием деталей, а мелкомасштабная - найти …

3
Почему анемичная модель предметной области считается плохой в C # / OOP, но очень важной в F # / FP?
В сообщении в блоге на F # для развлечения и выгоды говорится: В функциональном дизайне очень важно отделить поведение от данных. Типы данных просты и «тупы». И затем отдельно у вас есть ряд функций, которые действуют на эти типы данных. Это полная противоположность объектно-ориентированному дизайну, где поведение и данные должны …

5
Критика монады IO, рассматриваемой как государственная монада, действующая в мире
IOМонады в Haskell часто объясняется как государственной монады , где государство является мир. Таким образом, значение типа IO amonad рассматривается как нечто подобное worldState -> (a, worldState). Некоторое время назад я прочитал статью (или сообщение в блоге / списке рассылки), в которой критиковал это мнение и приводил несколько причин, по …

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.