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.
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.
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.
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.
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.
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.
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.
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! I'm doing a free webinar on May 26th over Git. You'll learn everything you need to know to start working with Git and GitHub. If you haven't used Git before, this will be a great introduction to it. If you have used Git before, this will be a pretty good refresher. You can go register for the webinar here