freeCodeCamp/guide/russian/software-engineering/functional-programming/index.md

45 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: Functional Programming
localeTitle: Функциональное программирование
---
## Функциональное программирование
Функциональное программирование - это процесс создания программного обеспечения путем создания **чистых функций** , избежания **общего состояния** , **изменяемых данных** и **побочных эффектов** . Функциональное программирование является **декларативным** (говорит компьютеру, что вы хотите сделать), а не **обязательным** (говоря компьютеру точно, как это сделать), а состояние приложения протекает через чистые функции. Контрастируйте его с объектно-ориентированным программированием, где состояние приложения обычно используется совместно и совместно с методами в объектах.
### Почему функциональное программирование?
* Это, как правило, более кратким
* Это обычно более предсказуемо
* Это легче проверить, чем объектно-ориентированный код
### Принятие на языках программирования
Многие языки программирования поддерживают функциональное программирование, такое как Haskell, F #, Common Lisp, Clojure, Erlang, OCaml. JavaScript также обладает свойствами нетипизированного функционального языка.
### Пользы
Функциональное программирование давно популярно в академических кругах, но с небольшим количеством промышленных приложений. Однако недавно в коммерческих или промышленных системах использовалось несколько известных языков функционального программирования. Например, язык программирования Erlang, разработанный шведской компанией Ericsson в конце 1980-х годов, используется для создания целого ряда приложений в таких компаниях, как T-Mobile, Nortel, Facebook, Électricité de France и WhatsApp.
### Функции более высокого порядка
Функции более высокого порядка - большая часть функционального программирования. Функция более высокого порядка - это функция, которая либо принимает функцию (s) в качестве параметра, либо возвращает функцию.
### карта
`map` - это функция более высокого порядка, которая вызывает функцию для каждого элемента списка и возвращает результаты в виде ового_ списка.
Вот пример `map` :
```javascript
const myList = [6, 3, 5, 29];
let squares = myList.map(num => num * num); // [36, 9, 25, 841]
```
### Дополнительная информация:
* [Википедия - Функциональное программирование](https://en.wikipedia.org/wiki/Functional_programming#Use_in_industry)
* [KeyCDN - Функциональное программирование - что это такое и почему оно имеет значение?](https://www.keycdn.com/blog/functional-programming/)
* [Средний - что такое функциональное программирование?](https://medium.com/javascript-scene/master-the-javascript-interview-what-is-functional-programming-7f218c68b3a0)