Site Overlay

Why is it so hard to learn programming?

I still remember the day when I first learned programming, when I was crazed about the idea of letting the computer do what I command. I was 13 years old and I found an old book in our library about a programming language called Pascal. After reading the instruction so many times, I finally managed to compile the “Hello World” app and ran it. Then I continued reading and executing till I thought of myself as a tremendous programmer. Doing calculations using the computer was not my desire. I was thinking of creating large applications and games and when I’m about to do so, I realized that I’m not going anywhere and I got the feeling that programming is really hard for me to learn and understand.

Today, I can assure you that learning to program can be as easy as any simple daily task. You just need not to fall in the mistakes that will give you the wrong impression about the easiness of learning to program. The following explains why some people find it really hard to learn programming.

Want to learn programming and you decided to study C++, Java, C#, and Python, all at the same time. It starts to get confusing, and you start to mix things up between the four languages. Then you become so desperate and you master none of them. It’s always better to stick to one language, study and master it and then when the time comes and you need to switch to another one, you will notice that all languages have the same logic, they differ in the syntax, the operating system they work on, and the complexity. Knowing the differences would make it easier to explore a new programming language and work with it than studying it from the beginning or studying multiple programming languages at the same time.

Just going through the tutorial does not mean you are a code pro. The tutorial is the sign at the beginning of the learning road. You read the sign and then you know this is the road you need to walk. If you believe that by reading the tutorial, you walked the whole road then no wonder you will give up on programming and you would start thinking that coding is too hard for you! Or you are not smart enough to learn coding! Or maybe you are just not cut out for coding!  Professional programmers walked a long road in their journey. They started their own projects, worked with other programmers on other projects, joined open source communities, and have a full time job within a software company.  Programming can’t be mastered without practicing it.

You need to start thinking like a programmer. Details… details… details, that’s what a programmer always look for. As an example on how different a programmer thinks, if you ask a programmer and a non-programmer about the steps they would take to turn on the TV using the remote controller, the following table shows the steps each would take:




Grab the remote controller

Check if TV is connected to power source

Press the power button

Search for remote controller


Check if remote controller has batteries


Search for power button on remote controller


Press power button


Verify TV is turned on


PCs does not think as humans, you need to tell them exactly what to do and in details. As in the previous example, if the TV didn’t turn on when pressing the power button then as a human, you will figure out that there might be no batteries in the remote controller or the TV might not be connected to a power source but in case of a computer, it will stop where it is without checking for the reason. That’s the reason you need to consider all the small details when writing a program. You will also figure out how a code is written if you think as a programmer. Programming needs you to consider all the small pieces a code consist off. The more you go deeper in the code, the more you understand it especially when you are debugging a code that has a semantic error.

Learning a programming language, working, and thinking, as a programmer might not be enough for you to keep up with the rapid technological changes. You need to keep reading about everything new in todays technology. As an example Python 3.0 has a few different changes than Python 2.7 and as a professional programmer you need to be aware of all of those changes.

Learning a programming language requires you to keep trying over and over again till you fully understand it. You need to practice it and you need to be determined to overcome all the obstacles you face. Keep a high spirit and always look forward to solving problems, not giving up in the middle. Keep walking the learning road.


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.