in programming, abstraction levels are understood as:
high abstraction level instructions (Java, C++, Smalltalk, ...) are :
- easier to understand by human,
- complex, consisting of many simpler instructions of lower-level language,
- more sophisticated, allowing for better performance in coding in certain cases,
- allow to do more with a single simple instruction than low-level programming allows, cutting down software development time & other costs,
low abstraction level instructions (Pascal, C, Assembler, ...) are :
- closer to the machine & hardware; hard to understand by a beginner,
- simpler, less complex, consisting of few or one instruction in machine language,
- allow for hacking & fine-tuning details of performance.
instructions have cost measured in processor cycles they cost to perform them ... they operate on memory and / or processor registers (also form of memory, just very scarce & expensive).
simpler, low-level instructions take little of processor time by themselves.
occassionally it's better to use more sophisticated instruction however, than using too many simpler instructions.
- it's better to use mathematical power function to calculate something than rely or very many additions in loops.