As tech becomes embedded in the processes and cultures of companies across industries, having programming knowledge can be a strong career asset for any professional. But, it can be hard to know which programming language you should start with. Here are some factors you should consider in making the decision.
Why Do You Want to Learn?
When examining your motivations for learning a new programming language, ask yourself the following questions:
- Is this for a new job?
- Is this for a specific project?
- Is this to add a new skill to my skillset?
The answer to these questions will help guide you in the right direction.
What Interests You?
Depending on what you’re interested in and what your end goals are, some programming languages might be more useful for you to learn than others. Here are some common languages and how they are typically used.
JavaScript
Do you want to create an interactive website with lots of elements? JavaScript is typically used to build modern websites and apps, specifically for interactive elements. While it has been used for front-end development in the past, it can now be used for back-end development as well. JavaScript is the third programming language used for websites – the other two are HTML and CSS. HTML is often responsible for the content, while CSS sets the layout and styling. This article on Mozilla’s website provides an overview of JavaScript and what it can do.
Ruby on Rails
Ruby on Rails is good for building web apps and is used at a lot of startups, including Airbnb, Twitch and Hulu, according to the Ruby on Rails website. Rails is the developmental framework that provides structure for the code, which is written in Ruby. Since it is an open source software, a lot of code is available for use.
Python
Python is typically used in data science and analysis, science, statistics and education. Although it’s fairly easy to learn, it’s powerful. Python comes with built-in libraries for a variety of applications. Python.org provides a comparison of Python and other programming languages here.
Swift
If you want to make an iPhone app, you might consider Swift. Swift is primarily used for iOS development, including macOS, iOS, watchOS and tvOS. Also open-source, Swift has grown to include system and desktop programming.
Java
Java was designed to be easier to use than C++ and is a general-purpose programming Language. It used in desktop apps and website backend systems, including for tech giants and Fortune 500 companies. It also the basis for Hadoop, a framework used to store and process big data.
PHP
PHP is a scripting language used to develop websites and web applications; for example, it can be used with WordPress.
C++
C++ is used often used to develop audio and video apps, game engines and games because it has high speed and ability. While difficult to learn, it can provide a solid foundation for learning other languages in the future. Adobe Systems, Amazon, PayPal and Chrome are all built on C++.
C
C has influenced a lot of other languages, including Java, PHP and JavaScript. While similar to C++, becoming familiar with C can be useful for learning how computers function. C also can be used for high-performance computing.
C#
C# was designed originally by Microsoft, so it is therefore useful for creating apps for the Microsoft platform. It’s commonly used to create desktop applications, mobile cross-platform applications and websites. C# is relatively easy to learn as it was designed to be simple.
SQL
Structured Query Language (SQL) is used to interact with relational databases, including updating, retrieving and manipulating data. Although the language itself is fairly simple, SQL can be used in powerful ways to handle structured data. Many companies use database management systems that have SQL built in so that they can use SQL.
Does the Language Have Staying Power?
While one of the above languages might be suited toward your needs, it’s also important to consider the future of the language. Will it be useful next year, let alone five years from now? Two good sources to consider for this are Stack Overflow’s annual survey and Google Trends.
Stack Overflow’s annual survey examines demographic and lifestyle factors of developers, along with technology trends. According to the 2018 survey, JavaScript was the most popular language on the site, with nearly 70% of users saying they use it. HTML and CSS are right after, along with SQL and Java. Python, however, has been quickly rising in the ranks when reviewing past surveys. Reviewing this year’s survey along with past ones can provide you with an idea of what programming languages have staying power and which are gaining popularity. The survey also provides salary information by programing language.
Comparing programming language search trends in Google Trends can also be a helpful way to gauge popularity and staying power. For example, you can see that Python has steadily increased in popularity over the past five years.
Meanwhile, JavaScript has stayed steady, if not slightly declined, over the past five years.
Is It Hard to Learn?
Some languages are easier to learn than others. On the easier end are SQL, Python and C++. JavaScript, C# and X are considered more difficult. Your experience with computers and programming is a factor here as well. Are you trying to learn an additional language to the one you already know, or are you starting from scratch? In addition, how many hours per week can you devote to learning the language?
How to Get Started
All of this information can seem overwhelming. The important thing to remember is that everyone starts from somewhere – no one wakes up a programming expert overnight. You’re learning a new language. Would you expect to be able to learn French in a week?
Here are some tips for getting started:
Start With One Language
Trying to learn a bunch of languages at once is confusing, as you’ll be mixing syntaxes. Choosing one language to start with, and really get a firm grasp on, can help you learn other languages in the long run.
Create Projects To Stay Motivated
This goes back to choosing a language based on what you want to do. Learning a programming language you can immediately use to get projects done can help you better comprehend it and stay motivated in your journey. For example, if you are learning JavaScript, start by building a website. If you want to build an iPhone app, start with Swift.
Learn the Language’s Philosophy
It’s one thing to memorize the syntax and rules of a programming language. It’s another to grasp the philosophy and ideas behind the language. Each programming language was designed not only for a specific purpose, but also with an ideology behind it. Take Swift. Not only is was it created for iOS development, but it was also created to be safe and user-friendly. These important facets inform the language’s structure and how to best use it.
Find a Friend
Learning to code alone is tough. Having someone there to debug with can help ease the frustration of not getting it right. And, having a friend learning to program with you can help you stay motivated for when you feel like giving up.