My hobby C++ coding nowadays only uses modules.
For portable code, I imagine at least 5 years more, given experience with previous C++ standards.
The main issue is that humans suck at defining module boundaries and managing dependencies.
Files are simple.
Thus microservices, nothing like putting process boundaries into what humans fail to learn to do properly, even better with a network in the middle.
My hobby C++ coding nowadays only uses modules.
For portable code, I imagine at least 5 years more, given experience with previous C++ standards.