What is functional programming?

What is functional programming?

a programming paradigm (worldview, mindset)
it's kind of a way of looking at a world in terms of what the world is composed of.

follow my commands
do this, then that

keep state to yourself
send/receive messages

this is what I want
I don't care how you do it e.g. SQL

sort of a sub-paradigm of Declarative

What is functional programming?
one simple idea. pure functions (only input in, only output out)

Not pure:
var name = "Saint Petersburg";
function greet() {
    console.log("Hello, " + name + "!");

// Hello, Saint Petersburg!

function greet(name) {
    return "Hello, " + name + "!";

greet("Saint Petersburg");
// Hello, Saint Petersburg!

Why functional programming?
- more predictable, safer
- easier to test/debug
  all you need to do to test pure functions is to pass in the input and check if it gives the right thing

makes you look/feel smart
is THE BEST paradigm

Why functional JavaScript?
- object-oriented JS gets tricky
  (prototypes? this?!?)
- established community/tools
- reuse functions like Lego blocks between different projects



Popular posts from this blog

How to scale a website-My Approach