I have worked with more than one programming language, and I can say that there are many different approaches to learning to code. Some are great, and others are very ineffective. But, how do programmers learn so many programming languages generally?

Programmers learn so many languages by either taking a CS/IT degree, self-teaching, or involving themselves in projects that expose them to new ways of programming/technologies. Each approach a programmer takes requires them to learn more than one programming language to successfully complete an app/website project. Besides, be competitive in the industry as a freelancer and the job market.

All these approaches are good.

But, there is one common thing that differentiates a beginner programmer who knows one programming language from an expert who knows a couple of programming languages.

However, we cannot define an expert programmer as someone who can code using many programming languages. Expertise in programming involves using these technologies to ‘weave’ masterful software/web solutions that solve real-world problems.

That’s why smart programmers focus on learning how to solve problems and not learning a programming language without any intention of using it.

To learn how to solve problems, programmers learn to indulge themselves in projects that ‘tickle’ their thinking and make them creative. The more they work on a project, the more experienced they get and the more programming languages they may use.

The project-based learning approach is what I have been using and encouraging other aspiring software/web developers.

Even if you take a college degree, you will have to code a project at some point.

If you take the route of being a self-taught programmer, you must code a project and show it to others and potential clients.

So, you can take a college degree or a BootCamp. But, if you never indulge yourself in doing projects by yourself, you will be just wasting time. You will just be learning too many programming languages, and you will probably never use them in your programming life.

If your goal is to be a good programmer, project-based learning is the best approach in which I encourage you to indulge.

But what makes me say this? Am I qualified enough to validate the statement?

Well, I have been programming for some years and even taken an undergraduate program in I.T. Besides, I have learned so many programming languages without the intention of creating a project. I have also used the alternative project-based learning approach.

And what results did I achieve?

Learning so many programming languages without having a goal/problem to solve

Through college, I used to learn the popular programming languages Python, JavaScript, PHP, e.t.c. You know, “Keeping it cool because I know all these programming languages and frameworks.”

However, I can say that I learned these programming languages, and I felt like they meant nothing. I used to ask myself – “So what do I do now after learning Python, JavaScript, PHP, and Java.”

Then I would follow a YouTube tutorial and build a fancy project, but in the end, I was just copying the code from the tutor. Or using only one programming language.

Well, very ineffective.

No real progress, I could say.

Going through college for an I.T/CS degree that teaches your programming

I went through college, and you know how it goes. The lecturer comes in, reads some outdated information about JavaScript, and heads out.

You are on your own, student.

Heave ho!

You either have to practice writing code on yourself, or you wait for the end-semester exams that will test you on something unrelated to code.

Learning how to code using a project-based approach

After going through college and learning too many programming languages, I felt I had wasted my time. Yes, I knew the syntax of C++, JavaScript, Visual Basic, Java, Python, e.t.c.

But, I did not know how to identify problems, think of a solution, and implement it as a software solution.

Then, I realized that the only thing that can make you a master in programming is to indulge yourself in project-based learning.

Project-based learning is where you learn a programming language or any other course/topic/subject with a goal in mind.

The goal can be anything-

  • Develop a cool portfolio website for yourself;
  • Create a desktop software to make accounting for your family business easier;
  • Make a robot that tickles your feet to wake you up in the morning, e.t.c.

With a goal in mind, you research and investigate the programming language or technology you must learn to tackle the problem at hand.

Make a website- need to learn HTML/CSS and JavaScript

Accounting software- Python or Visual Basic

Make a robot- C++

After identifying what you need to learn, you start learning the concepts you may apply to develop your solution.

You will be involving yourself in active learning and not passive.

In active learning, you read something and immediately apply the new skills to practice.

After some time, probably weeks or months, you will start making the reality of your project come true.

So, within the first month, you may have a home page for your website or a tickling hand for your robot.

After another month, you have a responsive website and a talking robot.

After the project’s timeline ends, you will have learned more than one programming language and technology and gained new skills. Besides, you will have completed a project that you can showcase.

Most of the time, I feel satisfied after completing the project because I give it all.

In your case, you may feel that you want to add other features and functionality to your project.

Well, by now, you will have gained enough knowledge on using programming languages as a tool to realize web/app solutions.

Go ahead and use the programming skills on your project. If your project’s improvements involve another new programming language/technology, you give it a go, learn, and implement your new features.

Heave ho!

And the cycle continues.

Generally, how can you learn more than one programming language?

  • Identify a problem and focus on the problem.
  • Identify a solution and the tools (programming language or technology) needed to realize the solution.
  • Learn the programming language and technologies needed. If it’s a web framework, learn it.
  • Provide a solution to the problem using the new skills. Create a project that solves the problem you identified.
  • Advance/improve your software/web solution by adding other functionalities or features. For example, you may add interactivity, animations, database to your Python Django web app.
  • Learn the next programming language/technology needed to realize the addition of new features/functionality. You may learn JavaScript and SQL.
  • Implement the new features to your project.
  • Add your project to your portfolio and make it public on Github. Don’t be afraid to showcase your code on GitHub. You will learn from others and build a network.

How to learn a new programming language

When learning a new programming language, you should use high-quality resources that teach you the concepts applicable to the problem you are solving. If a learning resource (book or tutorial) does not teach you how to solve a problem you have, it may not help you.

If you must learn two programming languages at the same time, ensure that the programming languages are different in syntax. Otherwise, you will get confused.

One good way to learn two programming languages is to separate the time and location of learning. Allocate enough time and attention to each programming language. As a trick, changing the location of learning helps you remain focused.

If you are a beginner, do not attempt to learn more than one programming language at the same time. I have written about why learning more than one programming language at the same time is not an effective strategy in this article.

Conclusion

Any programming language is a tool, and programmers learn to use these tools to create solutions to real-world problems. One thing that makes programmers learn many programming languages is that for a project to be complete, it may need more than one tool to be effective and efficient.

Whether you take an I.T/C.S degree or teach yourself to code, you may learn more than one programming language. However, suppose you do not involve yourself in project-based learning. In that case, you lack the competitive ability compared to programmers who involve themselves in identifying problems and creating solutions in the form of projects.

Project-based learning makes your thinking sharper, improves your problem-solving abilities, and boosts your creativity.

Besides, you end up having a complete project that potential clients may love seeing. Thus, you have a better chance of securing a job compared to someone who doesn’t have something to showcase.

Crack on that programming!

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *