How To Choose A Programming Language Guide 2021

How To Choose A Programming Language Guide 2021

With the blessing of the Internet, people can learn anything anytime, anywhere without any hassle. Programming Language is one of the examples. Nowadays, not only students but also general people learn programming language as hobbies or to make a career on it as programming could be fun and buy you a Lamborghini at the same time. No kidding, As of Nov 1, 2020, the average annual pay for a Software Developer in the United States is $86,523 a year. Don’t worry, and you don’t need talent, just passion; you can earn too.

However, Choosing a programming language is challenging when you’re getting started. Whenever you search about it, they lead to new recommend blogs, articles, or youtube videos, which could be very confusing. It's not only you; almost everyone faces this common problem. Even I was confused when I started my computer engineering degree.

Table of content

Don’t worry. This article will help you to pick the best language for what you want to learn and become. To learn without any stress, follow the steps below.

No More Confusion😕

Every time you search on google or watch videos, you would be like, WTF??!! So, in short, just to let you know,

Python is king!😎

Java is down!😪

C++ is hard!🤐

Javascript is boss!😎

PHP is no more! 😰

confused

All these languages make you confused?!! Forget what you have read before about this and make your mind and head clear now.


Choose A Development Field ⛏️

Make your mind about which field you want to work with to be less confused. There are many fields such as,

  • Web Development
  • Mobile App Development
  • Desktop App Development
  • Machine Learning
  • Security (Software / Network)

And many more. Just Pick one of them. Let me explain a little bit to understand those fields.

💠 Web Development

Web development is the building and maintenance of websites; it’s the work that happens behind the scenes to make a website look great, work fast, and perform well with a seamless user experience.

💠 Mobile App Development

Mobile app development is creating software intended to run on mobile devices and optimized to take advantage of those products' unique features and hardware.

💠 Desktop App Development

Desktop Applications are run stand alone on the user’s laptops and systems. The term used for these applications desktop differs from mobile applications, which are in the trend. The key features of desktop applications are the high efficiency of the application, and these are highly customized as per user requirements and flexibility.

💠 Machine Learning

Machine learning is an application of artificial intelligence (AI) that provides systems the ability to learn and improve from experience without being explicitly programmed automatically. Machine learning focuses on developing computer programs that can access data and use them to learn for themselves.

💠 Software Security

Software security is an idea implemented to protect software against malicious attacks and other hacker risks so that the software continues to function correctly under such potential risks. Security is necessary to provide integrity, authentication, and availability.

💠 Network Security

Network security is a broad term that covers a multitude of technologies, devices, and processes. In its simplest term, it is a set of rules and configurations designed to protect the integrity, confidentiality, and accessibility of computer networks and data using both software and hardware technologies.


Choose A Programming Language🛠️

Choose a language based on the platform. Why, if you ask? It will help you to learn faster, and you can become more productive. Now the main problem, There’s a lot of programming languages. Wikipedia has a list of over 700 programming languages.

what

Wait. WHAT!! 😲

Are you kidding me? How can I choose a programming language over 700 languages?

Hold your horse, man. Don’t worry.

Before that, Check out this gem.

programmic joke

I will give you a better explanation. Don’t get confused after seeing the list. We don’t need to know about it anyway. I will provide a good summary of programming language that can use for personal work or company work.

🔷 Java

Popularity: Very high

Ease of Learning: Moderate to Difficult

Use Cases: General Use and Specialty

  • Web applications
  • Mobile
  • Embedded systems

🔷 C

Popularity: Medium

Ease of Learning: Moderate

Use Cases: General Use and Specialty

  • Embedded systems
  • Hardware drivers
  • Local Applications

🔷 Python

Popularity: Very High

Ease of Learning: Easy to Moderate

Use Cases: General Use and Specialty

  • Web Applications
  • Artificial Intelligence
  • Machine Learning

🔷 C++

Popularity: High

