Even programming languages are written to enhance the ability of the person writing the code to create and support the program, and a goal of most modern languages is to be hardware agnostic. One of t...Even programming languages are written to enhance the ability of the person writing the code to create and support the program, and a goal of most modern languages is to be hardware agnostic. One of the goals of a computer science education is to strip away these abstraction and make the workings of the computing machine clear. It does not rely on the ability to abstract behavior, instead giving the ability to specify exactly how the hardware is to work to the programmer.