Запитання з тегом «functional-programming»

Функціональне програмування - парадигма, яка намагається вирішити обчислювальні задачі за допомогою ланцюгової оцінки функцій, вихід яких визначається їх введеннями, а не станом програми. У цьому стилі програмування побічні ефекти та дані, що змінюються, застаріли і зазвичай суворо відокремлені.

9
Повернення вважається шкідливим? Чи може код бути функціональним без нього?
Гаразд, тому заголовок невеликий клік, але серйозно я розказав , не вимагайте удару. Мені подобається, як це заохочує методи використовувати як повідомлення справжнім об'єктно-орієнтованим способом. Але в цьому є гостра проблема, яка брякає в моїй голові. Я підозрюю, що добре написаний код може одночасно дотримуватися принципів ОО та функціональних принципів. …

2
Чому (або чому ні) екзистенційні типи вважаються поганою практикою функціонального програмування?
Які методики я можу використовувати, щоб послідовно рефакторний код видалити залежність від екзистенційних типів? Зазвичай вони використовуються для дискваліфікації небажаних конструкцій вашого типу, а також для забезпечення споживання з мінімальними знаннями про даний тип (або так я розумію). Хто-небудь придумав простий послідовний спосіб зняти залежність від них у коді, який …

7
Чи зрозумілі невеликі обсяги функціонального програмування людям, які не є ПП? [зачинено]
Випадок : я працюю в компанії, пишу заявку в Python, яка обробляє безліч даних у масивах. Я є єдиним розробником цієї програми на даний момент, але вона, ймовірно, буде використана / модифікована / розширена в майбутньому (1-3 роки) деяким іншим програмістом, на даний момент невідомим мені. Я, мабуть, не буду …

3
Яке походження та значення фрази "Лямбда остаточна?"
Я кілька років возився з функціональними мовами програмування, і я постійно стикаюся з цією фразою. Наприклад, це розділ "Маленький схемер", який, безумовно, передує блогу під цим ім'ям. (Ні, глава не допомагає відповісти на моє запитання.) Я розумію, що означає лямбда, ідея анонімної функції є одночасно простою і потужною, але я …

7
Як ви називаєте функцію, коли той самий вхід завжди повертатиме один і той же вихід, але також має побічні ефекти?
Скажімо, у нас є нормальна чиста функція, така як function add(a, b) { return a + b } А потім ми його змінюємо таким чином, щоб він мав побічну дію function add(a, b) { writeToDatabase(Math.random()) return a + b; } Наскільки я знаю, це не є чистою функцією, оскільки я …

8
Чи можливе функціональне програмування на Java? [зачинено]
Я переглядав книжковий магазин Amazon.com і натрапив на книгу "Функціональне програмування для розробників Java" . Я знаю кілька дуже базових функціональних програмувань і займаюся програмуванням на Java протягом 3 років. Мені хотілося б знати, чи можливо на Java можливо функціональне програмування?

7
Функціональне програмування на підйомі?
Останнім часом я помітив, що функціональні мови програмування набирають популярності . Нещодавно я бачив, як індекс Tiobe демонструє зростання їх популярності порівняно з минулим роком, хоча більшість із них навіть не досягають топ-50 найпопулярніших мов за цим показником. І це вже досить давно. Функціональне програмування просто не набуло такої популярності, …

8
Чи кращі функціональні мови при рекурсії?
TL; DR: Чи функціональні мови справляються з рекурсією краще, ніж нефункціональні? На даний момент я читаю Code Complete 2. У якийсь момент у книзі автор попереджає нас про рекурсію. Він каже, що цього слід уникати, коли це можливо, і що функції, що використовують рекурсію, як правило, менш ефективні, ніж рішення, …

1
Як організувати функціональні програми [закрито]
Можливий дублікат: функціональне програмування проти OOP Як написати керований код за допомогою функціонального програмування? В OOP вашою базовою одиницею організації для коду є клас. Часто використовувана методологія в Java, C # і подібних мовах полягає в упорядкуванні коду навколо наявності одного файлу для кожного класу з назвою файла, що відповідає …

5
Як інверсія залежності пов'язана з функціями вищого порядку?
Сьогодні я щойно бачив цю статтю, в якій описано актуальність принципу SOLID у розробці F # F # та принципи дизайну - SOLID І звертаючись до останнього - "Принцип інверсії залежності", автор сказав: З функціональної точки зору ці поняття щодо контейнерів та ін'єкцій можна вирішити за допомогою простої функції вищого …

7
Haskell AND Lisp vs. Haskell OR Lisp [закрито]
В даний час я кодую з C, C ++ та Python. Я хочу підібрати функціональну мову програмування, і зараз я схиляюся до Haskell. Я НЕ хочу тут починати війну "Haskell vs Lisp"; що я хочу знати, це таке: якщо я навчусь Haskell в основному для впливу функціонального програмування, які переваги, …

5
Чи все-таки справедливо говорити про анемічну модель в контексті функціонального програмування?
Більшість моделей тактичного дизайну DDD належать до об'єктно-орієнтованої парадигми, а анемічна модель описує ситуацію, коли вся бізнес-логіка вводиться в сервіси, а не в об'єкти, таким чином робить їх своєрідним DTO. Іншими словами, анемічна модель - синонім процедурного стилю, що не рекомендується для складної моделі. Я не дуже досвідчений в чистому …

2
Помилкові уявлення про суто функціональні мови?
Я часто стикаюся з такими твердженнями / аргументами: Чисті функціональні мови програмування не допускають побічних ефектів (і тому мало корисні на практиці, оскільки будь-яка корисна програма має побічні ефекти, наприклад, коли вона взаємодіє із зовнішнім світом). Чисті функціональні мови програмування не дозволяють писати програму, яка підтримує стан (що робить програмування …

5
Чи повністю виключає незмінність необхідності блокування в багатопроцесорному програмуванні?
Частина 1 Очевидно, що незмінність мінімізує потребу в блокуваннях в багатопроцесорному програмуванні, але чи усуває це потреба, чи є випадки, коли однієї незмінюваності недостатньо? Мені здається, ви можете лише відкладати обробку та інкапсулювати стан так довго, перш ніж більшість програм насправді повинні щось зробити (оновити сховище даних, створити звіт, викинути …

3
Що таке референтна прозорість?
Я це бачив у імперативних парадигмах f (x) + f (x) може не збігатися з: 2 * f (x) Але у функціональній парадигмі вона повинна бути однаковою. Я намагався реалізувати обидва випадки в Python та Scheme , але для мене вони виглядають досить просто. Що може бути прикладом, який міг …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.