Education logo

Which Programming Languages to Learn in 2021?

and beyond

By Sriram SrinivasanPublished 3 years ago 6 min read
Like
Which Programming Languages to Learn in 2021?
Photo by Christopher Gower on Unsplash

The title question "Which programming language to learn in 2021?" is the question everyone who wants to become a software developer asks every year.

All you need to do is, change the year on that question, and if you google, you will find someone would have asked for it.

My goal in writing this article is to provide an answer that will withstand time, so even in 2030, someone with this question, this article should still be relevant.

Very ambitious but, it's worth a try.

We are all dusting and climbing up from the great fall called the Covid-19 pandemic. Many have lost jobs and still losing jobs.

There is a movement happening now to push more people into programming. There is a huge demand, and it's also a viable option for anyone to get a job that is well paying.

Many will be in a desperate condition so, they want to learn to program as quickly as possible and start applying for jobs. I understand. But you got to realize this. You can't become a programmer overnight or over few weeks.

It's a process and will take its time(how much I have given below in this article) so, you got to be ready to go through this process.

Remember, this is a marathon race, not a 100-meter dash.

With this in mind, let's begin.

Skill vs. Tool:

Programming is a skill, and programming languages are tools. You develop this skill using a programming language is the basics.

Like in any other profession, there are various programming tools, and each created for a specific purpose or surprisingly adapted to a specific need.

For example, Java got invented at the cusp of the web revolution, and even after 25 years of its existence, Java has found its place in writing domain services.

But, if you see, Python was invented as a general-purpose language.

To build websites and write automation scripts. But found a niche and became a superpower tool in the areas of data science, AI.

You got to be clear on this.

You are learning a skill. To learn, that skill you are using a tool called a programming language.

The Journey:

When you first start this journey, your focus should be on getting your basics right.

It is this that differentiates a developer from a great developer or an average developer.

Great developers will have a strong fundamental knowledge of programming.

This knowledge they map it to any language they need to learn according to their job requirements.

What are those basics that everyone should learn?

Every programming language has basic structures that are required to write a program. These structures we need to learn theoretically and practice that using a programming language.

Let me list out those here.

The basic structure of a program

How to compile and execute a program?

Variables

Keywords

Comments

Operators & Operands

Conditional Statements

Loops

Iterators

Functions

Packages

Modules

Object-Oriented Programming constructs

Lambdas

Exception Handling

Language libraries like String, Math, etc.,

How to debug a program?

How to test a program?

How to deploy a program?

The above listed are the structures of a program. All general-purpose programming languages cover these and a bit more specific to that language.

But if you are good at these, you are well on your way to become a great developer.

Now the penultimate question, with what language should I learn first?

I strongly suggest starting with Java. My reasons are listed below.

Java is the go-to language for writing business services today.

When someone talks about microservices architecture, their implementation of that would be 90% in Java only.

Twenty-five years of a strong developer base and language ecosystem, hence getting help when you are stuck is easy.

Excellent learning materials (video courses, tutorials, books) are available in every aspect of Java.

Java language is still the most sought out skill in the job market.

Excellent tool support is there for you to learn. For example, the IntelliJ Idea Community edition is an excellent IDE for you to learn Java, and it's free.

So, in no-time, you can get started to learn to program using Java.

It will take time to cover the basics and practice what you have learned to become confident.

Depending on your daily time availability to learn, it may take from a minimum of 3 months to 6 months for you to cover the basics, practice, and be a productive Java junior developer.

You got to have patience.

In today's jargon chasing madness, you should focus on getting the basics right.

Mistakes to avoid:

Avoid chasing jargons at all costs. You will be super-tempted to run behind frameworks when you start learning a programming language. DON'T DO THAT. Even those frameworks are written using the language you are learning. So if you don't know the language enough to converse using it comfortably, then you will not understand the framework also. You might think, you got it, trust me, you did not.

Avoid taking shortcuts. That is skipping topics or before getting proper understanding rushing forward. It will give you a weak foundation, and you will be coming back again and again to learn these. The time wasted on this iterative learning can be avoided if you have the patience to learn it correctly the first time.

Don't copy-paste code, execute it, and think you have learned that concept. You have to type that code, and while typing, map it to what you have learned. It will solidify your learning.

Don't look at job descriptions. Seriously. It will scare you with all jargon available in the industry. Remember, you are in the first step of the glorious career called programming, you are a baby now, and you need to grow step by step, so having super-focus on getting your basics right should be the only goal for the time frame you have fixed for this.

Don't look over the shoulder to see what others are doing. That fellow would have been in a different position and different level in terms of knowledge. It's your journey, not his/her. Be very careful to avoid this. Many have derailed from their journey by looking over what others are doing.

If you guard yourself against such temptations and do the time, you will be way above the crowd at your level say 90% above.

Once, this is done, the next step should be what to learn next, which depends on where you want to go for your job. A start-up, A product company, or a services company?

For each such goal, there is a separate approach in terms of preparation, that I will cover in detail in my next article.

student
Like

About the Creator

Sriram Srinivasan

Writer

Reader insights

Be the first to share your insights about this piece.

How does it work?

Add your insights

Comments

There are no comments for this story

Be the first to respond and start the conversation.

Sign in to comment

    Find us on social media

    Miscellaneous links

    • Explore
    • Contact
    • Privacy Policy
    • Terms of Use
    • Support

    © 2024 Creatd, Inc. All Rights Reserved.