DEV Community

Cover image for How To Decide Which Programming Languages To Learn
Milecia
Milecia

Posted on • Updated on

How To Decide Which Programming Languages To Learn

Nowadays there's a programming language for everything. It's not a bad thing necessarily. Although it does leave people who want to learn a programming language confused. There are so many options to choose from for almost any specialty you can think of, so how do you know what to pick?

You're going to invest the time and possibly money into learning this so you want to make sure you're confident in your decision. Here are a few questions you can ask yourself when you're thinking about learning a new programming language.

What do you like?

Are you looking for a challenge or are you trying to pick up a language quickly? Some programming languages take more time to learn than others so it pays to spend some time researching them. There's functional programming, object-oriented programming, analytical programming, and all kinds of other variations.

You want to pick something that matches what you like. If you're trying to learning something relatively fast, you might look into object-oriented programming languages. If you want more control over the execution of your control, you might look into functional programming. To find out for sure what you'll probably like, try out a few different languages.

You can find documentation online for most programming languages and you can read through it to see how quick you pick it up. That's the fastest way to figure out what you like. Plus it will give you some exposure to different styles of programming and multiple languages. It never hurts to know a little bit about different languages.

What is the market in your area like?

The majority of people are learning how to code so they can make a career change or start freelancing. One really good place to figure out what languages you should start with is by looking at job descriptions for web developers in your city. Most of the time companies in the same city tend to use the same technology stacks so this would help you increase your chances of finding a job.

You might find out some surprising trends in your city that don't match the rest of the country or world. There is a chance you could find postings for people who know FORTRAN. Do a little research on the companies you like or for the salary ranges you want and find out what they're looking for. Then start learning.

How long has it been around?

New programming languages and frameworks are popping up all the time. You can take a gamble on a particular programming language becoming a rising star. Or you could play it safe and go with a more stable language that has some history behind it. Be careful when you look at the age of a language or framework.

Just because something still exists doesn't mean a lot of people still use it. Look at what's happened to jQuery over the years. When you consider how long it's been around, think about how much it's still being used as well. You can also look at trends and place your bet on learning a cutting edge language or framework.

It's hard to say which languages will be the frontrunners five years from now because things change so much. Look for something that has an established history with a consistent user base if you want to play it safe.

Why are you learning it?

Not all programming languages are meant to be practical. Take a look at WhiteSpace. This is a programming language that couldn't possibly be used for practical applications. All of the code is written in spaces, tabs, and other white space characters. Although it is something interesting to learn for fun.

Learning a programming language for fun gives you access to some weird stuff that you would never use for a job. Decide early on if you want this to be a hobby or if you plan on using it to make money at some point in time. It'll make it easier to narrow down what language you really want to learn.

Is there a good community for it?

Bugs are going to happen because nobody writes perfect code. There is a chance that someone else has experienced your bug before though. Can you find them and get their help? That's important when you're building applications and websites and you run into problems.

When you can find multiple active forums where people are talking about the language, it's probably safe to invest the time into learning it. Communities also push for changes to the languages that make them better to use. You could find something that warrants a change to the whole language when you start talking with other developers.

Is it being maintained regularly?

You can usually tell when a language or framework is being maintained well by the quality of documentation you can find and by how active the community is. Even a programming language can be improved so it's important to see that happening.

You don't want to spend time learning a dead programming language and it would be hard to do so. Look at the version release history. While you want your language to be well maintained, you don't want something that's going to change every month. But keep an eye on updates that get released and look at some of the bugs that were fixed.

Where can you learn it?

There are tutorials up for just about any programming language you can think of, but how many there are and the quality of them varies. For the big languages like JavaScript or C, it's easy to find mountains of tutorials. But for more abstract languages, it might be harder to find learning resources. Make sure that you can find enough sources to at least learn the fundamentals of your language of choice.

Learning a new programming language can be fun and it can help you make a career change, but these quick checks can help you choose the right one. I've been on the lookout for some strange programming languages and believe me I've found a few. But what are some of the craziest programming languages you've tried to learn?


Hey! You should follow me on Twitter because reasons: https://twitter.com/FlippedCoding

