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