Interested in programming? Great! Programming is lots of fun. You want to do things well though, even if its not that important while just learning. I will list some of the beginner mistakes I did myself here, and that I have seen others do, just so you can avoid them.
*Focus too much on programming languages.
Many times have I seen people just getting into programming wondering what programming language to learn. Read this: languages aren’t that important. A good learning language would be Python (which is good otherwise, too), but other languages are good as well. Now the thing that makes a programmer good isn’t what language a programmer uses, similar to how the language a poet writes in isn’t making the poet a good or bad poet.
Don’t just learn a programming language either, learn good programming practices. You can learn such from, for instance, the book Clean Code.
*Run straight into coding.
Before writing even a line of code,
plan how your application will work at a high-level on paper. I did this mistake many times, and I ended up throwing everything away and starting again because of that. How will your application solve a problem? Figure that out first.
*Be too optimistic
Sure, we all want to create the next Google/Windows/World of Warcraft (I’m not so sure about Windows…), but that might be too much for a starter project. Google uses very complex algorithms (very complex things to make it work) to be able to find good results from the enormous web, operating systems, such as Windows, in general are complex and require a lot of detail knowledge about how computers work and complex games such as World of Warcraft aren’t easy at all, requiring lots of knowledge about heavy mathematics and physics.
I don’t want to scare you away, but don’t do it because you want to have that done. Sure, you might be working on things like that someday, but start small, and do it because you like doing it, and not for any other reason. How do you know if you like programming? Well, just try it out.
Also, a sidenote to all those interested in creating games; don’t learn C++ as a first language, it is very complex. You can create games in other languages too, even if the games industry doesn’t use them as much as C++. A good language is Python, and it provides something called PyGame, making game development a lot easier. If you are in for computer games, I would suggest the book Invent your own computer games with Python. Also, programming isn’t everything in the game world; if you aren’t great at mathematics, you might want to consider doing art for games or something else, because game development will have a lot of math.
*Give up to early.
Programming is hard and it takes a lot of time to get good at it. I have programmed for a few years, and I have a lot to learn. If you hit a stumbling block, don’t give up. Try to solve it. If you don’t like such stumbling blocks, you might not like programming, which, largely, is about problem solving.
Avoiding challenges is, to some extent, avoiding the ability to improve. Do projects that you know will be challenging. Do things that you aren’t sure how to do, and then learn how to do it by doing that. Practice makes perfect.
*Skip the basics.
You want a solid foundation. You won’t get a solid foundation by skipping the basics and moving directly to the “cool” stuff. I know, basics can be boring, but they are the foundation for good programming ability, and you don’t want to be a bad programmer, do you?