How to get started Programming

How to approach Programming.


Introduction

If you're reading this blog, you're probably interested in programming. Learning to program doesn't only concern the language you start from, but a variety of concepts and techniques.

So, the question is: where to start?

Why do you want to learn Programming?

Before getting to know how to learn to program, let's think about the whys.

Answering this question can get you a lot further than you think.

When I first began programming, I was attracted by such a neat and creative way to approach problems. Yet, I was interested (and I still am) in scientific subjects.

I wanted to create my software instead of relying on o someone else's.

If you know what you want to do, you can find what language to study first.

The basics

If you start programming at school, you'll get through several theoretical lessons.

You may study how computers work, learning about its main components. These concepts are always useful to know. Keep in mind tho you don't need them practically for programming at a low level.

Another rather important topic is the Binary System. You know, the 0 and 1 thingy.

I explained Binary in this unique and bizarre way for a reason. Despite many students begin with the concept that this kind of math is useless, the Binary System, and, consequently, Boolean Algebra is essential.

I'm going to end this here, for now. Later on, in some other posts, I might talk about these concepts more widely.

Which Language?

Choosing a programming language always seems challenging. In reality, the same reason you can choose is the reason it is not.

Let's go back to the reasons you want to learn to program. If you already know you want to create Games, rather than Web Servers, rather than Smartphones applications, you are on a safe path.

A suggestion of mine is to start with popular languages. Although they are plenty of new robust languages, older ones offer more documentation and tutorials.

Not all languages are the same. For instance, you may encounter interpreted and compiled languages, or High-level / Low-level languages.

Low-level languages let you interact with specific machine architectures, which means obtaining the most out of your program's performances.

When you first start programming, I suggest you star with High-level languages. You don't have to worry about pointers, memory management, and similar optimizations.

However, later in your studies, you should study important languages such as C or C++.

Let's give some examples of languages you could start with.

Python

Python is an Object-Oriented interpreted language.

The reason it's so popular lies in its capabilities, easy to read, and robust syntax.

Python is also multi-platform, and you should seriously consider it if you work with any Linux distro.

Another great thing about this language is its diversity of applications.

Python is essential in scientific fields, such as Machine Learning. Moreover, you can also easily develop Web Servers, Desktop / Mobile Applications, Utilities, and more.

Java

Everybody knows Java. Its popularity comes from the number of Web Applications that use this technology.

Java offers a great OOP oriented and compiled language, easy to learn, and with a similar syntax to most OOP languages out there.

Countless companies constantly look for Java Programmers.

Differently from Python, with Java, you'll get used to semicolons and brackets. Yet, this is not always a downside as you can visualize code flow immediately.

JavaScript

Despite its name, JavaScript has nothing to do with Java.

JavaScript is essential if you want to learn Web Development.

In the last years, JavaScript grew in popularity with the birth of numerous Web Frameworks such as React, Vue, Angular, etc.

Advanced JavaScript concepts can be hard to understand. Still, the basics can get you further than you think.

Job Offers for JavaScript developers are exploding lately. If you want to take advantage of this growth, you must keep one eye open for the next big framework.