&gt; 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.<p>For what&#x27;s it worth, some people refer to Haskell as their favourite imperative language.  And they are only semi-joking: while the library ecosystem is firmly in the camp of functional idioms, imperative programming is Haskell is pretty nice and straightforward---you&#x27;ll just have to tag your code with eg IO or the State Monad.