functional programing

Scala Cats - Functors

Diving into Scala Cats – Monoids

Reading Time: 2 minutes Today we are going to deep dive into the Scala Cats again to find out about Monoids. If you haven’t already read my post about Diving into Scala Cats – Semigroups I suggest you do so now. What are Monoids? The Monoid extends Semigroup and adds a default or fallback value for the given type. Monoid type class comes with two methods – one is the combine method of Semigroups, Continue Reading

Try with resource enhancements in Java 9

Reading Time: 2 minutes We all have done I/O operations in our code which used to be very troublesome when it comes to always keep in mind closing the resources once the usage has been made. But, when in Java 7, Try-With-Resource was introduced, this limitation was taken care of. Now a user needs not to worry about the open resources. To understand what enhancements have been done in Continue Reading

What’s new with Process API in JAVA 9?

Reading Time: 4 minutes With the introduction of Java 9, various improvements have been made in the Process API. Process API in Java 9 version helps to manage and control operating system processes. In Java 8 and earlier versions, the API lacks some key functionality, which makes handling processes in Java a mess. The limitations of the API often force developers to resort to native code in earlier Java Continue Reading

Java 9: Getting started with Jshell in JAVA 9

Reading Time: 3 minutes Java Shell tool (JShell) has been introduced as a part of JAVA 9. It is a Read-Evaluate-Print Loop (REPL), which evaluates declarations, statements, and expressions as they are entered and immediately shows the results. The tool is run from the command line. In this blog, we will learn about this interactive tool that can be used for learning the Java programming language and prototyping Java Continue Reading

Functional Java: It’s good to be lazy

Reading Time: 5 minutes In Java, we are often tempted towards writing a code which is executed eagerly. There’s a good reason for that – eager code is easy to write and to reason about. But delaying commitments until the last responsible moment is a good agile practice. When executing the code, we can gain performance by being just a little lazy.  In this blog, we will try to Continue Reading

Functional Java: Practicality of programming with immutability

Reading Time: 4 minutes Whenever we have tried to learn about functional programming, these two terms have always gained our attention. The first one is pure functions and the second one is immutability. I have tried to explain what are pure functions in one of my previous blogs.  In this particular blog, we’ll discuss the practicality of programming with immutability. What does immutability mean? The definition that you can Continue Reading

Reactive Java: Understanding Reactive streams

Reading Time: 3 minutes With a lot of buzz in the programming world about “reactive Programming”, a new concept following the same path has been introduced. This is “Reactive streams” backed up by the idea of backpressure. In this blog, we try to understand, what does it mean exactly? What are Reactive Streams? We are here talking about handling streams of data that needs to be handled in an Continue Reading