H is for high- vs. low-level programming languages
For people who work regularly with programming computers, there’s an important distinction between high- and low-level languages. However, it’s not what you’d think. The two terms do not refer to the difficulty of learning the language, or to a language that is better than another. Instead, it refers to the level of abstraction from a computer’s architecture. Low-level programming languages have little or no abstractionyou can guess how much high-level languages have. In simple terms, this means that the terminology of high-level languages will be more familiar to those outside the field of computer science, as the computer code elements have been “abstracted” to be more user-friendly.Just because high-level languages feature variables, arrays, arithmetic and Boolean expressions, loops, and/or functions doesn’t mean that they are smarter or dumber than low-level languages. Low-level languages may require more technical knowledge, and can be run without a compiler, but the difference between the two levels is always shifting. The C language was once considered high-level, with assembly language considered as low-level. Since C lacks a runtime system (software that executes computer programs and often includes high-level commands like type checking, debugging, and code generation), however, it is now considered a low-level language. Assembly language itself is sometimes considered as a higher-level representation of machine code, which is a higher-level representation of microcode. In most cases, these distinctions are too minimal to be easily noticed.High-level languages require some intermediate action to be taken before they can be run. There are three common models for doing this. In the first, the language is simply interpreted and executed line-by-line. The second model compiles the language into an executable formthe language may be compiled into machine code or into an intermediate language, which may then be interpreted or be further compiled. A third option is for the language to be translated into a low-level language with a native code compiler. One of the most popular destination languages is the C programming language.Programming languages can be further categorized by “generation.” The trend with each successive generation is toward a higher-level of abstraction and more statement power. This explains why earlier high-level languages are now considered low-level. The programming language that is most effective for you will depend on your individual skills, and on the particular objectives that you are trying to accomplish.