It doesn't matter what manufacturer the program is vs the manufacturer of the hardware. When files are read they are read through RAM and accessed from there.
The reason for this behavior is because RAM is so much faster than a direct read from the device. If data is only read once, reading it directly from the device would be faster, but as soon as one small fraction of all the data is being read twice, RAM already outperforms. For that reason, it is a calculated action to always read through RAM.
However, drivers can access a device directly, and for certain actions, this is how it is being done, such as format etc. But then we are no longer talking about reading from the drive.
So long answer short, it has been designed to be read through RAM so caching cane speed up tremendously.
EDIT:
But... is it possible for a programmer to program it so that the file is directly read from the device, skipping RAM all together? Yes, if they program the driver part too and access the device on a hardware level. This, however, is a very difficult task to do, and in order to make it actually faster than what the system already offers is so hard (prone to bugs, crashes, etc) that its just not worth the trouble, and for that reason, its not being done.