So a lot of times, I get messages from fellow devs at School and they always claim that they find it difficult to learn new Languages.
Why you may ask, as students of Computer Science/Engineering we constantly have to learn new Languages in line with the curriculum. It’s more like a new Language every semester.
For instance, when i graduate my school would claim to have taught me C, Visual Basic, Java, Python, C#, HTML, CSS, JS, PHP and MySql.
I don’t know whether it is a good or bad idea(Article for another day).
I think the issue people have is the fact that they learn the language and not programming in itself.
Programming is the same irrespective of the language you choose to use, the only thing that changes is the syntax.
Let’s use the “forloop” as an example here.
In Python the “forloop” syntax is as follows:
for i in range(1,10,1)
(Note that the second and third values in the parenthesis are optional, i only used them to make it look similar to the Java syntax)
In Java the forloop syntax is as follows:
for(int i = 1; i <10, i++);
It should be noted that both code snippets above do the same thing and will give the same output.
However it still ends up confusing new devs, Why?
The answer I think is simple they spend their time learning the syntax of language and forget to learn the basic elements of programming.
So what is a forloop?
A forloop is simply a counting loop that allows a portion of code to be repeated. A forloop has an initial value, a condition and an increment value.
The initial value is incremented at the end of each loop and the condition is tested after each increment to check whether the code within that block is supposed to be run again.
This basic principle doesn’t change anywhere (at least i haven’t seen it yet, i am still a junior developer though).
This applies to all others principles. The fundamental principle is the same in every language, it may differ in the implementation but knowing the basics will definitely help you understand the differences(if any exists).
Look at it this way,
An architect doesn’t learn to construct a 3 bedroom flat, he learns to construct a house and then he applies that knowledge into building houses of different capacities without necessarily having to learn so many new things.
So instead of learning the language itself, try to focus and learn the art of programming. Understand the technologies and apply those principles in whatever language of your choice.
Do you agree with me?
Let me know in the comments section below.