I see lists and sets as variables because that is what they are. There will be differences in computations needed as you understand there is a difference between a list and set.
But it ends going back to the link below. Assembly is converted to machine code. A higher level language is converted often to assembly and then to machine code.
If you can program in assembly you could if you wanted interpret or read machine code. Which is a file of bytes displayed in hexadecimal for convenience made up if CPU ibstructions stored in ROM and data that is defined to vary stored in RAM. Likewise you can understand the cpu architecture if you learn assembly. likewise you can envision how a higher level language can be converted to assembly and machine code. You can understand how pointers work. In any case, No matter how abstract, the CPU runs on machine code. The same output can be achieved no matter the configutation of the bytes that make up thus machine code, just in the same way a computer program can be written ten different ways by ten different people that all perform the same function. Same logic achieved by different computations if you will. To avoid rambling furthur, There is a finite set of instructions that a CPU can perform dictated by its instruction set.
An interesting analogy if not a sidenote is that older CPUs such as a 6502 did not have a multiply or divide instruction. They were achieved by repeated addition and repeated subtraction respectively. Then you realise that CPUs that offered the luxury of having a multiply or divide instruction still did so by adding or subtracting repeatedly.
https://en.m.wikipedia.org/wiki/Machine_code
Last edited by MacOneDouble; 06-24-2021 at 05:47 AM.