Запитання з тегом «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
Вибір функціональної мови програмування [закрито]
Останнім часом я читав багато тем про мови функціонального програмування (фактично майже минулого року). Мені дуже хотілося б вибрати його і досконало його вивчити. Останній [курс] семестр мене ввели до схеми. Я любив це. Любила надзвичайну простоту синтаксису, принцип гомонічності , макроси ( гігієнічні та негігієнічні), n-арність процедур тощо. Проблема …

2
Що мав на увазі Алан Кей під „завданням” у „Ранній історії малих розмов”?
Я читав "Ранню історію Малого розмови", і є кілька згадок про "завдання", які змушують мене поставити під сумнів своє розуміння його значення: Хоча ООП виходив із багатьох мотивів, два були центральними. Великий масштаб полягав у тому, щоб знайти кращу модульну схему для складних систем, що передбачає приховування деталей, а маленький …

3
Чому модель анемічного домену вважається поганою в C # / OOP, але дуже важливою для F # / FP?
У публікації блогу на F # для розваги та прибутку написано: У функціональному дизайні дуже важливо відокремити поведінку від даних. Типи даних прості та "німі". А потім окремо у вас є ряд функцій, які діють на ці типи даних. Це якраз протилежність об'єктно-орієнтованому дизайну, де маються на увазі поєднання поведінки …

5
Критика монади IO розглядається як державна монада, що діє на світ
IOМонада в Haskell часто пояснюється як державної монади , де держава є світ. Таким чином, значення IO aмонади типу розглядається як щось подібне worldState -> (a, worldState). Деякий час тому я прочитав статтю (або повідомлення в блозі / списку розсилки), в якому критикував цю точку зору і наводив кілька причин, …

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

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