Why Is Programming So Hard To Learn?

For many people programming is a very challenging thing to learn and often requires a great deal of patience and persistence. So why do people find it so difficult to learn? What makes it so challenging?

It can be extremely difficult to learn for some people because it requires structured and consistent logic to be able to get a program to do what you want. Secondly, programming can be very challenging because often people just want to learn how to program without an end goal in mind. As a result of this, I often lack the persistence to master a programming language.

However,  I am here to tell you that it is possible to learn and I can tell you that from first-hand experience because I learned VBA in Excel without any assistance. Additionally, I now teach it to 15-year-olds at high schools who can develop a basic understanding of programming within a matter of weeks.

However, the thing to understand is that learning to program, in many ways, is very similar to learning a language, the first step is to learn the commands which are kind of like the words or the vocabulary of a language. The second stage is syntax which is like the grammar in a language and dictates how a language needs to be put together. 

However, the third step is to learn how to find problems in your code or debug the code which is kind of like being able to identify problems in the structure of a sentence which is the most difficult skill to learn. However, once the school is mastered and you have an understanding of how to solve problems within your code then your skills will grow exponentially.

The reason for this is that once you have developed these skills you can then easily take code from sources on the internet and apply it which means that even if you have a relatively small vocabulary of code that you understand, that doesn’t really matter because you can simply look it up when you need it. 

What Are The Biggest Pitfalls Associated With Learning Programming?

The biggest pitfalls that I see from students that I teach is that they tend to try and skip steps and do too much with the code too early. As a result of this, the code complexity gets above their level before they are ready for it. The most important thing to being successful is learning only a few commands initially that allow you to do something and build up confidence about how the code actually works.

For example, in the course, we are running on YouTube, which is free for learning VBA, the language used in Excel. The course starts by simply getting the students to learn how to use a message box and reference cells with Excel so that they can do something initially. The course then progressively builds this by doing looping and using variables before teaching strategies on debugging which is done within 3 to 4 lessons.

The strategies on debugging are particularly important because they allow someone that is learning to program to break down what the code is actually doing step by step. As soon as you are capable of doing those skills then dealing with more complex code becomes progressively easier.

The second barrier to success in programming is actually the debugging skills themselves.  Many people who start to learn to program are generally scared to try things and the reality is that you do need to experiment as you are doing the code to ensure you understand what works and what does not. 

In the case of debugging the strategies that we teach are to use the debugging tool inside the VBA editor to identify the line of code which has a problem and then progressively break down that line itself to find exactly what part of it the line actually causing the problem. The alternative strategy is to use the message box to display what the code is doing at any given time.

The third thing that also often causes problems among people learning to program is the designing of the logic required to get the programming to do what you want. In these cases again people learning to program tend to skip simple steps required to make the program work.  The important thing is to try and break down steps into little problems and solve them one by one.

This can initially be quite laborious, however, the thing with code is that once you have solved a given problem you don’t have to solve it again because you already have a code for that problem which means that becoming proficient at code becomes easier over time as you build up this library of knowledge

What Is The Best Language For Beginners To Learn?

For beginner programmers, there are really only two languages that I would consider learning as a beginner which is VBA or Python. The reason these languages are recommended is that VBA is extremely useful for anyone that is automating Excel which is a skill that will make you highly employable.

The other advantage of VBA is you don’t have to install anything on your computer as most people have Excel installed. However, python does have the capability of being used in a wider number of applications and is frequently the language that is first taught in schools and is widely used by people doing large amounts of data analysis. However, it does take longer to learn how to produce something in Python.

To see the benefits of learning VBA check out our video below. 

Relevant Articles

Is VBA Worth Learning? Does It Take Long?

Can VBA Be Used In Google Sheets?

VBA vs Python

VBA vs Python

0 0 votes
Article Rating
Notify of
Inline Feedbacks
View all comments