Should you learn just a programming language straight away or focus on fundamentals of programming at first?
Long story short: you should absolutely start your – hopefully lifelong – journey into the world of computers and programming by learning the fundamentals of programming at first. (You'll learn at least one programming language while doing that, too.)
Why's that so?
Think programming as an ability to think logically and coherently, to be able to form sentences that make sense. Meanwhile, a programming language (or to be more accurate, its syntax) is like the grammar of a spoken language. If you want to write a book, or even express yourself in any way, you need to be able to think, write and speak in a logical, coherent and in general, an understandable way.
The ability to form coherent and understandable sentences is a requirement to be able to speak any language. It's an universal skill. The same basic principles of thinking and expressing yourself apply in every major language, so once you master them, you can learn almost any language in the world. Code is the language of computers and there are many and vastly differing programming languages just like with spoken languages in real life.
You've probably realized by now that it doesn't work the opposite way. You really can't learn the grammar of a language before you're able to think and express yourself understandably – and if you somehow still managed to do it, it'd be of no use to you until you'd learn to express yourself in an understandable way in general. The same applies to computers. Knowing the "grammar" of a programming language won't help at all if you don't know what to write.
Having a meaning in your sentences is called semantics. On the other hand, all programming languages' grammar is called syntax.
Computers are stupid. Like, really! If there's one wrong character in the wrong place in your code, it might not work at all. These are called syntax errors. It's just as if you had made a grammar mistake. While humans would probably understand your sentence despite of the faulty grammar, computers can't. Thankfully we have tools like code editors and IDEs (that stands for Integrated Development Environment) that monitor the syntactical correctness of your code and start nagging about the syntax errors right after you make them. They're like your mother that starts complaining about you causing a mess right after you've left your coffee cup next on the computer table (just for a minute!). Despite of that, you'll learn to appreciate them quite quickly as you notice how much it actually helps to have something making you to correct your syntax errors right away.
To be honest, I fooled you a bit. Computers are actually really smart – they do exactly the things you tell them to do. So when your code is not working, the computer is not being stupid. In reality, the source of the error sits (or stands, or lies) in front of the computer. (In some rare cases there might be an error in the language you're using or in the tools used to build and/or run your code – they've been written by humans that make mistakes, too – but having an error in the language or technology you're using is extremely rare with especially the technologies and languages that you'll be using initially. By the way, those errors are called "bugs" because of historical reasons.)
Making and facing your mistakes all the time might feel brutal and mentally crushing at the beginning, but don't worry! You'll get used to it. All programmers – even the best ones – make mistakes constantly. And making mistakes is the best way to learn programming. Professional coders have had to make thousands and again thousands of errors to become as good as they are in what they do for a living. You'll make tons of mistakes, just like everyone else. So if you think that you're bad at programming, maybe it helps to know that so's everyone else at the beginning. Some people take longer to learn than others, but it doesn't matter. Learning to program is not matter of not falling – it's matter of getting up after each fall.
I have no special talent. I am only passionately curious.
— Albert Einstein
In addition to the syntax errors, there is an other type of error as well. They're called semantic errors. When a programmer makes a semantic error, it means that they've written their code formally correctly (so that there aren't any syntax errors) and that the code works, but it just doesn't work like it was intended to. It's as if you thought you pressed a button on a coffee machine to make an espresso, but you accidentally pressed button for cappuccino instead. The coffee machine works just like it's intended to, making a cappuccino after the button for it has been pressed and leaving you wondering why did the hecking machine make a cappuccino when you told it to make an espresso! Computers work the same way. (In reality, some kind of computer is guiding the actions of the coffee machine too, but you get the idea.)
Make sure that you handle the fundamental topics of programming and join the journey into the world of computers with me! In addition to the fundamental elements of programming languages, you'll also learn things like software architecture (the structure of program code) and why things like interfaces, APIs, and modular design are among the best things the humankind has ever invented, useful things about software development as a process and why programming can be – and often is – a creative art of problem solving. We'll focus on things that really matter and build a rock solid foundation that will help you immensely in your future endeavours!
Could this be you?
Whether you're aiming to aiming to land a secure and high-paying job in the field or you just want to be able to make cool stuff in your hobby projects, what are you waiting for? Let's get started!