Good point, languages like JavaScript support both imperative AND declarative&#x2F;functional styles. A language that lets you do both covers more use cases than a language that only does one. With a multi-paradigm language like JS, companies can choose what approach they want to use (and to what extent) and enforce it via a programming styleguide. With JavaScript, you could even run a linter over your code to strictly enforce your own FP rules.<p>There is no doubt that FP has taken over JavaScript - All new popular frameworks including Angular, Polymer and React are declarative&#x2F;functional with the exception of a few minor (but very useful) imperative concepts (e.g. these frameworks do encourage you to keep &#x27;state&#x27; inside models).<p>FP is awesome but 100% pure FP is just not practical - When building real-life systems, ultimately, you need to keep stack of state somewhere - Be in in the database or inside a model in your code.