Understanding High Level Programming Languages


High level programming languages are a relatively new invention, and are still evolving. When something is new and evolving, it is useful to have a little background about how it all works, so you can understand what is going on as these creations evolve.

That’s what this blog is about. It explains in simple terms how a high level language like C or Java is created and executed. This explanation applies to most modern programming languages. It would be very difficult to give a similar treatment of low level languages like assembly language.

High Level Programming Languages are a type of programming language that can be understood by humans. These languages translate to a lower level language, such as machine code. High Level languages also give programmers the ability to create complex programs with very few lines of code.

High level languages are typically made up of a set of instructions, which tell the computer what action to take. An example of one of these instructions is to multiply the value in two registers together and store the result in a third register. The register values are 8 bit values, so the instruction would have the following format:

MUL R1 R2 R3

where R1, R2 and R3 represent registers 1, 2 and 3 respectively.

The advantage of high level languages is that they allow programmers to focus on the problem instead of having to know how to handle memory management and other low level tasks.

High level programming languages are a way for computer programmers to express their ideas in a way that is easier for humans to read and write. Most high level programming languages are converted from code into machine language by a compiler. Other high level programming languages such as Python and Ruby use interpreters. Compiled code is much faster than interpreted, but interpreted code is more flexible since it’s just-in-time compiled.

The most important difference between high level programming languages and low level programming languages is the amount of abstraction they provide. A low level language is close to the machine and provides little abstraction. It has a small syntax, but the programmer must do a lot of work to use it. An assembly language, for example, is a low level language that has little syntax and requires the programmer to write many lines of code to accomplish simple tasks.

High level programming languages, on the other hand, are very abstract and provide more functionality that programmers can use to write fewer lines of code. Examples of high level programming languages include Python, Java, Ruby and C++. These languages have more complex syntax than assembly language, but they also do much more work for the programmer.

The most obvious difference between high level programming languages and low level programming languages is the number of lines of code required for a task. A simple program requiring 100 lines of assembly code may require only 10 or 20 lines in a high level language such as Python. This makes high level programming languages much easier to use than low level ones.

A high level programming language does not require an understanding of the hardware in order to use it. It is usually more abstract and has a larger set of predefined functions. The code written in one will most likely run on multiple computers. A low level programming language requires knowledge of the hardware in order to write a program, as well as knowledge of the assembly language for that specific CPU. The programs created are usually only able to run on one type of computer.

In C, if you want to use a function from the standard library, you must include it in your program by using

Learning to code is hard. As a seasoned developer, I often get asked by my friends how to learn to code. I usually recommend that they start with a high level programming language. The problem is that there are so many choices out there, and with such little information about what languages are actually used in the industry today.

High-level programming languages, while simple compared to human languages, are more complex than the languages the computer actually understands, called machine languages. Each different type of CPU has its own machine language.

Programs must be written for people to read, and only incidentally for machines to execute.

–Abelson & Sussman, Structure and Interpretation of Computer Programs

Machine language consists of numbers. The number is called an address and it corresponds to a specific storage location in the computer’s memory. Thus, when you give a command like 32 + 213, you are telling the computer to go find the number stored in location 32 and add it to the number stored in location 213. Machine language is extremely difficult to read and understand by humans. It is also difficult to write programs using machine language because it requires memorizing all the different commands that the CPU can understand (addition, subtraction, multiplication, division, etc.).

This is where assembly language steps in. Assembly language uses a mnemonic to represent each low-level machine instruction or opcode, typically also each architectural register, flag, etc. Most assembly languages are designed to be easily translated into machine code by a utility program referred to as an assembler like NASM or MASM


Leave a Reply

Your email address will not be published.