The time of Object Oriented Programming (OOP) ruling the landscape seems to be coming to an end and although a lot of the alternatives are not exactly new they do offer some paradigms which were missing and at the very least encourage a little more flexibility within the development space.