You want to learn programming, but you don’t know which is the right language you should start with.
I have a simple answer for you.
Start from C, but first let me explain you why.
What in the world are you saying?!
Um… I was about to explain…
It is plenty of programming languages in the world and you want me to learn an old and useless one. Are you crazy?!
Wait a second, mate!
The whole point of all your research is learning programming, not memorising some basic code and going around yelling “Hey, look at me! I can make Chrome say hello!“, right?
Real programmers aren’t limited to just one language.
Do you know why?
Because they can learn a new one in almost no time! This is what I want to teach you today: how you can become so good to do the same thing!
What is C and why should I learn it first?
Programming languages are almost all similar and once you’ve learnt one of them is easier to go on to another one.
I’m not joking, it’s true! Go and try asking other developers if you want!
Therefore, it doesn’t matter which language you pick, if you learn it well you’ll be able to reach the goal.
BUT! Here’s the problem: not all languages are easy for a beginner and the speed you can learn a new one depends on your first choice.
So, we are looking for a programming language with lots of similarities with the most important ones and that is quite easy to learn as a beginner (for instance we don’t want it to have too many main features, otherwise it’s overwhelming).
Let’s analyse C:
What is it?
C is one of the first programming languages ever invented and one the most popular.
It was developed between 1969 and 1973 at Bell Labs and now it’s the base from which lots of modern languages has taken inspiration.
It doesn’t have lots of capabilities (perfect for learning the basic programming concepts we need ?), and it permits a low-level access to the computer memory (an advanced feature that we won’t cover in detail).
It doesn’t have object orientation, but it’s just procedural: this means that the code is like a set of instructions, it isn’t modular like building blocks. Therefore, we will cover one programming paradigm (=way to code) at the time, without making confusion with the others (that is what would happen if we started from Java or C++).
Why is it so important?
Despite being one of the most efficient, portable and flexible programming languages ever existed, you don’t hear a lot about it.
It seems like the world doesn’t care about how a beginner can learn programming, but what an experienced programmer should do to get a job.
But what if you don’t know how a computer works, how it thinks? Wouldn’t it be amazing if there was a language from which every other is inspired?
That language exists and is C.
Even Python itself is made with C and it is quite different from his father (what is this “big difference”? Python doesn’t use brackets as C does, just that). Most of the other languages are not that different.
Do you know why they say all programming languages are similar? Because they are all similar to C.
Do you really want to learn programming?
Why not choosing other programming languages?
I haven’t convinced you yet, have I?
I have no other choice than to explain you why you shouldn’t choose other languages.
So let’s see the “Top 4 popular languages not in the right order” and why you shouldn’t start from them.
Top 4 popular languages
The main argument in favour of it is: it is important for web design and web design is important.
Be good at web design is just one of the easiest way to get a job, but you’ll be more likely to be stuck when you’ll try to learn a general-purpose programming language.
This isn’t a problem for who already knows how programming works, but having these right at the beginning of your path is just overwhelming.
And then, what will you do? You know languages that are perfect for making web sites, but now you have to start from the top if you want to pick another one.
Isn’t it better to learn something that is general-purpose (like it was a tree trunk) and then go to the branches?
Your knowledge would be more solid.
I. Love. Java.
Once I learnt object-oriented programming, everything became easier and amazing.
However, I could easily learn it because I had a very solid knowledge of the procedural and functional programming.
Object oriented programming is just an expansion of the procedural one that make coding modular.
Let’s go back to the building blocks example:
- object-oriented programming is like having lots of different boxes, each one with pieces of different colours put together in pre-built structures;
- Procedural programming is what you need to build that structures.
As you can see, procedural programming is needed to use object-oriented programming, but Java focuses a lot on the last one.
My piece of advice for you is starting with something where it isn’t compulsory to learn these two different ways of programming at the same time.
C++ is object-oriented like Java, but you can also ignore that feature and just use procedural programming.
You can do the same thing also with Java, but it wouldn’t be exactly the same, but more like having one box of building blocks of the same color.
Being an evolution of C, C++ has all the features of his father plus others for object-oriented programming.
C++ programming without object-oriented paradigm is the same as C.
Some functions are a bit different, but I can easily show you a comparison in the next tutorials.
So why shouldn’t you start from C++? You can, but you should just limit to procedural programming.
All the languages we’ve seen until now are pretty similar to C, but Python is not.
It has a different syntax from all the others, so, although it is easy to learn, it makes things tough when it comes to study a new programming language.
Trust me, this is enough to choose C instead of Python.
Another week, another post comes to an end.
I hope I’ve been clear enough to make you understand the importance of C and why you should start from it instead of more popular programming languages.
I also want to share with you, brave soul that manage to read this article until the end, a secret:
the difference between who choose his first programming language to learn the skill and who does it thinking about a job is that the first one will become a programmer and the second one will probably give up.
Said so, let me know what YOU think writing a comment below – I can’t wait to read it!
Anyway, the post is finished, have a good day and we will see the next week!
From Zephyro it’s all, Bye!