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

52
Как вы разрабатываете программы на Haskell или других функциональных языках программирования?

У меня есть некоторый опыт работы с объектно-ориентированными языками программирования, такими как c # или ruby. Я знаю, как проектировать программу в объектно-ориентированном стиле, как создавать классы и объекты и как определять отношения между ними. Я также знаю некоторые шаблоны дизайна. Как...

51
Что такое комбинаторы и как они применяются к программным проектам? (практическое объяснение)

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

50
Почему нынешний энтузиазм по поводу функционального программирования? [закрыто]

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

49
Обходной путь для проверенных исключений Java

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

49
«Легко рассуждать» - что это значит? [закрыто]

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

48
Выбор функционального языка программирования [закрыто]

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

47
Что Алан Кей имел в виду под «заданием» в «Ранней истории Smalltalk»?

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

46
Почему анемичная модель предметной области считается плохой в C # / OOP, но очень важной в F # / FP?

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

46
Критика монады IO, рассматриваемой как государственная монада, действующая в мире

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

45
Возвращение считается вредным? Может ли код быть функциональным без него?

Хорошо, так что название немного щелкает мышью, но если серьезно, я был на высоте , не проси пинка некоторое время. Мне нравится, как он поощряет использование методов в качестве сообщений в истинно объектно-ориентированном виде. Но у меня есть ноющая проблема, которая гремит в моей голове. Я...

45
Почему списки структуры данных выбора на функциональных языках?

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

43
Каково происхождение и значение фразы «лямбда-предельная»?

Я возился с функциональными языками программирования в течение нескольких лет, и я продолжаю сталкиваться с этой фразой. Например, это глава «Маленький интриган», которая определенно предшествует блогу с таким названием. (Нет, эта глава не поможет ответить на мой вопрос.) Я понимаю, что означает...

43
Являются ли небольшие объемы функционального программирования понятными для не-FP людей? [закрыто]

Кейс : я работаю в компании, пишу приложение на Python, которое обрабатывает много данных в массивах. На данный момент я являюсь единственным разработчиком этой программы, но, вероятно, она будет использоваться / изменяться / расширяться в будущем (1-3 года) другим программистом, в данный момент...

43
Как вы называете функцию, когда один и тот же вход всегда будет возвращать один и тот же выход, но также имеет побочные эффекты?

Скажем, у нас есть нормальная чистая функция, такая как function add(a, b) { return a + b } И тогда мы изменим его так, что он имеет побочный эффект function add(a, b) { writeToDatabase(Math.random()) return a + b; } Насколько я знаю, это не считается чистой функцией, потому что я часто слышу, как...

43
Почему (или почему нет) экзистенциальные типы считаются плохой практикой в ​​функциональном программировании?

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

42
Возможно ли функциональное программирование в Java? [закрыто]

Я просматривал книжный магазин Amazon.com и наткнулся на книгу «Функциональное программирование для Java-разработчиков» . Я знаком с некоторыми базовыми функциями программирования и программирую на Java уже 3 года. Я хотел бы знать, возможно ли даже функциональное программирование в...

42
Функциональное программирование на подъеме?

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

41
Как организовать функциональные программы [закрыто]

Возможный дубликат: функциональное программирование против ООП Как написать управляемый код с функциональным программированием? В ООП вашей основной единицей организации для кода является класс. Часто используемая методология в Java, C # и аналогичных языках состоит в том, чтобы организовать ваш...

41
Как инверсия зависимостей связана с функциями высшего порядка?

Сегодня я только что увидел эту статью, в которой описана актуальность принципа SOLID в разработке F #. F # и принципы дизайна - SOLID И, обращаясь к последнему - «Принцип инверсии зависимостей», автор сказал: С функциональной точки зрения эти контейнеры и концепции внедрения могут быть решены с...

41
Функциональные языки лучше в рекурсии?

TL; DR: функциональные языки обрабатывают рекурсию лучше, чем нефункциональные? В настоящее время я читаю Code Complete 2. В какой-то момент в книге автор предупреждает нас о рекурсии. Он говорит, что этого следует избегать, когда это возможно, и что функции, использующие рекурсию, обычно менее...