abstraction assembly language bytecode cobol central processing unit compiled language interpreted language konrad zuse low-level programming language machine code microcontroller microprocessor natural language object porting programming language thread usability very high-level programming language virtual machine wikiwikiweb