Programming Language
Tags: codenewbie, beginners, coding, python
Published: 2024-04-15 23:57:51

## Audiences 
I am writing this series for a total beginner. If you are just starting your coding journey or you are about to start, this series is for you. 

## Programming Language

[Programming languages](https://en.m.wikipedia.org/wiki/Programming_language) are special ways of communicating with computers. **Codes** are rules for communicating in a particular manner. Professionals in computers, called **programmers**, design codes to make it possible for humans to give computer instructions.

**Computer Programming** or **programming** in short, is the act of using codes to give computer instructions.

Professionals who give the computer instructions through codes are called **programmers**.

The word **coding** can be used interchangeably with **programming**. **[Coding](https://en.m.wikipedia.org/wiki/Computer_programming)** can be defined as the act of using specially designed rules to give computer instructions.

A **[program] (https://en.m.wikipedia.org/wiki/Computer program)** is a list of instructions given to the computer to perform a task.

Examples of programming languages include JavaScript, Java, [Python] (https://python.org), and Ruby. [Javascript] (https://developer.mozilla.org/en-US/docs/Web/JavaScript) , Java, Python, and Ruby are not the only programming languages that we have. In fact, we cannot count the number of programming languages currently available.

### Types of Programming Languages

We have two main types of programming language:
  + low-level languages
  + high-level languages

#### Low-Level Languages

There are just two types of low-level languages:
  + machine codes
  + assembly language

**Machine codes** Machine codes are the programming language that the computer understands directly. Computer manufacturers design machine code for their brands of computer, usually in binary numbers. Using binary numbers as the language of the computer makes the computer run fast.

**Assembly language** Assembly languages are programming languages that use abbreviations (**mnemonics**), corresponding to machine codes. Assembly languages are designed to make it easier for programmers to code without having to memorize machine codes.

#### High-Level Languages

High-level languages are programming languages that look and feel more like natural languages. High-level languages are easier to work with because they give programmers the ability to write code in a natural way. Examples of high-level programming languages are Python, JavaScript, Java, Rust, and Google Go.

### Language Translators

[Language translators](https://codescracker.com/computer-fundamental/computer-language-translators-with-types.htm) are software that converts codes in one programming language to another programming language. Examples of language translators include the Rust compiler, which compiles (converts from one language to another) the Rust programming language to machine code, the Python interpreter, which interprets the Python programming language, etc.

#### Types of Language Translators

We have four types of language translators:
  + assemblers
  + compilers
  + transpilers
  + interpreters

**Assemblers** are programs that convert codes written in assembly language to machine code. Examples include Gnu Gas, Microsoft Macro Assembler, Netwide Assembler, etc.

**Compilers** are programs that convert codes written in high-level languages to machine code. Examples of compilers include the Rust compiler, GCC compiler, Clang compiler, etc.

**Transpilers** are programs that convert codes from one high-level language to another high-level language. Examples include the Typescript compiler, Dart2js compiler, and CoffeeScript compiler.

**Interpreters** are programs that convert and run codes written in high-level languages directly. Apart from translating the codes, interpreters also manage the running of the translated codes. Examples of interpreters include Python interpreter, Ruby interpreter, Google V8, Mozilla Spidermonkey, etc.

In conclusion programming or coding is the process of creating software to solve problems. You need to code to create any type of software, be it web app, desktop app, mobile app or game.

Professionals have written a lot on [benefits of coding](https://digitalskillsglobal.com/blog/10-reasons-why-coding-skills-are-vital-for-organisations-worldwide) , so I will not dive into the benefits but you can read some [here] (https://www.indeed.com/career-advice/career-development/why-you-should-learn-programming) if you want to.

Now answer the questions below before viewing the next article in the series;
  + What is programming?
  + What are programming language. 
  + List and explain the 5 types of language translators. 
  + List and explain the two main branches of programming language. 
  + Give one difference between compiler and interpreter.

Submit your answers through the comment.