Top comments (16)

Collapse
 
spikespaz profile image
Jacob Birkett

I strongly disagree with this statement:

If you're trying to learning something relatively fast, you might look into object-oriented programming languages. If you want more control over the execution of your control, you might look into functional programming.

Object oriented programming languages mostly have the same level of control as a functional language, and even if not, bindings can be made to C libraries. Functional programming is definitely easier to pick up more simple concepts with, but in the long run, doing everything manually and moving data around would be a mess.

Collapse
 
thefern profile image
Fernando B 🚀 • Edited

Great article, if is a beginner trying to pick a language it won't make much difference if is an oop, functional, etc. I do recommend to learn basics without diving into a language first. Either pick up something like Raptor Flowchart (Visual programming), to learn loops, variables, statements, etc or Scratch, or any other visual programming tool.

Imo, learning programmming concepts while learning a brand new language tends to get people discouraged quickly. So it is better to separate those two if possible.

Collapse
 
steventimfuller profile image
Steven Tim Fuller

I’m a total novice.... about to start a boot camp in few weeks. What do you suggest I study to prepare? I would love to talk about the things you mentioned above... steventimfuller@gmail.com

Collapse
 
thefern profile image
Fernando B 🚀

Email sent. Looking forward to your reply.

Collapse
 
zejnilovic profile image
Saša Zejnilović

I like the article you wrote. I only have one thing I don't like about the article, the statement "to follow the market" from the 3rd section. Did I understand the message there correctly?

Collapse
 
academichelpuk1 profile image
Academic Helpers

Innovation is progressing speedier than at any other time, and therefore, so are the requirements of procuring chiefs on the ceaseless inquiry to discover developers who know the correct coding dialects. There's no better time for programming aficionados and amateurs alike. Best Dissertation Help

Collapse
 
gabrielleduggan profile image
Gabrielle Duggan

Hi Milecia, It's an amazing post. According to me, the one you pick may be decided for you because of the part of the technical stack that interests you. A front-end developer works on user-facing code, which involves learning JavaScript. A back-end developer works with the server, database, and application which may involve languages like Ruby or Python. I'll share this post on my social channels for students who are looking for IT Assignment help.

Collapse
 
jack908 profile image
jack908

Innovation is progressing speedier than at any other time, and therefore, so are the requirements of procuring chiefs on the ceaseless inquiry to discover developers who know the correct coding dialects. best academic writing services UK

Collapse
 
milliallen profile image
Milli Allen

Python programming languages control other programming languages, such as C, C ++, or Java.it has been going well for over 25 years and is one of the fastest growing programming languages. Python itself presents its success and its promising future.
Python is one of the most common programming languages these days and because of its readability it is a language that beginners can easily learn.
Java is one of the most common programming languages today.
Assignment Writing Service in London

Collapse
 
holeio682 profile image
holeio682

Afraid of his father suffering, afraid of his mother crying, afraid of making children filial. Afraid not strong enough because his back has no wings to fly like a kite. hole io

Collapse
 
juancarlospaco profile image
Juan Carlos

Best place to learn is exercism.io/tracks because is Open Source,
if you dont like it you can fix it, the whole thing is open source.

For "area" nowadays with so much Remote work, I think is not too important, and thats awesome.

Collapse
 
adeline112 profile image
adeline112

Another distinguishing element of the world of solitaire is the option to discard moves if you get stuck or want to rearrange your tiles. Opportunities like these can be overlooked with more challenging games and regular players.

Collapse
 
ellisgrey profile image
Ellis Grey

For freeing working understudies from the joined uniform of their work and studies, Write My Assignment For Me gives the best composing arrangements. Presently you just need to shoot an email with a basic 'Kindly finish my task!' message, and your request will be done and conveyed before your normal time.

Collapse
 
ericmutua44 profile image
Eric Mutua

This is very informative article.I think the choice of your programming language should be influenced by what you want to develop or your career path.this speedywriters can help you understand more

Collapse
 
kawi3462 profile image
kawi3462

This is a great article i read here and made me work on my site sample papers

Some comments may only be visible to logged-in visitors. Sign in to view all comments.