From Functional to Reactive Programming

GIDS’17 Conference

As an attendee, I’m very much happy and I have gained some knowledge from GIDS 2017, and I would like to share the insights which I gained out of this conference.

I wish to share about the session “From Functional to Reactive Programming” given by Dr. Venkat Subramaniam, he is an excellent speaker, the session was very interesting and more interactive, the way he explained the concepts was really awesome.

From Functional to Reactive Programming:

What is Reactive Programming?

full-reactive

Reactive Programming is an asynchronous programming paradigm oriented around data streams and the propagation of change. This means that it should be possible to express static or dynamic data streams with ease in the programming languages used, and that the underlying execution model will automatically propagate the changes through the data flow.

Mostly as a software developer, we are writing code for quick solutions. But that code is not responsive and feasible even though it gives solution for that problem. In Reactive programming, it simplifies the codes and gives feasible and highly responsible solutions.

Imperative to Functional Style:

1-AM83LP9sGGjIul3c5hIsWg

Imperative, every programmer knows this style and most of the institutions teach this style, programmers gain significant experience with its style. But using functional style, we can avoid writing lot of code inside the function for simple calculations.

In this example, we are finding the first even number which is greater than 3 and doubling it. This is imperative style that too very complex. The same example in functional style,

Its clear, concise and readable code, and lets you focus on solving the problem rather than the required procedure.

Function composition:

composition-of-functions (1)

Function compositions means create a simple and reusable functions that we can combine to compose new function. In the about example we created small functions like isGreaterThan3() for finding number that is greater than three, isEven() for finding whether the number is even or not and doubleIt() for doubling the number. Then finally we have combined these functions to get the result.

Lazy Evaluations:

lazy (1)

Lazy evaluation is the program will not evaluate the expression until just-in -time when its value is needed. If the value is not needed during the execution of the program, the evaluation of the expression will be skipped.

In the above example the program will not evaluate the expression until we calling the findFirst() function. This function only triggering the program to filter isGreaterThan3() function, isEven() function and doubleIt() function.

Benefits of lazy evaluation:

The ability to define control flow

The ability to define potentially infinite data structures

Increase performance by avoiding needless calculations

Functional Reactive Programming:

Reactive programming also called functional reactive programming because it applies functions like lambdas and closures in a reactive manner asynchronous sequence of data. Reactive programming paradigm stays responsive in the face of failure, more responsive and responds in timely manner. An example of the reactive systems is Google Spreadsheet. The library Rx-Java used for reactive + functional programming in java 8.

Thanks to Dr.Venkat Subramaniam,  is an award-winning author, founder of Agile Developer, Inc., and an adjunct faculty at the University of Houston.

GIDS 2017

Mr. S. Sheik Mohamed

Ramarson Technology Developers LLP, Trichy, Tamilnadu, India.

Great Indian Developer Summit (GIDS) 2017 at Bangalore.

 

GIDS is one of the best developer summit in India, it’s an excellent opportunity to upgrade our knowledge to the current  Market requirements, speakers from all over the world shared  their knowledge and current trends in the IT industry. There are lots of delegates participated in that event, they talks about 10 important technologies to change the developers landscape, which is a highlight in the GIDS 2017. The speaker Mr. Arun Gupta – vice president of developer advocacy at couchbase explains the technologies and concepts very interestingly to the audience. He gave the summery about Containers, Micro services, CI & CD, DevOps, IoT, Server less, Virtual & Augmented reality, AI & Machine learning, Block chain, ChatOps, he explained  the overview of these  technologies and how they lead in the technology world in few years  to the developers concerns and how they change the developers activities and so on.

MachineLearning

Docker

The interesting thing was about the containerization concepts, because the deployment is really painful when we are building the large scale application and deploy into the customer side. The developers are facing so much of problem while fixing it in the customer side, so the containers will overcome those problems and make a smooth deployment in the customer side. Now a day the containers play a vital role and great feature for the developers to make the life easier. Followed by a lot of speaker explains the trends and technologies about cloud platform from Amazon, Google, etc., they talks about how the cloud is playing the important role in the current industry and 12 factors to cloud success and how Docker image is important and what benefits its bring out from kubernetes in the deployment also interesting in the GIDS.

Now a days IoT is one of the hot topics in the industry, people are moving towards more and more to automate the things to reduce the human efforts. I gained some clear picture about how the systems are connected each other and how they  are talking thru the cloud platform, little things about UPnP protocols in the Internet Of Things, how its evolving in the technologies are very interesting.

Print

IoTWithCloud

Mr. Venkat Subramaniam, founder of agile developer explains the Functional to Reactive programming techniques.  He performed a coding  session about concepts like Functional compositions, Lazy evaluation, immutability, declarative programming vs Imperative programming, it  really grabbed  the attention of developer, and got good understating about why the reactive programming is important to the developers, how its changing their life, how do we become a smart programmers in the software development and so on.

Finally, GIDS 2017 was really very interesting event I attended this month and it brings a lot to know for the software developers to become a smart developer in the world!!!