As hardware keeps becoming massively parallel and as modern software development methodologies like Agile keep maturing, programming languages and their runtime environments are attracting unprecedented focus. Programming languages are expected to act as brokers between the solutions to business problems and the hardware environments where these solutions are realised. The one programming paradigm that has been receiving a lot of oxygen in the recent past is that of Functional Programming. In fact, Java’s introduction of lambdas offers quite a significant hint about the times to come.
Functional programming is good old concept. Functional programming languages have existed for around six decades now. It is important to appreciate why functional programming is picking up steam in the current times. Functional languages offer programmers a plethora of features that making programming a very pleasurable experience. What makes the functional paradigm so different from the imperative paradigm? Why is functional programming getting lucrative today? We intend to present a study of popular functional languages – their history, their hallmark features, the state-of-the-art features and where the functional paradigm, as a whole, is poised to go. We also intend to do some live-coding in languages purely functional languages to elucidate certain characteristics of functional languages.