Свързани публикации 'functional-programming'


C++23 диапазони версии на FizzBuzz
Използване на библиотеката Ranges за създаване на добри, грозни, глупави и хитри решения. След като написах статията „Холандски код“, видях статия за класическия проблем с FizzBuzz. Разбира се, виждал съм го няколко пъти, но никога не съм го решавал сам. Една от причините е, че се пенсионирах преди интервютата да изискват кодови тестове. Противоречието относно „Холандския кодекс“ е ефимерно, така че справянето с FizzBuzz ще бъде малко повече...

Основни колекции: Въведение
Защо колекциите на Java са изключително проблематични и как Kotlin използва различен подход. Описание на всички различни методи за създаване на колекции — конструиране от елементи, функции за изграждане, конкретен тип конструктори/функции за инициализиране, копиране и извикване на функции на други колекции.

Въведение в основните принципи на функционалното програмиране в JavaScript
Тази публикация в блога е публикувана за първи път в Блогът на TK . След дълго време учене и работа с обектно-ориентирано програмиране, направих крачка назад, за да помисля за сложността на системата. “Complexity is anything that makes software hard to understand or to modify. ' — Джон Аутърхаут Правейки някои изследвания, открих концепции за функционално програмиране, като неизменност и чисти функции. Тези концепции ви позволяват да създавате функции без странични ефекти,..

Spock II: Бази данни и сесии!
„Миналата седмица“ научихме основите на „библиотеката Спок“. Видяхме как да настроим някои прости маршрути. Подобно на Servant, има малко машина от зависим тип с маршрутизиране. Но не трябваше да учим никакви сложни оператори. Просто трябваше да съпоставим броя на аргументите с нашите маршрути. Видяхме също как да използваме състояние на приложение, за да запазим някои данни между заявките. Тази седмица ще добавим няколко по-сложни функции към нашето приложение Spock. Първо ще се..

Lucid: Друга HTML опция
В момента разглеждаме различни библиотеки на Haskell за генериране на HTML код. Вече проучихме как да направим това малко в Reflex FRP и с помощта на Blaze библиотека . Тази седмица ще разгледаме още една библиотека, Lucid . Тогава следващата седмица ще започнем да разглеждаме някои по-сложни неща, които можем да направим с нашия генериран код. Подходите от Reflex и Blaze имат много прилики. По-специално, и двете използват монадична композиция за изграждане на дървото. Lucid..

Бележки след интервюто
И така, след всяко интервю винаги има набор от нови неща, които научавам, а днес трябва да науча за функциите от по-висок ред в Javascript и разликата между var и let/const. Функции от по-висок ред: Използвам ги от известно време в Javascript и не знаех, че имаме име за тях. Накратко, това са функциите, които приемат функции като параметри или връщат функции като изход. arr.map() и arr.filter() са две функции от по-висок ред, за които се сещам в момента, които приемат функция..

Функционално програмиране в python
Функционалното програмиране (наричано също FP) е начин на мислене за изграждането на софтуер чрез създаване на чисти функции. Той избягва концепциите за споделено състояние, променливи данни, наблюдавани в обектно-ориентираното програмиране. Функционалният стил има теоретични и практически предимства: Формална доказуемост. Модулност. Съставимост. Лесно отстраняване на грешки и тестване. Официална доказуемост. Теоретична полза е, че е по-лесно да се конструира математическо..