- The main goal of this article is to make learning coding possible and affordable for anyone!
“What programming language should I learn if I am new?”
“Which programming languages are the most in demand for jobs?”
“What is the most popular programming language?”
The best programming languages!
If you are looking for an official ranking of the best programming languages, you can find it here: IEEE Spectrum top programming languages
This list is great for checking if a particular programming language is in use today. However, if you are new to programming, I do not recommend choosing a language based only on a specific menu.
How to choose a programming language?
Computer science is an entirely cumulative field of study, meaning that each successive topic builds on a previous topic.
If you’ve previously tried learning to code in school, did your best, but failed – the problem isn’t with you
A good professor in any cumulative subject carefully observes the curriculum. Provided that each student has adequately prepared and fulfilled the preconditions, the expectations of students’ prior knowledge should be clear. A good teacher understands expectations and does not assume any knowledge outside of this field. Anything outside of expectations must be learned as each topic in the curriculum is arranged in a sequence, taking into account the other topics.
When the topic is cumulative, careful attention must be given when designing the curriculum or learning path. However, do not choose a language to rank it; Choose a language for which you have a complete learning path and do not make any assumptions about prior knowledge.
A few words of advice
Before you start learning how to code, it’s important to think about the point I made above: everything in computer science is cumulative.
I would like to repeat this because the biggest mistake you can make as an aspiring programmer is giving up because you don’t think you are smart enough to learn programming. Learning to code has nothing to do with your intelligence.
Yes, coding is hard to learn, not because of who you are, but because there are so many topics to learn.
First rule, accept that the following scenario will happen: You are introduced to a new topic that has no meaning at all.
This scenario will happen again and again. How do you handle this situation, every time it happens, this is the only factor that will determine your success.
If the current topic you are learning doesn’t make sense, stay where you are and don’t move on to the next topic. And again, the topics are cumulative. Jumping forward is like trying to attach a roof to a house that lacks walls and a foundation.
I always find myself in such a situation. I often have to rewatch the same lecture video tutorials several times in order to understand what I’m learning. Don’t feel discouraged if you find yourself in my place.
If the tutorial (or book) you’re using doesn’t explain the topic enough, you’ll have to find other resources that work for you. There’s no excuse to hold back just because the tutorial covers a topic just not for you. You can find anything you want to learn for free on YouTube. Find out what to search for, for example, ([topic] by [programming language] + any other useful keywords).
If you search YouTube for specific tutorials, check the stats first. Quickly look at the rating and / or the number of views. If you are still not sure if the video is worth your time, read some comments to attract other people’s opinions.
Lots of topics just wouldn’t make sense the first time. So, just keep away from your negative thoughts.
The goal is to be aware of your understanding of the topic as you learn. As you progress along the learning path, you need some thought for each topic you cover
Ask yourself questions like:
- “Does this topic make sense to me?”
- “Did you find any new terms? If so, is there an official definition for each new term? “
- “Did you learn any new skills? Do I understand how each new skill is used? Can I prove my understanding of this skill by solving problems I encounter during the application? “
- “Can I remember what I just learned tomorrow? The day after tomorrow? If not, how will I remember it? “
One final tip: Never underestimate your stopping power. Preservation is a completely unexploited approach to learning. Yes, understanding the topic is the ultimate goal. However, understanding may take time. If you really struggle to understand a particular topic, break down the topic and memorize the important terms. If you cannot understand how to do something, your immediate goal should be conservation. If you need tips on how to tackle memorization then consider using the card technique.
1 – Fundamentals of Computer Science
The first step is to learn the basics of computer science so that it is easy to understand for anyone without a background in computers.
The basic concepts are mostly declarative. You can read casually, which is good for you. Approach each semester as if you were in school and you should be able to remember the definition of each semester for the exam. You don’t have to be completely obligated to do so if you don’t want to. However, the more these concepts you can memorize, the easier it will be to understand these later topics.
2 – Propositional Logic (optional)
No, you don’t have to be strong in math to be a programmer. Math skills can be helpful, but not necessary.
If you are a disbeliever about your abilities in math, I recommend learning hypothetical reasoning. The principles covered in hypothetical logic are for building programming parts.
You can learn hypothetical logic from this YouTube tutorial: Basic Concepts in Propositional Logic .
3 – Java Programming
After you learn the basics of computer science, you will be ready to learn a programming language.
I put a lot of thought and effort into designing a path suitable for everyone, regardless of their background. I chose Java for this learning path because Java is the language I have most experience with.
Java is one of the most in-demand programming languages. It is classified as an object-oriented programming language (you’ll learn what this means later) and is used for making desktop, web, and smartphone applications.
If you prefer to learn from books, I recommend the following: Head First Java .
If you are looking for a video tutorial, we recommend you to watch Videos # 1-19, 31, 33, 88 and 93 in YouTube Java Tutorial by Derek Banas
The first video in the YouTube tutorial will direct you to download a computer program called Eclipse. It is an Integrated Development Environment (IDE). You can think of IDE as a fancy term for a word editor made for programmers. It is just a computer application that provides a text editor for programming, along with other tools to run your programs. Here is the link for Derek Banas YouTube video on how to download Install Eclipse for Java .
4 – Algorithms and Data Structures
5 – Android development
Android development is, in my opinion, one of the most fun Java programming applications out there. Android applications are mostly programmed in Java and more recently through the Kotlen language , so once you learn Java, you will be ready to learn Android.
Here is the Best Free Video Tutorial to Start Learning Android: Udacity-Android Development for Beginners .
After completing the Udacity course above, you have two options that you can go from there to there. There should be an extension of the above course taught by the same group of Google employees. Additional lectures should become visible once you pass the course (if you can’t find it, search for it on Udacity). This is a good option, especially since it is free.
However, if you are willing to spend money on an outstanding book, I highly recommend the following: Head First Android Development: A Brain-Friendly Guide .
This book provides detailed explanations and helpful pictures to really help you learn basic concepts of Android. Each chapter guides you through an example application. Everything is explained with precision, using words and diagrams that anyone can understand.
Stack Overflow is a website where programmers can get free help in learning their code. If you get stuck and want to ask a question, find it first. If you cannot find your question, create an account and post the question yourself!
There are a lot of educational websites where you can find programming lessons.