Higher level and lower level languages?

High level language

Low level languages low level programming language
types of computer languages

A high-level programming language is characterized by expressing algorithms in a way appropriate to human cognitive ability , rather than the ability of machines to execute them. These languages allow maximum flexibility to the programmer when it comes to abstracting or being literal. They allow a two-way path between the machine language and an almost oral expression between the writing of the program and its subsequent compilation. They are usually object-oriented , event -oriented, or function- oriented, and these can be combined. Likewise, they can be compiled or interpreted . low level programming language examples low level programming language examples low level languages examples 

Some examples are : Java , PHP , Python , Java script , C# .

In the first languages, the limitation was that they were oriented to a specific area and their instructions required a predefined syntax. They are classified as procedural languages or low-level languages . Another limitation of these is that certain programming knowledge is required to carry out the sequences of logical instructions. High-level languages were created so that the common user could solve a data processing problem in an easier and faster way. high level language 


For this reason, at the end of the 1950s , a new type of programming language emerged that avoided these drawbacks, at the cost of giving up some of the advantages. These languages are called third-generation or high-level languages , as opposed to low-level or near-machine level .  high level language 

List of some popular higher-level languages


Advantages and disadvantages

Advantages high level language 

  • It generates a simpler and more understandable code.
  • Write valid code for various machines or operating systems.
  • Allows the use of programming paradigms . high level language 
  • It allows you to create complex programs in relatively fewer lines of code.

Disadvantages high level language 

low level programming language examples
low level programming language examples
    • Speed ​​reduction by handing over low-level work to the machine.
    • Some require the client machine to have a certain platform. high level language 

Low level language

Low-level languages ​​such as assembly language can be more difficult to program than high-level languages ​​because they are more closely related to the technical characteristics of the hardware. In addition, these usually lack higher-level abstractions. An abstraction outside of what is stipulated for the set of microcodes of a computer ‘s microprocessor is not possible. On the other hand, it is more easily translatable into machine language , a task that is essentially performed by a compiler . low level programming language examples 

Evolution of Programming Languages
Evolution of Programming Languages

From the lowest to the highest level of abstraction with respect to hardware, it is possible to classify programming languages ​​as follows: low level languages examples 

  1. Machine language : It is made up of the ones (1) and zeros (0) that will be executed directly by the central processing unit (CPU). When viewing this language in a plain text editor it will appear meaningless (garbage characters). Many of them will be non-printable characters. These zeros and ones literally represent instructions and data to be processed.
  2. Assembly languages (in English assembler ): Also called mnemonic or mnemonic, they are a first level of abstraction. They are no longer directly executable programs by the computer, but human-intelligible source code texts that need some tool (essentially a compiler ) for their translation into machine language that the CPU can execute. Their instructions are usually an abbreviation for the machine instruction they symbolize, and have a nearly direct (one-to-one) correspondence to the machine instructions they represent. The resulting code from the assembly language compilation generates executable binary machine code.
    They are instructions that assemble the groups of switches necessary to express a minimum arithmetic logic. They are intimately linked to the hardware. Some of these instructions can be, for example MO, to move data from one place to another, or ADD to add two values. As a general rule, they are available at the firmware, cmos or chip set level. These languages ​​are process-oriented. Processes are made up of tasks. They contain as many instructions as the hardware architecture has been designed for. The CISC architecture contains many more instructions at this level than the RISC . low level programming language examples

    • For example: Assembler x86 , JMP and MULT.
    The other languages ​​that complete the classification would no longer be low-level languages. low level languages examples 
  3. Middle-level languages : They are those that, based on the available instruction sets (chip set), allow the use of functions at the arithmetic level, but at the logical level they depend on literals in assembly. These languages ​​are procedure oriented. Procedures are made up of processes.
    • Examples: C, Basic. Higher level but still considerable mid-level: C++ , Fortran , Cobol , Lisp. and java


Machine interaction low level languages examples 

In this type of language, work is done at the instruction level, that is, its programming is down to the finest detail, and it is also completely machine-oriented.

  • Adaptation – Maximum between programming and use of the machine’s resource.
  • Speed ​​- Maximum by having direct access to resources, without intermediate layers.
  • Portability – Minimal because it is restricted to the manufacturer’s specifications.
  • Abstraction – Minimal because it completely depends on the hardware technique.
  • Usage – Requires maximum attention and a structured organization based on the hardware blueprints and the software objective.
  • isomorphism – Conceptualization of information data, which will complement each other.

First generation high level language 

The first generation programming language (for its acronym in English: 1GL ), is the machine code language . It is the only language that a microprocessor understands natively. Machine language, as it consists of ones and zeros, is difficult to read and has a high probability of being mistaken when entering it, therefore it is rare for a person to use it directly.

Instructions in machine language consist of one or two instruction memories, and other memories with data (see article addressing modes ) high level language 

Example, an instruction in machine language according to the Z80 microprocessor
memory index Binary hexadecimal Meaning
0 10000111 87 Add whatever is in the following memory to the accumulator memory
1 01110111 77 Fact. Number 119 in decimal and 77 in hexadecimal.

Second generation high level language 

The second generation programming language (for its acronym in English: 2GL ), is the assembly language . The advance with respect to the previous one is that instead of plain ones and zeros, there are mnemonics already written as a text, and visible data next to the mnemonic. This requires a program that translates the mnemonics into machine language. high level language 

An assembly language programmer must know the architecture of the processor (such as the particulars of its registers or its instruction set ). high level language  

Leave a Reply

Your email address will not be published.

Back to top button