25th Feb 2020 7 minutes read What Programming Language Should You Learn? Magdalena Wojtas programming e-learning Table of Contents Choosing Your First Programming Language How to Choose the Right Language to Learn Choose the Next Language to Learn For Data Enthusiasts (R) For Websites Creators (JavaScript) For Practical Programmers (Java) For Mobile Applications Creators (Swift / Kotlin / Java) For Database Masters (SQL) For Everyone (Python) Summary If you've ever been wondering which programming language you should learn first, you know that's a tough nut to crack. It’s especially difficult if you are new to IT and programming. In this article, I give suggestions for what to learn first and what perspectives each language can give you in IT. There are hundreds of programming languages, and new ones are showing up all the time. Getting to know all of them is simply impractical and impossible. The majority of programmers know more than one language, but there must be one to start with. What should you take into account, and how do you make a good choice? This short guide will help you decide what your next step into coding should be. Choosing Your First Programming Language Choosing the very first programming language to learn is a tricky thing. It's hard because you have no previous experience with coding. Consequently, you have no point of reference for which language will be optimal for you. As I mentioned before, there are numerous programming languages in the IT world. Some are more popular than others; some are just the shooting stars, temporary trends; and some last for decades. Some languages serve certain purposes, and some are more universal. Should you go into front-end or back-end development? Which coding language would be the best for developing games, and which would cope with data analysis? That's not making things easier, is it? The good news is that this is not the choice for a lifetime. The very first programming language you try doesn't need to be the one. You can always change your mind and try some others. Actually, it's a good idea to try a few programming languages to know which one suits you best or is the easiest for you to learn. When I was starting to learn to code, I took weekend classes in Ruby on Rails, but it wasn’t the right fit. Sometime later, I tried learning Python, and it was love at first sight. Even though I ended up working as a front-end developer, mostly with CSS and JavaScript, I still have warm feelings toward Python. As you can see, the language you learn for fun and side projects and the one you learn for work doesn't necessarily have to be the same language, and that’s fine. How to Choose the Right Language to Learn There is a brilliant infographic that's being referred to in almost every discussion about starting to learn to code. It is widely shared in groups for IT beginners in social media. This funny, quiz-like tool helps you choose which programming language you should learn first. (Don't take it too seriously, though. Just have fun answering these questions!) An infographic showing the process of choosing the first programming language to learn. As you can see, programming languages have different purposes. Some are more universal, like Java or Python, and some were designed for certain projects (e.g. Swift is a language used for creating mobile applications for iOS devices). Java is widely used in big corporations while start-ups tend to choose Python or Ruby. Choose the Next Language to Learn The IT industry is rapidly changing, so the ability to learn new skills quickly is in high demand. The chance that you'll be working with only one programming language is relatively low. In my opinion, the more experience you have in coding, the easier it is to choose (and to learn) the next programming language. Sometimes the decision is already made for us—a new project at work requires a certain language, or the front-end or back-end development company you wish to work for is known for working with certain technologies. Some companies let their teams decide which technologies and languages they want to use for their new projects. Choosing a language for the whole team or for a project is a big responsibility: you need to consider the long-term prospects for that language, how much time it will take for the team to learn it, and if it is the proper language for that job. As I've mentioned before (and as you can see on the infographic), some languages are better for certain purposes. In the following paragraphs, I'll try to list the most popular languages and their usage to make it easier for you to choose which coding language to learn. For Data Enthusiasts (R) Data science is one of the newest branches in the IT industry and a fairly fast-growing one. There's a great need for dealing with a huge amount of data in the modern world. R became the favorite language for data scientists (along with Python), not only because it has quite a low entry threshold but also because it's a powerful tool. R deals with data manipulation and, what's maybe even more important, with data visualization. For Websites Creators (JavaScript) If you have already discovered that you prefer front-end (creating the visual part of the websites) to back-end development (writing its logic), then you need to become familiar with JavaScript. This language is the most important tool for anyone trying to create an interactive website. Along with its numerous frameworks (like React, Angular, or Vue), JavaScript is becoming one of the most popular programming languages in the world. You can start learning with online courses from FrontendMasters or by reading You Don’t Know JS, the renowned series of books by Kyle Simpson. For Practical Programmers (Java) Java has the reputation of being a reliable programming language, suitable for building long-term projects. That explains its popularity in big technological companies rather than start-ups. Java has been one of the most popular programming languages for a few decades now, and it doesn’t look like that’s going to change. It's a universal, multi-purpose language, sometimes even being used for developing mobile applications. You can even scrape a website using Java, highlighting its versatility across numerous development contexts. Moreover, mastering Java ensures the transferability of skills, equipping you with valuable capabilities in various scenarios. It's a good choice for people looking for a stable, well-paid job at a big corporation. There are tons of resources for learning Java. You can try different ones, from video courses to complex specializations at MOOCs. For Mobile Applications Creators (Swift / Kotlin / Java) There are languages other than Java that are the everyday tools of mobile applications developers. For iOS devices, there's Swift, a programming language made by Apple. For Android applications, there are more choices: a lot are being written using good old Java or brand new Kotlin. You can even create hybrid mobile apps with JavaScript, HTML, CSS, and Ajax! For Database Masters (SQL) If you prefer to work with databases rather than code the logic of the application, SQL is the language for you. It's the most popular language for communication with databases. The majority of back-end developers need to know at least the basics of SQL to be able to develop an application connected to a database. It's also a useful tool for analysts who want to create reports. But you can do much more with SQL than reports—you can create maps using spatial databases and geographical data! For Everyone (Python) Last but not least, one of the most popular programming languages is Python. It's also my favorite one. It's one of the most beginner-friendly coding languages I've ever seen, and that’s not only my opinion. Python's syntax looks a lot like English and uses indentation instead of a lot of brackets, which increases its readability. It also has multiple purposes. That's why it's popular both in technological start-ups and in academic institutions. What's more, it's the second most popular language in the data science industry. You can see Python's potential in our courses: from the very basics to creating your own game. Summary Are you still wondering what programming language you should learn? To be honest, the only good answer to this question is…it depends. Take some time to think about what your purpose is in learning to code: is it just for the fun of coding or is it to find a better job? What interests you the most: data science, game development, or making mobile applications? If you still can't decide, maybe take a look at which programming language would help you save the princess ;). Once you know your goal, it will be much easier to find a way to achieve it, learning one new programming language at a time. Tags: programming e-learning