This is true, however in most programs, the entities that map directly to stateful entities in the “real world” are in a minority, and the bulk of the program consists of entities that serve the program’s implementation needs.<p>Those can be written in any style we like. For example, in languages like JavaScript and Ruby, if we wish to compose classes out of smaller components, we can imperatively modify classes, or we can write functions that take existing classes and return new classes consisting of the originals composed with whatever additions we desire.<p>What I am trying to say is that while imperative may feel more natural for problems involving state and time, we often perceive that problems require state and time even when they don’t.<p>---<p>I can fully accept the argument that people don’t like FP because they <i>perceive</i> that their problems need imperative solutions. But that is not the exact same argument as “people don’t like FP because their problems involve space and time.&quot;