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

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

18
Що б ви зробили, якби ваш клієнт вимагав від вас не використовувати об'єктно-орієнтоване програмування?
Я пишу програму для імітації активності мурах у сітці (PDF). Мураш може пересуватися, збирати речі і кидати речі. Проблема полягає в тому, що дії мурашок і положення кожного мураха легко відстежувати за атрибутами класу (і ми можемо легко створити багато примірників таких мурашок) мій клієнт сказав, що оскільки він має …

5
Асинхронне програмування на функціональних мовах
Я в основному програміст C / C ++, а це означає, що більшість мого досвіду стосується процедурних та об'єктно-орієнтованих парадигм. Однак, як відомо багато програмістів на C ++, C ++ з роками перейшов до акцентів до функціонально-есківського стилю, що завершилося, нарешті, додаванням лямбда і закриттям в C ++ 0x. Незважаючи …

5
Чому дискримінаційні спілки пов'язані з функціональним програмуванням?
Протягом багатьох років програмування ОО я зрозумів, що таке дискримінаційні спілки, але ніколи їх не пропускав. Нещодавно я займався деяким функціональним програмуванням на C #, і тепер я вважаю, що хочу бачити їх. Це мене бентежить, оскільки, дивлячись на це, концепція дискримінованих спілок виглядає цілком незалежною від функціональної / дихотомії …

4
Чому мені не потрібна ОРМ на такій функціональній мові, як Scala?
Мені цікаво, чи зможу я перейти з Java на Scala у проекті Spring + Hiber, щоб скористатися деякими функціями Scala, такими як відповідність шаблонів, Варіант та те, що мені здається чистішим синтаксисом загалом. Я шукав ORM за замовчуванням в екосистемі Scala і знайшов такі думки, як Activate (але в основному …

10
З огляду на стадо коней, як я можу знайти середню довжину рогів у всіх єдинорогів?
Питання вище - це абстрактний приклад поширеної проблеми, з якою я стикаюся у застарілому коді, а точніше - проблем, що виникають внаслідок попередніх спроб вирішення цієї проблеми. Я можу придумати хоча б один .NET Framework метод, який призначений для вирішення цієї проблеми, як Enumerable.OfType<T>метод. Але той факт, що ви врешті-решт …

8
Чому корисна концепція лінивої оцінки?
Здається, ледача оцінка виразів може змусити програміста втратити контроль над порядком, в якому виконується їх код. У мене виникають проблеми з розумінням того, чому це було б прийнятним або бажаним програмістом. Як цю парадигму можна використовувати для створення передбачуваного програмного забезпечення, яке працює за призначенням, коли ми не маємо гарантії, …

10
Як відповідатимуть прихильники функціонального програмування на цю заяву в Code Complete?
На сторінці 839 другого видання Стів МакКоннелл обговорює всі способи, якими програмісти можуть «підкорити складність» у великих програмах. Його підсумки завершуються цим твердженням: "Об'єктно-орієнтоване програмування забезпечує рівень абстракції, який застосовується одночасно до алгоритмів і даних , такий вид абстракції, якого функціональне розкладання не забезпечувало." У поєднанні з його висновком, що …

3
Haskell vs Erlang для веб-сервісів
Я хочу розпочати експериментальний проект, використовуючи функціональну мову, і намагаюся вирішити між Ерланом та Хаскеллом, і в обох є деякі моменти, які мені дуже подобаються. Мені подобається система сильного типу і чистота Haskell. У мене є відчуття, що це спростить написання дійсно надійного коду. І я думаю, що сила Хаскелла …

5
Чи програмування у філософії UNIX збігається з функціональним програмуванням?
Середовище програмування UNIX (класичний текст) зазначає, що підхід UNIX до програмування полягає у створенні невеликих чітко визначених інструментів, які можна поєднувати для вирішення більш складних проблем. Вивчаючи C та оболонку Bash, я виявив, що це потужна концепція, яку можна використовувати для вирішення широкого спектру проблем програмування. Просто використовуючи платформу Linux, …

3
Різні способи побачити монаду
Під час навчання Haskell я зіткнувся з великою кількістю навчальних посібників, намагаючись пояснити, що таке монади і чому монади важливі в Haskell. Кожен з них використовував аналогії, щоб було легше вловити сенс. Зрештою, у мене є 3 різних точки зору того, що таке монада: Перегляд 1: Монада як етикетка Іноді …

4
Поліморфізм у Хаскеллі (тільки) повернення типу - це хороша річ?
Це питання було перенесено із переповнення стека, оскільки на нього можна відповісти на Exchange Software Stack Exchange. Мігрували 8 років тому . Одна річ, з якою я ніколи не змирився в Haskell - це те, як можна мати поліморфні константи та функції, тип повернення яких неможливо визначити за типом введення, …

3
Для чого потрібне ключове слово rec у F #?
У F # необхідно використовувати recключове слово. У Haskell немає необхідності чітко вказувати, чи є дана функція рекурсивною чи ні. Враховуючи роль рекурсії у функціональному програмуванні, дизайн F # здається мені досить дивним. Це гарне мовне рішення або воно існує лише з історичної причини або через обмеження щодо впровадження?

6
Чи є вивчення функціональної мови кращим програмістом OOP? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 5 років тому . Як програміст Java / C # / C ++ я чую багато розмов про …

5
Чи виловлювання / викидання винятків робить інакше чистий метод нечистим?
Наступні приклади коду забезпечують контекст мого запитання. Клас Room ініціалізується делегатом. У першій реалізації класу Кімната немає охоронців проти делегатів, які кидають винятки. Такі винятки будуть переноситись до властивості North, де оцінюється делегат (зверніть увагу: метод Main () демонструє, як у клієнтському коді використовується екземпляр Room): public sealed class Room …

7
Чи ігнорує функціональне програмування переваги, отримані від "Про критерії, що використовуються в декомпозиції систем на модулі" (приховування даних)?
Існує класична стаття під назвою "Критерії, які потрібно використовувати в розкладанні систем на модулі", яку я тільки що прочитав вперше. Для мене це має сенс, і, мабуть, одна з тих статей, на яких базувався ООП. Її висновок: Ми намагалися продемонструвати на цих прикладах, що майже завжди неправильно починати розкладку системи …

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