Learning Your First Programming Language

Stuck on how to start? Here are some pointers on how to accelerate your learning journey.

Embarking on the journey of learning how to program can be a bit overwhelming at first. You might have already done some research and compiled a list of languages that pique your interest. For instance, you could delve into classic C languages like C++, C#, or regular C. Alternatively, you might explore more abstract (higher level) languages like Python and Lua. The choice is yours, and each path holds its own potential for growth and learning.

Why is programming so hard?

It’s a common question: why aren’t programming languages more user-friendly, like Python? When programming languages first emerged, they were already a significant step up from writing pure binary, ones and zeros. Assembly language even introduced mnemonics to aid memorisation. However, Assembly was still quite complex, so we developed C. Yet, even C had its complexities, so we continued to abstract them away. The truth is, no matter how much we simplify, there will always be a learning curve that is universally challenging, and you are not alone in this journey.

Abstraction also comes at a cost. It makes understanding what your code is doing under the hood difficult. Abstraction may hinder your programming progress and make it harder to transition to other languages.

Programming is different from how it is in films. It is more complex than it seems. For people entering the industry, it is something completely new that they have never seen before. If this is your first time looking into coding, it’s complicated and overwhelming, and that’s okay. It’s a journey that requires patience and perseverance, but it’s a journey that is worth taking.

How you should start out

Mastering fundamental concepts is key. Once you do, you can learn any language you wish. If you understand these concepts, the only things you need to learn are the syntax, which should take little time, and the best practices, which can take a while to develop. Many of the skills you learn with one language can transfer to others, so it’s best to be the master of one first rather than the jack of all trades but the master of none. There are far too many concepts to list, and you shouldn’t learn each one by one. That is not how you learn to program.

Learning to program is all about experience and trying things out. Set a simple goal like creating a terminal calculator app. Attempt to create it. If you ever get stuck, follow these three to four steps:

  1. Google your exact issue
  2. Look at the documentation (if applicable)
  3. Ask AI about your issue
  4. Ask someone else about your issue

Learning how to read documentation and Google is a vital skill that many beginners overlook. If you can Google and read documentation, you can find the answers to your questions much faster. Many people Google what they’re trying to do. For example, they would Google “how to make …” This is wrong. It would help if you were more specific. Let’s make a hypothetical scenario. You can get the user input but are not sure how to make the user input a number. In this case, you should Google “convert string to number”, followed by your programming language. Following the query with your programming language is essential as you will get answers for other languages that won’t apply to you. As you learn, you will learn more terminology and, therefore, be able to express your question better. A more experienced programmer would Google “cast string to number [language]”.

Reading documentation can be hard to learn as it’s filled with technical jargon, but over time, you will learn to love the technical jargon because it usually tells you exactly how you should do certain things.

To sum up, learning comes down to experience. To get as much experience as possible, try to make as many projects as possible—progress by increasing the difficulty of your projects. I recommend focusing on that one language alone while learning it.

The use of AI in learning

Do not use AI entirely. It can do the majority of your projects with ease. Misusing it can spoil the full answer rather than the part you are stuck on, meaning you learn nothing. However, keen readers might’ve pointed out that I recommend talking AI over to another human about any issues you have. You can use AI, but you must be specific—precisely the same way I showed you how to Google.

The use of tutorials

Applying what I said previously, tutorials could be worse for you. Experience is what matters. Refrain from falling into the trap of watching 10 hours of how to program in a specific language because you will not learn anything. You should only refer to these tutorials if you are stuck on a specific concept. However, Googling, reading documentation, etc., should have solved these issues. As a more advanced programmer, I never watch tutorials because they provide little value - even when learning something completely new. Often, reading someone else’s code is more beneficial.

Common misconception

A common misconception beginners have is that they need to memorise every function. This is not true. Provided your Googling skills are good enough, you should be able to find examples of what you’re trying to do. For example, if you want to get the first three characters in a string, the function you may want to use is substring. However, you would not be expected to know that. After Googling “get first three characters Python”, you should be able to find your answer relatively quickly. Also, IDEs have autocomplete and intellisense that can tell you all the possible functions that object has. Programming is so vast that you never need to memorise anything except the fundamental concepts, syntax, and best practices - as stated earlier. Not memorising is unlike what you might expect when considering other academic subjects.

Format your code

A common beginner mistake is not formatting the code correctly and adding things like comments. Please learn the skill of formatting and commenting early. It will provide a lot less headache for yourself and others when reviewing the code at a future date.

Conclusion

Learning how to program takes work. There are so many different areas to explore, which can seem overwhelming. However, with the correct mindset, dedication, and technique, you can achieve anything. Good luck!