アセンブリ言語は機械語よりマシとは言え、まだわかりづらい。そこで もっと人間にわかりやすいプログラミング言語が数多く考案された。 アセンブリ言語と違い、これらの言語は機械語の動作と1対1に対応しない。 つまり、3*2 を(乗算器のないCPUで)計算したければ、3を2回足す プログラムを書く必要があるのが機械語やアセンブリ言語なのに対し、 C言語は「*」という複合的な機能が追加されている。
このような、人間にわかりやすく、高機能なプログラミング言後を 「高級言語」という。それに対し、機械語やアセンブリ言語は「低級言語」 という。