High-level language — Python, Java, C++. Abstract, portable, easier to write. Translated by compiler/interpreter.
Assembly language — uses mnemonics (LDA, STA, ADD). One-to-one with machine code. CPU-specific. Translated by assembler.
Machine code — binary (0s and 1s). Only language the CPU understands. Extremely difficult to write directly.