Why is programming difficult to learn?
Varun Charan
Staff Engineer 1 - DevOps at Bain & Company | Ex-Barco, Ex-Oracle | DevOps Evangelist
The word 'Programming' has different meanings to different people. If you say the word 'Programming' in front of a school kid who is struggling with his history or mathematics, he will probably curl up and start crying. Say it to a summa-cum-laude Computer Science graduate out of Stanford and he will make you think twice on whether you ever knew anything about Programming. What I am getting to is the fact that not everyone has the aptitude and most importantly, the interest to program. And that's ok!
As far as I have observed, there are three categories of people who feel similarly about programming. There are some people who simply love computers and they want to learn all about them(including and especially, programming). Then there is this other class of people who like to use computers but are not interested in knowing the nitty-gritty of it. Another class is one which just hate computers. These are probably the people who would rather see a theater act than a blockbuster movie. Mostly, there is no problem in teaching the first class of people the 'art of programming'. A problem arises when people from the other 2 classes are pushed towards programming, the reason can be any. I belonged to the second category.
I came in touch with programming (precisely, C programming) in my first semester of college. I studied C just to clear the examinations well. No interest whatsoever that time because nothing made sense to me! In the third semester, C++ was introduced. Learning that seemed much easier to me than learning C as this time I was actually understanding the terms my teachers were using. Interest rose and so did my level of practice. I read a couple of books on C and C++ and felt well-acquainted with the concepts by the end of the third semester. No other language was taught to me for the entire college duration, as I was a student of Electronics. But, I enrolled myself into online courses of HTML, PHP, etc to learn more about the computers I used in daily life. Applying logic and interpreting pretty much everything as computers do, I gained a powerful insight on how to be 'fluent' in programming languages and how to put my knowledge into use. Today, I am a software engineer at a multinational firm helping the company make products to be of use for the present as well as to the future generations.
To sum up, as a beginner in programming, there would be many challenges to be tackled and won over such as, understanding the world as computers do, thinking logically and in terms of user experience of whatever program you're writing, always being in touch and practicing programming as much as possible, etc. Factors that can make you not want to program can be a lack of interest, difficulty in understanding syntax and language, difficulty in thinking as a computer, etc. But, personally speaking, I would recommend all to engage in programming, even if you don't want to be a software engineer. Do it to keep your mind sharp as programming is a very healthy mental exercise. Challenge yourself. Start programming!