Is Learning Programming/Coding Difficult?
Tags: programming, beginners, python, scratch
Published: 2021-12-06 15:21:03

## What is programming or coding?
You might have heard it before; programming or coding. What is it actually and is it hard? This is what I think. First of all, these two words are similar but are actually not the same as some misconstrue them to be.

Programming simply refers to telling a computer to do something. Computers are very powerful and have changed the way we do virtually everything. However, a computer is one of the dumbest thing to exist because you have to tell it what to do, how to do it, and sometimes when to do it. Everything you do with a computer you are able to do because of a particular software. This software is made up of instructions written by humans. So all the logic and steps that tell the computer what to do has to do with programming. Coding on the other hand is where these instructions are expressed in a language. This means you can even code in English. Computers do not understand English, so we use programming languages to write programs. Code written in these programming languages have to be converted into machine code (which is in a binary form of 0s and 1s), the only language computers really understand. I’m sure you get the picture now.

## Is it difficult?
Learning to code is like learning any new skill. All you need is the right material to learn from, the will to learn and a good start. Because programming has to do with logic, knowing Math sometimes is an advantage. There is a whole branch of Math dedicated to this logic: Discrete Mathematics. I will be frank with you; you don’t need to know math to program. Once you grab the basic concepts you’re good to fly. The rudiments are more important. You will get better with practice and learn new concepts as you come to need them in your journey.

## Learning to program/code

**The Normal Way**
Just like any other skill, you must choose a way to learn it. You can take an online course on Udemy, Pluralsight, Coursera or YouTube. Maybe you like in-person training. You can also opt for a programming class or a bootcamp (a fast-paced training over a short period of time, usually days). You know how you learn best so it’s up to you to decide. Since there are dozens of programming languages out there and a lot of careers that require you to know programming, you might want to do some research before putting in any effort. Do you want to code for fun? Do you want to build a website or a mobile app or develop a desktop app? Once you are sure of what you want to do, pick a programming language. I would recommend Python. Python is a good programming language by all standards. What makes Python stand out is that it’s beginner friendly as it uses almost English-like expressions and easy-to-grasp syntax. 

_Simple C++ program to display "Hello World"_
```
#include<iostream>
 
using namespace std;
 
int main()
{
    cout<<"Hello World";
    return 0;
}
```

_Simple Python program to display "Hello World"_

```
print('Hello world')
```

_Output of both programs_

```
Hello world
```

You can use Python for web development, data science, game development, scripting, etc. If you want to build a website, you should probably jump in with HTML and CSS which are not programming languages themselves but are a great start. You can add JavaScript later which is the programming language for adding interactivity to a website. JavaScript can also be used to write server-side scripts.

**A beginner friendlier way**
Scratch is a programming language that uses graphical elements with drag and drop features to make things happen. It is a fun way to start programming. Find more about it here. [Scratch](https://scratch.mit.edu/)

![A scratch program](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4ue1xv2mv87j8s1lksmo.png)[Image Source](https://scratch.mit.edu/projects/607889870)

## What’s next?
Find a mentor. Get in touch with people who have achieved what you want to achieve with programming especially those who use the languages you’re interested in. Whether they are software developers or have tech roles, don’t be shy to approach them. They are more willing to help than you think. Finally, don’t forget to apply what you learn. Pick a project; get your hands dirty. It may be a simple app, a basic website or the automation of an ordinary task. Practice makes perfect and always remember:

> Every expert was once a beginner. - Anonymous

Happy coding!