Computer are a reasonable mix of software and hardware. Hardware is simply a piece of mechanical device and its functions are being monetarized by a compatible software. Hardware recognizes instructions in the form of electronic charge, which is the counterpart of binary language in software in software programming. Binary language has only two alphabets, 0 and 1. To instruct, the hardware codes must be written in binary format, which is simply a sequence of 1s and 0s. It would be a challenging and cumbersome task for computer programmers to write such codes, which is why we have compilers to write such codes.