JSFoo 2017

JSFoo is a conference about JavaScript and everything related.

Up next

Declarative programming: Why and how to write functional code using ES6


Nikhil Khullar


The talk is aimed at highlighting the differences between procedural and imperative paradigms in general, and Object Oriented Javascript and functional Javascript, in particular. The intent is to present a transition, not only in terms of syntax but the entire thought-process behind writing functional code using examples and live demo from basic Javascript, and then React, Redux and GraphQL. The audience will get to see how testability improves a great deal with pure functions, again with comparisons from codes solving the same problem written using both the paradigms. I intend to wrap it up by showing what functional programming is NOT and when both or either is suitable for particular categories of applications.


I intend to start with the language agnostic difference between procedural and imperative paradigms. Then, I will present how Javascript, specifically ES6, makes it a breeze to write code using either, and why the community is drifting towards the likes of Folktale, Ramda in React, Redux projects. I will be presenting the thought process of an engineer when attempting to solve a problem, and show live examples to solve the same using both OOP and functional programming, so that the audience can clearly see the difference for themselves, and feel empowered to make an informed choice of one over the other for their particular use case.


It would be ideal if participants bring a basic familiarity with Javascript, ES6 would be a plus. As far as imperative paradigm or functional programming goes, the talk aims to target developers who are absolute beginners in this domain and does not assume any prior knowledge.

Speaker bio

I am a full-stack web application developer, currently working as senior consultant for Livenation Ticketmaster, Hollywood CA. Having started my journey as a developer in 2009 and worked across the globe with teams of varying sizes and wearing different hats, I have closely witnessed the immense evolution in the way web apps are developed and perceived over the last seven years or so. I grew up as a practitioner of the object-oriented paradigm, until the dawn of ReactJS and Redux, which introduced me to the paradigm of “what” versus “how”, and well, I have never looked back ever since. I feel that after overcoming a lot of hurdles, I have finally managed to embrace the functional way in my profession, and everyday with ES6 ever since has indeed become a thoroughly fulfilling experience.