Introduction to Programming

Before diving in the world of Programs and Programmings and before learning our first Programming Language there are few things that everyone should know.

What is Program?

A program is a set of instructions that tells the computer(Central Processing Unit) what to do. Since CPU can't perform any task at its own. Hence set of instructions are provided to CPU in the form of programs to perform specific tasks.
CPUexecutable code program

Source code:

Human readable format of a program is called its Source code. We can modify the source code any number of times.


Binary format or machine readable format of any program is called as its Executable. They are the compiled format of source code and are generally in binary format. We cannot modify the executable of any program.
Source code Executable code
Source code Executable

What is Programming?

Programming can be described as the process of writing an algorithm in a sequence of computer language instructions or we may simply say, the process of writing or editing any program. This may seems surprising that programming are in practice from the days when there were no concepts of computer, and the first programmer of the world was Ada Lovelace.

What is Programming Language?

Programming language is a language that provides a medium of communication between computer and human. They provide a way through which humans can interact with the computer with the help of programs. Programming language are often used for writing Programs. Some of popular programming languages are: C, C++, Java, C#, PHP, Javascript, Python, Ruby etc.
Categorization of programming language:

Low Level Language(LLL)High Level Language(HLL)
Low level languages are programming languages that are directly understood by the computer or requires less interpretation. Or we may say programming language that provides little or no abstraction. Under this category falls

Machine language and Assembly language.

Low level languages are easily understood by computers but are hard to figure out by humans.

Processing of any low level languages is much faster than High level languages.


High level languages are programming languages that are easily understood by humans and are mostly written in English like statements. Or we may say programming languages with strong abstraction.

High level languages requires translation into machine language or low level language hence requires compilers, interpreters to accomplish this translation job.
Processing of any high level language takes more time compared to low level language because of time elapsed in converting high level instructions into low level instructions.


C, C++, Java, C# etc.


Compilers are the software program that translates or converts the source code into specific machine code. Compilers also checks for syntax errors and ensures proper grammar of the source code. They may or may not convert the source code into an intermediate code called

Object code

Full program is compiled at once and on any error compilation process fails.
Compilation process in C
Compilation process


Interpreter are the software programs that directly executes instructions written in programming language line by line. They need not any prior compilation of the whole program instead they compile each line when they are about to execute. If any line is encountered with error then the whole process is terminated and execution of program stops.

Read next tutorial Introduction to Programming - Tokens
Happy coding ;)