"Some decades ago, the C language, and similar languages, was most often considered high-level, as it supported concepts such as expression evaluation, parameterised recursive functions, and data types and structures, while assembly language was considered low-level." . . . .