DEV Community

loading...
Cover image for The Key For a Good Start in Programming

The Key For a Good Start in Programming

Yuri Filatov
Hey, I am an IT Expert and IT Delivery Manager at Andersen
Originally published at andersenlab.com ・4 min read

What programming language to start learning with?

It’s always hard to make the first step, especially when it comes to a new direction in your career - let alone life. Remember: some things can be hard but nothing is impossible. If you think that formal education alone can make you a programmer, forget it. As Elon Musk once said,

Don't confuse schooling with education. I didn't go to Harvard but the people that work for me did.

In this article, we’d like to tell you about the power of self-education, where and how to start programming, and what language to choose.

What questions do novice programmers have?

We suspect everyone who starts in the field of programming has the following questions in mind:

-How to start programming?
-What programming language to choose?
-Is programming going to be easy or hard?

The key to the first question is self-development and self-education. There is nothing wrong with teachers and courses, but you should keep in mind one thing: a course may give you skills but won’t teach you how to study. So you must learn how to look for information to continuously educate yourself.

When self-educating, it’s good to have the mindset of a discoverer. We’re sure that, if you are really motivated, this is not the first article on this subject you’re reading. If it is, we recommend you to read as many sources as possible (remember there is more than one correct opinion).

We all come across some hardships or barriers when we try to study by ourselves. So here is some good news to consider, which will help you make a start:

-You don't need money to start learning. Nowadays, many things are free on the Internet.
-You don’t even need a computer to start. The foundation you should be building on is your knowledge of maths and logical skills.
-You don't need a teacher to make your first steps. There are lots of popular communities where experts are willing to help you and answer every question in a matter of minutes. Some of these communities are:
-Stackoverflow

-Github community
-Coderwall

What language to start programming with?

Programming is not just coding - it’s building algorithms thoroughly. When you make your first steps in programming, any language may seem difficult, but let us tell you a secret: every programming language is just encrypted words. For example, in C++ or Java “a string” means “a line.” You’ve probably realized that programming is closely related to mathematics, so you need to have well-developed mathematics skills.

It becomes harder when you come across definitions like “a variable,” “massive,” “cycle,” “class,” “structure,” and other software words. You’ll need to understand their meanings to start coding. We’d recommend opening Wikipedia and reading some definitions. If they’re not as difficult to understand as you expected, let's move on!

There are some languages that advanced programmers neglect. However, they’re enough to start with. Your primary goal is to think logically and solve problems in your mind, not to learn the language. Therefore, the best starting point would be HTML and CSS. Connected with website development, they are built of tags, and each word there is understandable (for example, “a body” means the body of your website). HTML and CSS are the best things to learn if you are:

-Interested in coding,
-Interested in developing your imagination but not learning the keywords.

Here are some useful resources for learning HTML:
-HTML book
-HTML book ru

An interesting thing is that you don't even need a dedicated app to make your first website in those languages. Just open the Notepad and start writing.

If you are still reading this, that means you are ready to move on.

Let us tell you another secret: it’s more important to choose a programming language that corresponds with your skills than to start with the most popular one. Remember, today a language is popular, and tomorrow it may not be.

All programming languages come from one language that appeared first. Therefore, all of them have a similar structure. However, some of them may be visually easier to understand than others. If you don't have any problems with writing in C&C++ (which are very strict languages and hard to memorize), then you can master any language.

If you think that C&C++ are things of the past, then you’re mistaken. But if it seems hard to you, try to learn Java first. C++ is faster in some ways but Java is well-optimized visually and hence easier. It’s not hard to find information about Java on the Internet - there are lots of tutorials, books about coding, and forums.

What is the most important thing in the beginning?

The most important thing when you start programming is your approach to solving problems. You’ll have to solve tasks like: “There is a frog that jumps between lily pads on the lake. The frog can jump onto only 2 or 3 lily pads. On every lily pad, there are from 1 to 10 flies. Build the best route for the frog so that it can eat as many flies as possible.”

In the beginning, don't think too much about which language to start programming with. It’s more important for you to learn to imagine the whole situation in your mind to think of the solution. Only then can you start deciding on the methods to apply and the language to choose. We recommend googling some tasks on dynamic programming for beginners and trying to solve them. After several tries, you will see that every language is similar, and choosing an algorithm for solving the issue is the main difficulty.

Conclusion

To summarize, here are some of our observations for a solid start in programming:

-You don't need to go to university to learn something as there are lots of books and other sources about programming. Self-education is the key.
-You don't need money to start learning.
-Some things can be hard but nothing is impossible.
-Set a goal and take steps to reach it.

Discussion (0)