First, what do you think of modules in C++20, please? Are they a great advantage for the new version of cpp?
And why are they called physical in cpp, please?
Aren't they cpp files? Then why are they called physical? Code is software which can't be touched like a physical thing.
There's no need to take words so literally. Do you also get confused when CS textbooks talk about "trees" and wonder about the color of their bark?
In computing, "physical" means that something is represented directly on some level of abstraction, while "logical" or "virtual" means that the literal or physical representation takes on a new meaning when the level of abstraction is raised by one. For example, a file might have a physical size of a million bytes, but if it's a sparse file the OS may add a level of abstraction and interpret these bytes as belonging to a virtual file a million times larger. However, both of those representations are virtual, because the file only exists virtually as an object in the file system. Without the metadata provided by the file system the file can't be reconstructed from the magnetic contents of the disk.
Thank you.
And your opinion about the C++20 modules, please?
I know that there're many pages on the Web talking about it supposedly, but I like to hear from you. And I like to dedicate time to learn them if they're worth learning, but if they're something like a preview that may or may not turn up in real usage in near future in cpp practically, so I cross it out on my list for the time being.
Stroustrup has said: "The effects on maintainability and compile-time performance can be spectacular".