A low-level language is a type of programming language that contains basic instructions recognized by a computer. Unlike high-level languages used by software developers, low-level code is often cryptic and not human-readable. Two common types of low-level programming languages are assembly language and machine language.
Software programs and scripts are written in high-level languages, like C#, Swift, and PHP. A software developer can create and edit source code in a high-level language using a programming IDE or even a basic text editor. However, the code is not recognized directly by the CPU. Instead, it must be compiled into a low-level language.
Assembly language is one step closer to a high-level language than machine language. It includes commands such as MOV (move), ADD (add), and SUB (subtract). These commands perform basic operations, such as moving values into memory registers and performing calculations. Assembly language can be converted to the machine language using an assembler.
Machine language, or machine code, is the lowest level of computer languages. It contains binary code, often generated by compiling high-level source code for a specific processor. Most developers never need to edit or even look at machine code. Only programmers who build software compilers and operating systems need to view machine language.