Can’t wait to start learning programming?
Well, slow down, because you won’t go far without knowing these 21 fundamentals.
Before we start I want to warn you: these are real important facts to know before starting learning, not curiosities. If it’s not what you were looking for, I’m sorry, but you aren’t ready to acquire this skill.
For who is still here: let’s start.
1. What is programming?
Pretty obvious as a question.
I want you to ask yourself: “what do I know about programming? Am I sure is what I expect?”
It’s not what you see in movies, there’s no guy that press random keys on the keyboard at light speed and become the new Mark Zuckerberg.
“Computer programming” is just a way to say “making applications that a computer can run” or, as I like describing it, “tell to a stupid machine what it has to do“.
It’s a slow process that requires logic, perseverance and time.
2. How do I choose my first programming language?
Other people are wrong, all of them, and I can explain you why.
- It depends on what you want to do. No, it doesn’t. So, imagine that I wanted to be a game developer and I was a beginner. To make games one of the best languages I can choose is C# combined with Unity. First of all, C# is an object-oriented programming language, this means that you have thousands of different pieces of code that have to work together, therefore is really complex. Why don’t you start learning how to put lines together first? How can you pretend to be able to create modular chains of code, when you don’t even know how make a computer doing additions? You should start from a simple linear language that can help you to acquire the basis you need. What do you do first: you put the building blocks together, or you buy them?
- It doesn’t matter, they are all the same. It’s true that programming languages are all similar to each other and that it’s much easier learning others after the first, so why should you start with a difficult one?
Start from C and then learn more and more advanced languages.
3. How long does it take to learn?
What? Seriously? Do you really think there is an end?
As everything in life there’s always room for improvement. Anyway, I can tell you how long will it take for you to start understanding what you’re doing.
How fast can you read?
Because after the first “chapter” (the introduction to C) of this blog everything will be clear.
4. What do I have to study first?
Can you open a software on your computer?
If yes, congratulations! You have all the skill required to start (unless you want to start doing super-advanced low-level language stuff that is not needed at all these days)!
Back when I started I didn’t have a clue of how a computer worked and look at me now, I’m teaching others programming.
You don’t even need to be good at maths or logic: the computer will do all the calculations, while learning programming is the best way to improve your logical thinking.
5. Which mindset should I have to start?
Just don’t think you’ll become magically an excellent programmer in the next week.
I’ll teach as best as I can, but for now this is a weekly guide.
Furthermore, as every skill ever existed, learning programming takes time and effort: my job is to make that time and effort as little as possible.
6. Always play with examples
When we’ll start to dive into coding, I’ll put an example code at the beginning of every post.
You can copy and paste it in your file and then edit it as you read through the post and as I explain you how it works.
This will help you to understand it even better.
Then, when you’ve finished reading and you’re sure to have understood the topic, you should practice creating your own piece of code.
People usually don’t do that and, when they try to learn something new, they notice to not be able to apply what they had learnt previously.
Don’t do like them.
7. What if I need help?
You can try searching on Google.
There’s no such a thing like cheating when you’re learning programming, so you can also copy and paste pieces of code from Internet.
The real issue about Google is that takes a lot of time to find what you are looking for, in particular if it’s something difficult or complex.
Otherwise, you can always ask me anything you want and I’ll try to answer as best as I can.
Yes, I know, it seems ridiculous, but this is how programming works.
Programmers fail all the time, trying to fix each bug, however they know is part of the process, so they never give up.
9. Quantity over quality
Each success gives a burst of self-esteem and self-esteem is what helps people to not give up and to keep going.
Quality isn’t so important when you are learning, instead managing to finish lots of fun projects (especially at the beginning) is the best thing to keep your motivation high.
I also recommend you to plan or think about a software (even if it’s small, like something that saves the word “Hi” in a file) you’d like to make, then try to search on Google what you need to realise it.
Just remember to not rush: if you are looking for a topic that is too difficult to understand, wait for me to post an article about it or ask me to write one.
10. Don’t memorise
Oh yeah, this is a funny one.
I love when people fail or get lost when they don’t listen to me.
You can’t memorise a piece of code if you want to be a programmer, why do people do that?
Wait… From a certain point of view, you can, but then you are able to do only that specific program. There’s no point in this!
Coding is not like history or geography, it isn’t static.
If you keep memorising programs, you won’t be able to create variations or something personal: you will always be stuck to that 10 lines you’ve learnt.
Stop memorising, start understanding.
11. Computers are NOT humans
They can’t catch how similar A and a are, unless you tell them so.
They do exactly what you’ve written them to do, they don’t care if you’ve misspelled “chair”, for them is an error.
To sum up, remember: look for these small mistakes too.
How could I forget about this?
It’s one of most confusing concept for a beginner. Here’s an easy explanation:
An algorithm is a list of instructions that even the dumbest guy in the world could understand.
So, in a normal conversation Bob asks Jimmy to bring him a bottle of water, but the algorithm version of it is:
- Jimmy, stand up;
- Turn 90 degrees right;
- Go forward for 3 feet;
- And so on and so forth.
Algorithm is just a scary word, there’s nothing complicated.
13. Programming languages have grammar, too
Like every language in the world, also programming languages have grammar.
Therefore, there are fixed formulas that are just conventional. There’s no reason why they are the way they are, so don’t waste time trying to understand it.
It’s the same thing of asking why fire is called fire: a guy in the past decided so, as simple as that.
14. Do I need a powerful computer?
No, you don’t.
To start learning programming you don’t need a powerful computer at all. I used to code on a laptop that had only 1GB of RAM.
Then, if you want to go on to make games, you’ll need more power, but for now don’t worry.
15. Finding solutions during the night
This meme sum up what happens to all programmers, so if you’re experiencing it yourself, you aren’t going crazy ?.
16. Comment your work
Programmers often forget why they have written a specific code, so it is a good practice to add some comments to your work.
It’s easy to do – for instance in C you just type // to make the computer ignore that line – and it’s very helpful.
PS.: Do not say “I’m gonna do it later”, because you won’t be able to.
17. Don’t reinvent the wheel
Using pieces of code from a well established source is not cheating.
If someone has already created what you need to complete your software, use it! However, make sure you have the permissions to do it.
Anyway, when you have just started learning programming, it’s better to not do such a thing, because writing the code yourself is very important to start understanding the art of develop software.
18. Critics are love, critics are life
I love when people tell me what’s wrong with my program: they make my job a lot easier when I’m trying to improve it.
Always accept critics, they are the best way to improve fast.
19. Delete bad code
A program is not a baby.
If you can’t achieve a result with your current code and there’s another way to do it, don’t waste energy trying to improve what doesn’t work.
You’ll save a lot of time.
20. Please, format your code!
I know that when you’re learning programming you don’t want to stop to format/beautify your code, but please, do it!
You just have to press TAB a couple of times at the beginning of each line and BOOM! look how it is readable now!
It’s a practice that will help you a lot when you’ll be looking for a bug.
21. Computer shortcuts
As I said, I don’t expect you to be good with computers, so last but not least: learn shortcuts.
It’s a pain in the neck to see people who click the right mouse button and then click paste instead of just pressing Ctrl and V at the same time.
Shortcuts are useful not only for learning programming, but for using computer in general!
I hope these 21 tips and answers have helped you solving some of your doubts.
If there’s anything that I forgot to cover and that you’d like me to explain, let me know with a comment. I would really appreciate that.
One last thing: remember to have fun, customise your code. For example: instead of making the computer write the classic and boring “hello world”, change it to “my circuits smell” – or something funny.
Make everything more interesting!
Anyway, the post is finished, have a good day and we will see the next week!
From Zephyro it’s all, Bye!