4 ms·
Lovely article, when discussing streaming and downloading, we should ignore the transport, it's not relevant to the definition. Downloading is a superset of st
by dusted 1y ago
Lovely article, when discussing streaming and downloading, we should ignore the transport, it's not relevant to the definition.
Downloading is a superset of streaming.
Low-level streaming is the process of transferring data, between CPU and RAM, between RAM, controller and mass storage device, between machines connected to the internet.. The data is streamed, it's sent serially, it's a stream of data.. (the width of the lake does not matter, if the entire thing does not arrive at once, it's streaming).
Low-level loading is the process of loading something down to a computer, meaning, something is loaded, if it's loaded, it's stored _SOMEWHERE_, it could be stored simply in RAM (the LOAD instructions in the cpu place a value into a storage location, a high-level use of the word could be LOAD command in BASIC which streams data from somewhere into some location in RAM for medium-term usage).
When you're viewing a video without saving it to file, we call it streaming, it fits the metaphor, even if _chunks_ of the video are DOWNLOADED into temporary storage, the entire video is not (intentionally at least, but if it's small it might be) stored as a whole before being presented, so from a high-level perspective, the video is streamed. If the data is not persisted, it's streamed.
High-level use of the word streaming fits the low-level metaphor, the process is: Stream data from content provider to client, client loads enough data to start presenting, client presents loaded data while new data is streaming into it, that data is immediately loaded in buffers, after data has been presented, it is discarded.
Downloading is a different word from loading, but it historically fits the metaphor, when a computer requests data from another computer, it pulls the data "down" from the other computer (as opposed to "up" from mass storage), and into some medium-term storage location, often RAM (when you browse a website your browser downloads the data into memory, the medium means it can't automatically discard after presenting, because it does not know when presentation is done, it may even cache some of the data it downloaded on mass storage).
The newer use of download is a slight misnomer, but only slight, the intention is to keep the file for long-term use, so it is streamed into memory buffers before being saved to disk.. "Saving" would be a more appropriate term, the distinction where it is saved FROM is not as important anymore as people used to think.
tldr:
Low-level streaming: Transfer data sequentially.
High-level streaming: Transfer data sequentially, present as needed, reclaim storage.
Downloading: low-level streaming into long-term storage.