The Balance Of Theory And Practice In Programming

Prof. Cabrera
4 min readNov 4, 2018

--

During the years I have been writing code, I have experienced the learning process when it comes to learning new programming languages and technologies. Not only that, but I have also been able to teach people to write code through the years as well. Through these both experiences, learning myself and teaching others, I have noticed the importance of theory and practice when it comes to learning how to code and write software applications.

Moreover, I have concluded that when it comes to learning how to code, you need to understand the theory behind the programming language or technology you are working with, as well as applying it, so, you can get the most out of the language or programming tool you are using.

So, today I am going to share what I have learned through the years when learning new programming languages, as well give out some tips and strategies you can use to learn new programming languages faster, as well as technologies or frameworks you are interested in learning in the future.

Understand the theory first

When it comes to learning a new programming language, my suggestion is to understand the fundamental ideas and concepts of the language before you go to write programs with the knowledge you acquire. Focus on comprehending why the programming language was invented in the first place, as well what is the problem that this language or framework is trying to solve. For instance, if you are going to learn how to use the React framework. Before writing your first application using this framework, make sure to study the advantages of using this framework as a tool to develop applications in comparison to other frameworks out there such as Angular or Vue.

Focus on learning the strengths and weaknesses of React. Make sure on learning about the Virtual DOM, components and props, the React Lifecycle methods, as well as other essential ideas in the React framework. This way, you can fully take advantage of the power that React offers as a software development tool. Also, by doing this before writing your first application, you will have a clear understanding of how the framework works under the hood. Which in my opinion, is very good for the learning process and when debugging your code.

Build projects with the knowledge you learned

After studying the theory behind the programming language or framework you are currently learning, my suggestion is to go ahead and start building projects with the new found knowledge you have acquired during the study process. In my experience, this is a very important step, because you will experience at first hand the value of the language or technology your using. In addition, as you encounter bugs in your code and fixing them as they arise, you will understand on a deeper level what is happening with your code.

Which in my experience, is very valuable because when working on professional or even larger projects you will have the knowledge necessary to fix these problems. Think about it, if you are working on a software application that a lot of people use, if a problem occurs with the application, you will be able to solve it and keep providing value to your users. Thus, reducing downtime and increasing user satisfaction.

Hence, applying the knowledge you have learned by building applications will help you understand this language or framework on a deeper level, as well as assisting you in the learning process along the way. Through the course of my journey writing code, I have noticed that by repeatedly learning the theory and practicing it as I go, I remember the concepts for a more extended period. This has applied to other skills I have developed over the years, not only coding.

Conclusion

In hindsight, learning how to write code on a new programming language, as well as a using a specific framework, consists of a process which involves learning the theory as well as applying it to solve real-world problems. This process is a balance between these two areas, theory and practice, if one of the areas is neglected, in my experience, you will be missing on grasping the underlying ideas of a programming language or framework, as well as not benefiting from the value and reaping the rewards that this particular technology has to offer.

Moreover, the more you practice executing this process, the better you will get at using the framework or programming language.

I hope this helps!

Originally published at yadielcabrera.com on November 4, 2018.

--

--