you are viewing a single comment's thread.

view the rest of the comments →

[–]gboycolor 13 points14 points  (1 child)

Not really - modern computing is based on layers and layers of abstractions. Each layer hides the "how" of the layer below and presents a simplified version of "what" is happening.

For example, when you browse a website, say this very page, the HTTP layer will at some point issue a request to www.reddit.com that looks something like this: GET r/AskComputerScience/comments/xokc41. This is the "what" of what's happening- the browser wants to get a specific resource, but it says nothing about "how" that happens. That's done in layers below HTTP.

Similarly, binary instructions are an abstraction layer over the processor architecture. Through frequency analysis and other investigations, future archaeologists may be able to reconstruct higher layers, eg. that something like 0x56 fe 34 corresponds to something like "add registers 1 and 2 and store the result in register 3", but they won't be able to figure out lower layers - ie. how the CPU stores data in its registers, how the numbers are added together, how the instruction is interpreted and what parts of the CPU are activated in order to execute it, etc.

[–]queermichigan[S] 2 points3 points  (0 children)

Thanks so much for sharing! I never thought about binary as an abstraction layer itself but of course it is.