Machine language, machine code or object code, the only language understood by computers or a computer is capable of understanding. They are entirely made of numbers, so it’s almost impossible for humans to use and understand unless a translation or a preliminary conversion.

Machine code may be regarded as a primitive programming language or as the lowest-level representation of a compiled and/or assembled computer program.
It is a system of atomic instructions executed directly by a computer's central processing unit. Machine language consist in a collection of binary digits or bits that the computer reads and interprets. Each instruction performs a very specific task, typically either an operation on a unit of data (in a register or in memory), or a jump operation (deciding which instruction executes next, often conditional on the results of a previous instruction). Every executable program is made up of a series of these atomic instructions.
While it is possible to write programs in machine language, because of the tedious difficulty in managing CPU resources, it is rarely done any more, except for situations that require the most extreme optimization.
Almost all executable programs are written in higher level languages, and translated to executable machine code by a compiler and linker. Machine code is sometimes called native code when referring to platform-dependent parts of language features or libraries.
Programs in interpreted languages are not represented by machine code, however, their interpreter (which may be seen as a processor executing the higher level program) often is. Machine code should not be confused with so called "bytecode", which is the code executed by an interpreter.




