Learning concepts in terms of syntax vs abstraction in mind.
Concepts like conditionals, loops, arrays, and other data structure are in every programming language. The worst thing you can do to yourself is to learn about this important programming concepts in terms of syntax. If you do you will always struggle. According to Aja Hammerly, solving the same problem with different languages could help you see things differently. There are problems suitable for certain languages and problems for others. Becoming polyglot helps you with it.
In this video, Aja shows a specific example using an OOP language; Ruby, which has the following advantages:
- Easy of Testing.
And then she tries to solve a similar problem in Racket, a functional programming language which has the following advantages:-
- Easier to test,
- Reusability of function,
The third programming language used for demonstration is Prolog which is based on formal logic. Strengths of logic programming include: -
Finally, she does the same thing with a procedural programming language. Assembly. All in all this talk is interesting and challenging. It can push you out of your comfort into a new perspective.