The hardware landscape has changed a lot since the conception of the software currently used in HEP.
Indeed, a large scale evolution of hardware's architecture started back in the mid-2000's, with deep rooted consequences in how to write, compose, build and execute software.
We'll start with a quick whirlwind overview of the evolution of hardware and its impact on software. We'll then move to the issues hardware vendors faced in the mid-2000's and what were the solutions to address them. This resulted into new requirements for state-of-the-art software. But our current software is not well equipped to efficiently leverage these new hardware architectures.
Fortunately, the whole IT industry at large has the same issues than HEP (legacy software, volume of software to migrate, architectures and (new) platforms to support, ...) and (some of) the tools or solutions they developed could be applied to the HEP case. We'll review some of them.