For someone who spends most of their time in Photoshop or working with relatively simple languages like HTML and CSS, it can be difficult to move to more advanced (and more interesting) programming languages. The transition is significant and requires an overhaul in the way you approach a task or problem.
Being a beginning programmer myself, I have found the following tips very helpful in learning both the concepts behind general programming and the specifics of individual languages.
- Get the basics down first: It is important to realize that the logic behind most languages is nearly identical. So understanding what variables, loops and functions are beforehand will be invaluable. As described by Kyle Neath, learning various languages will be akin to learning to interpret a new accent once you understand their foundation. The best way to learn these basics is by focusing first on the concepts presented in your programming tutorial before reapproaching the content to learn the syntax, etc.
- Get a good book: This may seem like a no-brainer, but finding a good book that can walk you through the process is very important. Try starting of with a ‘For Beginners’ book as these usually do not make the assumption that you are at least partially familiar with the content they present. Also, consider picking up a couple of these introductory volumes as the authors of these types of books are often forced to cut out important parts to keep the lenghts down so you might find important topics in one book that went completely untouched in another. Plus, it’s always helpful to reread those foundational concepts.
- Learn by doing: This is perhaps the most important tip because it ensures that you are actually learning the concepts and syntax and not just recognizing what happens. There’s a big difference between actually writing the code and telling yourself that this is what I would do. Most books have end-of-section excercises – they’re there for a reason. Being presented with a problem or question helps you learn how to approach future programs.
- Go old school: When you’re first learning a programming language, it is easy to become overwhelmed with relatively minor syntax, style and conceptual problems making it difficult to remember what exactly it was that you were trying to do. By outlining your program’s function and scope on paper (or the electronic equivalent) you can quickly remind yourself of what you’re trying to achieve.
- Community Participation: A big part of learning a new programming language is joining an active and proud community. Whether it’s a co-worker, mailing list or forum, connecting with an expert can be just what you need. Books are good for setting you up but you’ll often find yourself faced with a seemingly insurmountable obstacle once you begin applying your new knowledge. At times like these, the practical experience of a seasoned programmer is essential not only to help you solve your problem but also to learn how the problem was solved.
If you have any tips that might be of use to a young programmer, feel free to submit them in a comment.