Let us begin with the story of Raj.
Raj had just passed his high school exams with flying colours, and had taken admission in Computer Science in one of the most prestigious institutions in the country. Now, Raj hadn’t done much of coding in his previous years, yet he still took up CS. Was this a bad decision? By no means. What Raj lacked was the knowledge of syntax and rules of programming languages. What he had in abundance, however, was the ability to think, to analyse problems, and to craft creative solutions to these problems. This led to him being able to understand more, and in turn, score more than his peers who were supposedly better programmers than he was.
Programming is more or less based on this very same concept.
“One must not only learn how to code. One must learn how to think and analyse.”
Freshers in the field of programming almost certainly believe that once they master the rules and syntax elements of a particular programming language, they would become good programmers. This is true to an extent, as it would definitely make them good coders, but it will not make them good problem solvers.
The Sudoku Puzzle.
Taking the example of a Sudoku puzzle, you know how and where to write numbers in boxes. But how would you solve the puzzle if you do not know the underlying logic behind the game? How would you complete a computer game successfully if you know just the control bindings, but not the hows and whys of the tasks to be performed?
Problem Solving “using” computers.
Computer Science and programming is all about solving our day to day problems with the help of computers. If you focus a little more on the latter part of the previous line, you would certainly realise the essence of this article- “with the help of computers”, the key words being with the help of. Computers and programming languages are just tools to aid us in applying our thinking and logic towards solving particular problems. Coding is not a method to achieve a particular task, it is simply a tool to make it quicker.
Learning new ways to solve problems, studying new algorithms, applying various forms of logic, and developing an innate way of thinking is what programming is all about. It is not about the language, the rules, and certainly not about putting a semicolon at the end of each line of code. Logic matters more than the programming language that you choose.
Tweaking with the languages.
The logic behind the method of finding the largest number in a given set of numbers will always remain the same, irrespective of whether you code it in C++ or in Python. If you are clear with your core programming concepts, you can easily migrate from one language to another. All that will take is memorizing the syntax of the new language, and voila! You will now be able to write code in both R and Python!
Remember- the underlying logic behind performing a task is of far greater importance than performing the task itself. If you don’t know how to do a task, how in the world of all that’s holy will you finish that task?
Learn to think. Coding comes naturally to good thinkers. Bon voyage on your journey through the programming realm!