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

40
Можно ли говорить об анемичной модели в контексте функционального программирования?

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

40
Haskell и Lisp против Haskell или Lisp [закрыто]

В настоящее время я пишу код на C, C ++ и Python. Я хочу выбрать функциональный язык программирования, и сейчас я склоняюсь к Хаскеллу. Я НЕ хочу начинать здесь войну "Haskell vs Lisp"; что я хочу знать, так это: если я изучу Haskell, прежде всего, для ознакомления с функциональным...

39
Устраняет ли неизменность необходимость блокировок при многопроцессорном программировании?

Часть 1 Очевидно, что неизменность сводит к минимуму необходимость блокировок в многопроцессорном программировании, но устраняет ли она эту потребность, или есть случаи, когда одной неизменности недостаточно? Мне кажется, что вы можете только отложить обработку и инкапсулировать состояние настолько...

39
Заблуждения о чисто функциональных языках?

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

38
Что такое ссылочная прозрачность?

Я видел это в императивных парадигмах F (X) + F (х) может не совпадать с: 2 * Р (х) Но в функциональной парадигме все должно быть так же. Я попытался реализовать оба случая в Python и Scheme , но для меня они выглядят довольно просто одинаково. Какой пример мог бы указать на разницу с данной...

37
Реальные подводные камни внедрения F # в большую кодовую базу и команду инженеров [закрыто]

Я технический директор программной фирмы с большой существующей кодовой базой (все на C #) и значительной командой инженеров. Я вижу, как некоторые части кода будет гораздо проще писать на F #, что приведет к более быстрому времени разработки, меньшему количеству ошибок, более легким параллельным...

36
Почему комитет Haskell выбрал монады для представления ввода / вывода?

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

36
Схема против Haskell для введения в функциональное программирование?

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

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

Допустим, у меня есть логика ниже. Как написать это в функциональном программировании? public int doSomeCalc(int[] array) { int answer = 0; if(array!=null) { for(int e: array) { answer += e; if(answer == 10) break; if(answer == 150) answer += 100; } } return answer; } Примеры в большинстве блогов,...

36
Эквивалент принципов SOLID для функционального программирования

Я нашел принципы SOLID весьма полезными, когда размышляю над объектно-ориентированным дизайном. Существует ли подобный / эквивалентный набор не зависящих от языка принципов, адаптированных для функционального...

35
Что означает «не сочинять»?

Я вижу много текстов, особенно тексты о функциональном программировании, утверждающие, что определенные концепции CS «не сочиняются» . Примеры: замки не сочиняются, монады не сочиняются. Мне было трудно найти точное значение этой фразы. Когда я думаю о композиции, я имею в виду либо композицию...

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

Посмотрев на некоторые языки для функционального программирования, я всегда задавался вопросом, почему некоторые языки fp используют один или несколько пробельных символов для приложения функции (и определения), тогда как большинство (все?) Императивных / объектно-ориентированных языков используют...

34
Является ли Javascript функциональным языком программирования

Является ли Javascript функциональным языком? Я знаю, что у него есть объекты, и вы также можете делать с ним ООП, но это также функциональный язык, можно ли его использовать таким образом? Вы знаете, как ООП стало / кажется следующей эволюцией в программировании, означает ли это, что...

34
Может быть, монада против исключений

Интересно, в чем преимущества Maybe монады перед исключениями? Похоже, Maybeэто просто явный (и довольно трудоемкий) способ try..catchсинтаксиса. обновление Пожалуйста, обратите внимание, что я намеренно не упоминаю...

33
Являются ли затворы нечистым функциональным стилем?

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

33
Является ли система типов Haskell препятствием для понимания функционального программирования? [закрыто]

Я изучаю Haskell с целью понимания функционального программирования, ожидая, что я буду применять полученные знания на других языках (в основном Groovy, Python, JavaScript). Я выбрал Haskell, потому что у меня сложилось впечатление, что он очень чисто функциональный и не допускает никакой...

32
Функциональное программирование по сравнению с ООП с классами

В последнее время меня интересуют некоторые концепции функционального программирования. Я использовал ООП уже некоторое время. Я вижу, как я могу построить довольно сложное приложение в ООП. Каждый объект будет знать, как делать то, что делает объект. Или что-нибудь, что делает класс родителей. Так...

32
Производительность кода ADT, ориентированного на одно назначение, на современных процессорах

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