Programming Languages

imperative programming languages

  • dictates orders
  • stores a lot of state

Pros

  • great performance in single core computers

Cons

  • needs complicated multi-thread sync mechanisms which may slow it down
  • can’t scale horizontally in different CPUs

functional programming languages

Now two things have happened simultaneously – one is that increasing CPU clock-rate has its limits, so the hardware industry is going towards the multiple core business, and two is that as networks become faster and with higher availability cloud computing has given the rise and it presents us with new challenges of massive amounts of data and massive amounts of users. With these two in place and with the realization that it’s very hard to utilize imperative languages for writing parallel programs the software industry has started its shift towards functional languages. *1

Reference