Functional JavaScript Tutorial - #2: Referential Transparency

Published: 17 July 2019
on channel: Zaiste Programming
5,740
110

Referential transparency is a property of parts of computer programs. An expression is called referentially transparent if it can be replaced with its corresponding value without changing the program's behavior.

In mathematics all function applications are referentially transparent, by the definition of what constitutes a mathematical function. However, this is not always the case in programming.

The importance of referential transparency is that it allows the programmer and the compiler to reason about program behavior. This can help in proving correctness, simplifying an algorithm, assisting in modifying code without breaking it, or optimizing code by means of memoization, common subexpression elimination, lazy evaluation, or parallelization.

Functional programming is a programming paradigm in which you build programs by
composing functions. The computation is then the evaluation of those functions.
Functional programming focuses on the usage of pure functions and on avoiding
shared, mutable state. This programming paradigm is declarative. Functional code
is usually more concise and easier to test.

In this mini series, we will embark on an exciting journey to learn a bit about
functional programming by using JavaScript. Presented concepts will be mostly
universal and applicable to other programming languages. This series is created with beginners and non-programmers in mind; don't worry, we will take it slowly!

Zaiste Weekly Newsletter: https://bit.ly/zaiste-weekly

#functional #javascript #tutorial


On this page of the site you can watch the video online Functional JavaScript Tutorial - #2: Referential Transparency with a duration of hours minute second in good quality, which was uploaded by the user Zaiste Programming 17 July 2019, share the link with friends and acquaintances, this video has already been watched 5,740 times on youtube and it was liked by 110 viewers. Enjoy your viewing!