The fundamentals of functional programming explained using Javascript. The series is meant for programmers who are interested in understanding the functional paradigm. The objective is to explore the concepts of functional programming using a familiar language- in fact one of the most popular programming languages, namely JavaScript.
Large scale concurrent systems that run on thousands of machines, are hard to implement and maintain using traditional imperative programming techniques. And hence there is a large demand for programmers who can learn and adapt to the new paradigm very quickly.
Traditionally, the way to learn functional programming was to learn a new language such as Erlang or Scala or Haskell . More often than not programmers who take this approach tend to get more entangled in learning the syntax and idioms of the language, when they should have been focusing on the core, fundamental concepts that shape the thinking behind visualizing systems in the functional context.
This series of short booklets attempts to provide conceptual platform using which you can graduate to functional programming using those languages that are used used for large scale production systems.
The part 1 of this series covers the basic concepts- functions, higher-order functions, recursion, separation of concerns and more.
Part II will take a deeper dive into more advanced concepts- data abstractions, comprehensions, map/reduce, programming without states and more.
Large scale concurrent systems that run on thousands of machines, are hard to implement and maintain using traditional imperative programming techniques. And hence there is a large demand for programmers who can learn and adapt to the new paradigm very quickly.
Traditionally, the way to learn functional programming was to learn a new language such as Erlang or Scala or Haskell . More often than not programmers who take this approach tend to get more entangled in learning the syntax and idioms of the language, when they should have been focusing on the core, fundamental concepts that shape the thinking behind visualizing systems in the functional context.
This series of short booklets attempts to provide conceptual platform using which you can graduate to functional programming using those languages that are used used for large scale production systems.
The part 1 of this series covers the basic concepts- functions, higher-order functions, recursion, separation of concerns and more.
Part II will take a deeper dive into more advanced concepts- data abstractions, comprehensions, map/reduce, programming without states and more.