Giter Site home page Giter Site logo

dima1034 / mostly-adequate-guide-ru Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mostlyadequate/mostly-adequate-guide-ru

0.0 3.0 0.0 3.89 MB

Mostly adequate guide to FP (in javascript, translated in russian)

License: Other

HTML 0.75% JavaScript 93.68% TeX 5.57%

mostly-adequate-guide-ru's Introduction

Об этой книге

Эта книга рассказывает о парадигме функционального программирования в общем. Мы будем использовать самый популярный в мире функциональный язык программирования: JavaScript. Некоторые из вас могут сказать, что это не самый удачный выбор, потому что в данный момент в JavaScript преобладают императивные тенденции. Однако, я считаю, что JavaScript — это лучший способ знакомства с функциональным программированием по нескольким причинам:

  • Вы, скорее всего, и так каждый день используете его в своей работе.

    Это открывает возможность воспользоваться полученным знанием в реальных прикладных программах, в отличие от тех проектов, которые вы пишите в качестве хобби по выходным на каком-нибудь экзотическом языке.

  • Вам не потребуется учить язык с нуля для того, чтобы начать писать программы.

    В чисто функциональном языке у вас не получится залогировать значение переменной или получить элемент DOM без использования монад. Пока мы не освоили все приёмы функционального программирования, благодаря смешанной парадигме JS, можно немного сжульничать и воспользоваться приёмами из ООП.

  • JS отлично подходит для написания первоклассного функционального кода.

    В JS у нас есть всё что нужно для имитации Scala или Haskell с помощью парочки небольших библиотек. В данный момент ООП доминирует в индустрии, но он очень неудобен в Javascript’е, примерно также, как пойти с палатками на трассу или танцевать чечётку в сапогах. Чтобы случайно не потерять контекст this, мы повсеместно используем bind. Забыли написать new? Будьте готовы к причудливым ошибкам. В JS пока что нет классов, а приватные поля доступны только через замыкания. Многие из нас считают функциональное программирование более подходящим вариантом для JS.

Учитывая всё вышесказанное, бесспорно, лучше всего для примеров из этой книги подойдут типизированные функциональные языки. JavaScript поможет нам познакомиться с подходом к программированию функционально, какой язык использовать для его применения — решать вам. К счастью, все интерфейсы математические и, посему, универсальные. Вы будете комфортно себя чувствовать, используя swiftz, haskell, purescript и другие математически-ориентированные языки.

Gitbook (на английском)

http://drboolean.gitbooks.io/mostly-adequate-guide/

EPUB (на английском)

https://www.gitbook.com/download/epub/book/drboolean/mostly-adequate-guide

Mobi (Kindle) (на английском)

https://www.gitbook.com/download/mobi/book/drboolean/mostly-adequate-guide

Вы можете сами собрать эту книгу

git clone https://github.com/MostlyAdequate/mostly-adequate-guide-ru

cd mostly-adequate-guide-ru/
npm install gitbook-cli -g
gitbook init

brew update
brew cask install calibre

gitbook mobi . ./functional.mobi

Другие языки

Содержание

Перевод названия главы будет появляться как только будет доступен перевод самой главы.

Часть 1

Часть 2

mostly-adequate-guide-ru's People

Contributors

a1ip avatar flppv avatar kazatca avatar kurumpa avatar maksimf avatar maxjazz avatar nike-17 avatar rsboarder avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.