Ease of Learning: Difficult

Use Cases: General Use, Specialty

  • Local Applications
  • Web Services
  • Proprietary Services

🔷 C#(Sharp)

Popularity: High

Ease of Learning: Moderate

Use Cases: General Use

  • Web Applications
  • Local Applications
  • Services/Microservices

🔷 HTML

Popularity: High

Ease of Learning: Easy

Use Cases: Web Sites and Application

  • Web Development

🔷 Java Script

Popularity: Very High

Ease of Learning: Moderate

Use Cases: General Use

  • Local Applications
  • Web Applications

🔷 PHP

Popularity: High

Ease of Learning: Easy

Use Cases: General Use

  • Web Applications

🔷 SQL

Popularity: Very High

Ease of Learning: Easy to Moderate

Use Cases: Specialty

  • Database Queries

🔷 Objective-C

Popularity: High

Ease of Learning: Difficult

Use Cases: Mobile Applications

  • Apple iOS devices: iPhone, iPad

🔷 Ruby

Popularity: High

Ease of Learning: Easy to Moderate

Use Cases: General

  • Web Applications
  • Scripting

🔷 Swift

Popularity: Medium

Ease of Learning: Moderate to Difficult

Use Cases: Apple Mobile and Desktop applications

  • MacBook
  • iPhone
  • iPad

🔷 GO

Popularity: Low

Ease of Learning: Moderate

Use Cases: General

  • Web Applications
  • Local Applications

🔷 Perl

Popularity: High

Ease of Learning: Easy to Moderate

Use Cases: General

  • Local Applications

  • Web Applications

🔷 Dart

Popularity: Niche

Ease of Learning: Moderate

Use Cases: General

  • Web Applications
  • Mobile Applications

🔷 Kotlin

Popularity: Medium

Ease of Learning: Moderate

Use Cases: Mobile Development

  • Android Applications

🔷 Visual Basic .NET

Popularity: Low

Ease of Learning: Moderate

Use Cases: General Use

  • Web Applications
  • Local Applications

Image Credit: Carlcheo.com

Choose only one. Start from the very basic and practice every day for at least 2 hours. And try to solve problems.


Work On Projects🗄️

After choosing a project or where you want to work, choose a language. And after that, Start working on small projects. Like building a simple calculator. Little by little, go from small to big projects. Projects will help you to understand what is lacking. Challenge yourself to create new things.

Best things to do, Build 30 things in 30 days of the challenge.

#build30thingschallenge #mubinsodyssey on Twitter with us.

Here some project Ideas, if you don’t have for yourself. I would say work on the common and small projects first, then go for your ones. It will be more productive and efficient for you.

  • Guess The Number
  • Rock, Paper, Scissors Game
  • Password Generator
  • Dice Rolling Simulator
  • Hangman Game
  • Digital Cloak
  • Word Counter Tool
  • Percentage Calculator
  • Height & Weight Converter Calculator
  • Temperature Conversion tool
  • Restaurant Bill Management System
  • ATM Management System
  • Movie Ticket Booking System
  • Attendance Management System
  • Tic Tac Toe Game
  • Banking System
  • Library Management System
  • Student Report Card Generator
  • Contact Management system
  • Pacman Game
  • Personal Diary management system
  • Quiz Game
  • Typing Tutor

And many more. Just google small projects.


What’s Next ⏭

After that, chose one of the below options that suit best for you.

  • Apply for a job; which will help you to get real-world experiences in the programming world
  • Freelancing; which will introduce you to other programmers where you can enrich your programming knowledge
  • Startup; It will develop your own idea.

Here some best websites you can search for your desired jobs.



🚩👉 If it was useful to you, please Like/Share to reach others as well. Please hit the Subscribe button at the top of the page to get an email notification on my latest posts.

I talk about web development and UI design on Twitter @kmhmubin, come to talk with me there!

The cover image is an improvisation on top of the work from Freepik.