# Introduction To Programming Language

## Introduction

Programming can be a little tricky for a beginner without a mentor. There are tons of programming languages out there, and for beginners, this can be overwhelming. The first hurdle to overcome as a newbie is to know the right language to learn first.

Understanding the basic concepts behind programming languages can help beginners make the right decision on what Programming language to learn first. In this article, you'll be introduced to programming languages and its types.

## What Is A Programming Language?

Programming languages are just like human languages. Human languages are meant for communication. We use these languages to communicate with ourselves. To be able to commune with a German, one needs to know how to speak German or find a translator/interpreter. The same thing is applicable to programming. Programming languages are the language computer understands. Humans use programming languages to communicate with computers. Naturally, computers are dummies, they can't do anything until instructed, hence, programmers use programming languages such as C, Python, JavaScript etc to instruct and communicate their ideas to the computer.

## Types of Programming Language

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1678757102859/fda05f04-91c5-4018-ab32-fcac76f22c4d.jpeg align="center")

There are three types of programming Language i.e Low-Level Language, Mid-Level Language and High Level Language.

### Low-Level Language(LLL)

The term "low" here does not mean the Language is less important. It simply means "closest". Low-level language is considered to be closer to computer. It gives programmers more access to the computer memory. It's the type of Programming Language that contains basic instructions recognized by a computer.

Low-level language is often cryptic and not readable to humans because it's written in 0s and 1s. Two popular low-level programming languages are ***assembly language*** and ***machine language.***

***Machine language:*** Machine language is considered the lowest level of all computer languages. It's known as the native computer language because computers only read & understand machine instructions in binary digits (zeros & ones). All other programming languages i.e c, python, java etc are converted to machine language (0s and 1s) before the computer can read them. Here are other points to note about ML:

1. Distinct processor architecture requires different machine codes(not portable).
    
2. It's error-prone due to its complicity.
    
3. Machine language is executable without a translator or interpreter.
    

***Assembly Language:*** Also known as *ASM,* assembly language is a language designed to directly communicate with computer hardware. But unlike machine language which is totally cryptic, ASM is more readable. It was designed to make life easier for programmers and make codes readable to humans. It includes commands such as ADD(add), SUB (subtract), and MOV (move). Commands like this are used to move values into memory and to perform other basic operations in assembly language.

1. Assembler translators are needed to translate ASM into machine language since computers can only read machine instructions.
    
2. It has a lack of portability of programs between different computer architecture
    
3. Assembly language makes use of Mnemonic Code.
    
4. It is machine-dependent.
    

### Mid-Level Language(MLL)

This serves as a bridge between Low-level and High-Level languages. MLL has both features of Low-level and High-level languages. A good example of a mid-level program is C Program. C is a general-purpose programming language that is used to develop the operating system, databases etc. C also gives the programmer access to the computer memory. C is considered to be the base of programming due to its multipurpose nature. Other examples of mid-level programming languages are Java, C++ and C#.

1. It binds the gap between low-level languages and high-level language
    
2. It's portable. It can run on multiple operating systems.
    
3. A user can use this language to do operating system programming (for writing operating systems) as well as application programming.
    

### High-Level Language(HLL)

A high-level language is user-friendly. HLL was developed to make programmers develop programs with more ease and in the shortest possible time. HLLs are designed to be readable even to non-programmers(most especially python). High-level languages use command words and Syntax which reflects the everyday language, which makes them easier to learn and use. High-level languages also offer the programmer development tools such as libraries and built-in functions. Most HLLs are also beginners friendly, especially Python.

1. It is used widely for programming.
    
2. Debugging is easy.
    
3. It can run on any platform.
    
4. It needs a compiler or interpreter for translation.
    

## Conclusion

Understanding what programming language is can help give a beginner an overview of what to expect and how to make an informed decision on the right language to start with.

Don't forget to leave a like or comment. Thank you for your time!
