We all have heard and read in different articles and posts that one of the most fundamental ways of learning a new programming language is by, well, reading. While this may be true, reading from online sources often becomes too time-consuming and boring. Relying on online tutorials and lectures is also a good way of learning, but still, it takes time and sometimes requires additional payments. Of course, signing up for a course at an IT academy is also established as a good practice, but once again, what happens when you already have a job and the latest project requires quick learning of a programming language you didn’t previously know? Skimming through and memorizing the official language documentation is helpful, but do you really have the nerve? And even if you do, how can you be sure your code is going to be clean and bug-free once you begin to put your knowledge into practice? Understanding the ins and outs of the syntax of a new programming language is also listed among some of the top ways of learning as it allows you to grasp common patterns. Fair enough! But what would you say if we break free from conventional ways and explore 3 alternative practices which will help you along the way?
THE BENEFITS OF GETTING INVOLVED IN AN OPEN SOURCE PROJECT
Right after you have understood and already know the syntax of the new language which you want to learn, it’s a good idea to start contributing to a community project. Find a project written in the same language. Carefully examine the modules which are already created. Pick up patterns and good practices and take the plunge! Apply what you have learned and absorbed to your own lines of code. Don’t worry about its quality. Usually open source projects are accompanied by specific quality guidelines so you will have a chance to practice what you know and improve the quality of what you are writing at the same time. And if there are still some uncertainties or insecurities, community fellows and other experienced programmers will not only provide you with a feedback but will also become your personal supervisors. For free.
FROM WRITING TOY PROGRAMS TO PRODUCTION-READY CODE
The Internet is full of challenging computer programming problems which require not only logical thinking to solve but also knowledge in a particular language. In order for you to become better at C++, for example, try to look for such game-like-tasks and use your knowledge on the same language to find the solution to the given challenge. Then you can compare your suggested lines of code to those written by other contributors and see if you can spot any “beginner” mistakes. If that’s too easy for you, maybe you can move on and try to write a production-level code instead to test its qualities on realistic applications and programs. This way you will quickly upgrade your skills, will make your code more minimalistic and clean, and will become a professional at real-life development setting.
DEVELOP A SIMPLE DEMO AND WORK ON YOUR OWN PROJECTS
Mastering a new language doesn’t really stop once you’ve closed the page on the language syntax and its core concepts. In fact, this is the beginning of the road to becoming a pro. With practice being the key to completely polishing your skills, it is really vital for you to be driven by self-motivation and start off as many projects on your own as possible. All in all, building stuff all the time is one of the best ways to learn. Make changes to your program, test the outcomes and deconstruct your code. Only this way can you understand the difference between expectations and realistic functionalities. So, really, go ahead and practice, practice, practice.
SEE WHAT OUR EXPERTS HAD TO SAY ABOUT THAT
Undoubtedly, there are many different ways that help developers learn a new programming language. But to further expand the options and perspectives, we asked for the opinion of our professionals and here’s what they shared with us:
Mihail Duchev, Senior Software Developer
„I can’t say that there is a ‘best way’ to learn a new language. Some prefer to do it by watching videos, others prefer to read books on programming or attend courses. Personally, I like to read books, because the information there is way more detailed and you can dig really deep into the topics sometimes. But no matter which path you choose, one thing is for sure – you can never truly learn a new programming language, until you start to write the code yourself. That is the “real way” of learning it – code, code, code!“
Plamen Yovchev, Senior Software Developer
“Well, the best way for me is to do a mini project in the same language. No matter whether it will be a forum, a news site, a gallery or something else. The most important thing is to include and use all of the main components. And last but not least, I can tell you that the more languages you know, the easier it becomes to learn the next one.”
Elena Kirilova, Senior Software Developer
“I would start with a few video lessons about the language fundamentals. Then configure my environment and test a few scenarios that I’ve already implemented on the languages that I already know.”
„Learning a new programming language is just like learning a new spoken language. You have to start from the basics from A to Z, find relevant resources for this language, watch tutorials and read a lot of posts. You have to also find out the best practices in this language and really learn them. After you’ve understood the basics, you have to start practicing and create some small projects combined with a relevant database.“
“There are different approaches when it comes to learning new programming languages and they depend on the person really. The best way for me would be to watch some videos for the basics and start experimenting with small tasks and projects in order to see how the language features work. I think that working on reverse engineering projects is also a good way to learn.”
Lachezar Gorchev, Senior Software Developer
“Learning a new programming language for the first time is the greatest challenge. Every time you have to deal with a different one, you get to realize that all of them have something in common. When you want to learn a new programming language, just go for it and dive in. Pick a project of your dream and make it real. You will be surprised to see how much you can learn on the run… And as always, you can count on Google.”
There are more than 500 programming languages known today. From PHP, SQL and JAVA to less conventional ones such as Action!, Hack or Swift, the list is simply growing. And even though some of them are written by people just for fun, it’s natural that developers are often tempted to expand their portfolio with yet another language. After all, the technological landscape is quickly changing and acquiring new knowledge is at the backbone of being competitive and up-to-date with the latest trends. However, it’s common that people either don’t have enough time or find diving into a new programming language to be rather daunting task. But keep calm and code on. Like any other type of learning, there are practices and techniques which make the whole process of gaining new programming know-how much easier and interesting.
And how about indulging on something different once you’ve mastered a new programming language? Another skill perhaps? To help you sort through different trends, see the top skills for developers to have in the next couple of years in the blog post bellow.