What is Programming?
Published: 2020-05-15 07:52:05

Creating products from scratch feels good or in some sense make us feel very proud and confident of ourselves. Which is very important for self-improvement. But how do you create them? What are the things involved? Let's see what is programming?

What is Programming?
--------------------

There are many definitions to this but what I prefer is:

Programming is a way to instruct/tell a computer to perform a specific task/solve a problem.

There are 3 key phrases to look out for:

-   You: Computer will do what you (Programmer) told it to do.
-   Instruct: Instruction is given to the computer in a language that it can understand. We will discuss that below.
-   Problem: At the end of the day computers are tools (Complex). They are there to make out life simpler.

There is a saying

> If you told a computer to fall off a cliff, It definitely would!

That is so true! They will do what they are programmed to do.

What is Programming used for?
-----------------------------

Programming is used in many scenarios. It can be making games, software that solves a particular task, apps that run on your phone, predicting trends or future.

It plays a very important role in the software development process.

What is Computer Programming?
-----------------------------

Computer programming is programming that helps to solve a particular technical task/problem.

Computer programming helps in developing programming languages that are used for solving technical problems.

So, How is Computer programming done?
-------------------------------------

We know that computer programming is giving instruction to the computer to solve tasks/problems.

But

How to convey instruction?

The answer is Programming Languages

Just like us, they have their own language ([Machine Language](https://www.computerhope.com/jargon/m/machlang.htm)) to convey information. Therefore, computers don't understand languages like English, Spanish, etc.

What are Programming Languages?
-------------------------------

According to [Wikipedia](https://en.wikipedia.org/wiki/Programming_language), A programming language is a formal language, which comprises a set of instructions that produce various kinds of output. Programming languages are used in computer programming to implement algorithms.

Types of Programming Languages:
-------------------------------

Programming Language can be categorized into 2 types of language:

1.  High-Level Language
2.  Low-Level Language

### High-Level Language:

High-Level Languages are programming languages like Java, Python, C, C++, etc which helps programmer to write programs which is independent with the type of computer.

The computer with the help of the compiler compiles the High-Level Language into Low-Level Language which the computer can read and run to get the desired output.

#### High-Level Language is divided into 3 parts:

1.  Procedural-Oriented language (3GL)
2.  Problem-Oriented language (4GL)
3.  Natural language (5GL)

### Low-Level Language:

Low-level languages are languages that the computer can understand and process without the need of a compiler.

#### Low-Level Languages are divided into 2 parts:

1.  Machine language (1GL)
2.  Assembly language (2GL)

Difference between Coding and Programming?
------------------------------------------

![In Image, Comparison of Coding VS Programming has been done.](https://learnitfree.org/wp-content/uploads/2020/03/Coding-VS-Programming.png)

Coding VS Programming

-   Definition:

Coding is the translation of Natural Language into Machine commands through an intermediary coding language.

Programming is the process of development of a fully functional software solution.

-   Involves:

Coding involves writing many lines of code in order to create a software program.

Programming involves not only coding but also other tasks, such as analyzing and implementing algorithms, understanding data structures, solving problems, and more.

-   Approach:

In Coding, no previous preparation is needed. Trial-and-error. Whereas in Programming, methodical approach, attention to detail.

-   Experience:

In Coding, basic knowledge of a programming language, it's syntax and keywords are needed.

In Programming, experience in creating algorithms, modeling a problem, data processing, project management is needed.

-   Outcome:

In Coding, a simple solution or a small part of a project is the output. Whereas in Programming, full ready-to-use application is ready.

-   Difficulty:

Easier to be a Coder. Difficult to be a Programmer. Needs years of Experience.

When I first started coding my first instinct was to learn Web Development since I wanted to make a website of my own where I would upload cool stuff that people could share and have fun with.

So, I started learning HTML and CSS. BTW if you want to learn HTML5 you can check the [Free Courses and Tutorial on HTML5](https://learnitfree.org/subject/learn-html-5/).

But wait.

Is HTML even a Programming Language?
------------------------------------

Now that's a matter of debate. Since HTML stands for HyperText Markup Language. It can be classified as Language?

Well, some say it is a programming language some say its just a language.

According to [Brian D Foy](https://stackoverflow.com/users/2766176/brian-d-foy),

*"No, HTML is not a programming language. The "M" stands for "Markup". Generally, a programming language allows you to describe some sort of process of doing something, whereas HTML is a way of adding context and structure to text."*

According to [Chris Pietschmann](https://stackoverflow.com/users/7831/chris-pietschmann),

*"YES, a declarative programming language."*

Well, What do you think, Is HTML a Programming Language?

### Where to go next?

So you started to gather interest in programming? Want to learn to Code? Can't find resources? Then you can check out [Free Courses and Tutorial from all over the Web](https://learnitfree.org/).