Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

Functional Programming

D

Deleted member 205

Guest
So, Functional Programming...Where to begin....

So, Functional Programming is a Programming-Paradigm( ), in which Software-Development is done primarily using Functions and Data. It relies on Expressions and for the Programmer to declare everything rather than using Statements. Primarily, it's focused on Mathematics(Which is an important Skill in Computer Science).

Functional-Languages can either be Multi-Paradigm or Pure. Multi-Paradigm meaning that it doesn't need to be Functional only, it can also be OO(Object-Oriented) or Procedural. Pure means that everything is done Functionally.

Some Functional-Languages include Lisp(Not a Pure Functional-Language according to Wikipedia), Haskell(Pure Functional-Language), F#(Not a Pure Functional-Language) and Elm(Pure Functional-Language).

In general, it's hard to explain what Functional Programming is as I doubt a single person here on CF currently knows it. I may be wrong though. Another thing, is that Functional Programming has a steeper learning-curve, compared to that of Procedural or Object-Oriented Languages. Because of this, Functional Programming may be quite difficult to someone who doesn't have/barely has Programming-Experience or struggles to focus on learning something.

If you know any Functional-Languages, then feel free to say what Functional-Languages that you do know, what you use them for(So what do you develop with it?) and if you like Functional Programming.

I myself, do not know a single thing about Functional-Programming. I do not know how it works, what it does, what it's used for and how you'd use it. But, I am quite interested in learning it.

Here's some examples from different Functional-Languages:

Haskell
Screen+Shot+2014-08-10+at+7.39.27+PM.png

U83Iz.png


Lisp
climacs.png


Clojure
BwO5EgvIgAAQCAh.png
 
I know fundamentals of functional programming and I have followed FP principles in my work using JavaScript. I use it to divide my code in small functions which makes it easy to test and maintain.

Functions are first-class citizens in JavaScript and the language is fully optimized for FP paradigm. I feel that FP is a great way to break our entire program into small, independent chunks which ultimately helps in keeping the code modular and reusable.

Thinking of a program functionally is way different than doing the same procedurally, that's why FP is a bit hard for new coders to grasp. Even experienced coders who are accustomed to OOP might find it a bit difficult.
 
Back
Top Bottom