The journey of learning to program is an uncomfortable one, most people quit very early on. In this short post, I'm going to give you few tips on how you can to get through it.
No one will tell you this but when you first learn to program, you should expect it to be boring.. learning for-loops and if-else statements; not very exciting for most people. Programming is a lot more interesting once you make it past the initial stages. When you learn to use libraries and build small interactive programs. However, you have to MAKE IT PAST the initial stages of learning the basics, which can be very tedious but you have to persist in getting through these topics:
- Declaring and Initializing Variables
- Control Statements
- Arrays and Strings
- Classes and Object
This initial difficulty in understanding the abstractions involved and practicing the basics until you have basic proficiency is the main barrier to entry for beginners. Once you have passed this stage, programming will become a lot more enjoyable. It will be a lot more about problem-solving and an exercise in abstract thought. So stick through the early stages, grind through it, if you get stuck, go to the million different sources available online to see a different explanation of the same concept.
Regardless of what language you choose to learn, the most important thing is to get past the initial stage of learning the basics. Programming is very abstract, similar to maths, It's hierarchical, everything builds on previous knowledge. You have to grind through it, there is no other way to put this. With the right amount of procrastination, it might take you six months but in the end, it will be worth it. I recommend javascript or python for beginners.
Few resources worth checking out:
- Learn Code The Hard Way
- Treehouse
- Stack Overflow
- Udemy
- Coursera
- Codecademy
- Khan Academy
- Eloquent JavaScript
- Processing
- Treehouse
- Programr
- Udacity
NOW GO DO IT!
GOOD LUCK
I learned programming at young age (7), and it was great fun! I think today there are many new programming languages making it much more easy and funny. By now python is my favorite language - it is probably one of the easiest languages to learn and yet powerful enough to do useful things!
There are also languages out there that are specifically made for only for learning. One of the earliest was Logos - I found it very interesting back in the 80s, but looking back on it now ... nah, that's definitively not something I would like to teach. The concept of "turtle graphics" is a good one though, and Python does have a "turtle graphics"-library.
For the youngest, there is also the programming language "scratch" - if I've understood it correctly one can program without having to type a single letter on the keyboard.
I've been teaching programming a couple of times as well. I have experienced three different categories of students; students really having an inner motivation for programming (the sky is the limit! incidentally, some of the best programmers I know have been studying physics), people who started learning programming to get a profitable profession (most of them finish their education, but they usually don't end up as very good programmers) ... and then there are those who really don't have the basic skills for programming - I've spent really lots of time on two such students, they where both highly motivated, but they just didn't understand the basic concepts, no matter how much time they spent on it.
I believe programming has a bit in common with languages:
I agree with you, some are much more comfortable with abstraction than others, I wanted this post to be inclusive rather than pointing out the inherent differences in cognitive abilities. Thanks for adding to the post, appreciate it