![Hero Image](/_next/image/?url=https%3A%2F%2Fassets.tina.io%2Fac949295-6f4c-48ea-8f33-2f825ae90bf5%2Fimages%2Fhow-to-choose-a-programming-language.webp&w=3840&q=75)
How to Choose a Programming Language
by Andreea Oproiu & the Sensidev team • about 3 years ago • 5 min read
Too many programming languages out there and you haven’t actually made your mind yet about which is the most suitable one for you and the type of projects you want to work on? Well, according to Wikipedia , there are 700 programming languages out there, so we do understand the struggle.
❝Some sources that only list notable languages still count up to an impressive 245 languages.❞
Source
This industry is a dynamic field, constantly evolving, and therefore the technologies a software developer may use in a lifetime vary and depend on a set of different criteria. This article focuses on the beginning of a journey in software development and the first programming language to specialize in.
First Things First: What is a Coding Language?
(yeah, we know, you’ve already been through this in school, but bear with us, we’re going places 🤞)
To put it simply, a coding language is a language that your computer understands. In order to communicate with it, you can use a coding language as an intermediary layer. Its scope is to write programs or sets of instructions used to complete a task.
Most technologies are built for a specific function/purpose. For example:
- HTML is a markup language that allows one to annotate content for display in a web browser.
- SQL is a query language that allows you to operate with the data from a database.
How Many Programming Languages Should I Know?
Short answer: one is enough.
Long answer: it depends on the projects you’re working on. Being proficient in one programming language can get you a successful career in software development, but you can encounter many situations where you need to learn another one in order to complete a project.
However, many technologies have the same underlying principles, and once you have your brain wired to see certain patterns, it will be easier to learn the next one. One good example is Java and C#, as the latter one was originally inspired by the first. They both use the same syntax which eases the process of learning them both.
How To Get Started in the IT Industry
The first questions you should ask yourself when pursuing this career are:
- What clicked and made you become interested in programming?
- What do you want to do as a software developer?
Once you get a complete perspective of why you are embarking on this path, things will get more clear. Going further in choosing a programming language as the stepping stone for your soon-to-be career, consider the following:
- REST APIs: Python - Django & Flask, JavaScript - Node.js, Java - Spring Boot
- Streaming Data & Microservices: Python - pySpark, Scala - Spark
- Data Analysis: Python - SciPy, Pandas, Java - MLib, H2O
- Desktop applications: JavaScript (with Electron) - cross-platform, C# (with UWP and WPF) - Windows, Swift (with Cocoa) - macOS
- Mobile: Swift - iOS, Kotlin - Android, JavaScript (with React Native) - iOS & Android
→ Consider the essentials
It’s best to start with a programming language that is more accessible and can enable you to self-learn it. JavaScript or Python are great examples of this kind. There is a generous number of free resources to learn, not to mention an extensive community of international developers who can offer you support along the way.
→ Focus on what you want to build
This may be the most important factor in your decision. Every type of project requires a different tech stack. If you want to start building mobile apps, for example, you can’t continue your journey with Python. You will have to choose one of the technologies specific for each platform: Android apps can use Kotlin or Java, iOS apps can use Swift or Objective-C, and if you want to go cross-platform (both Android and iOS), then React Native is our recommended option.
The type of project you’re developing ultimately influences what languages are available for you to choose from. We’ve put together this list to give you an overview:
→ Research their maintenance and scalability
Every language depends on an ecosystem of libraries and vendors to support those libraries. Their level of maintenance and scalability influences their popularity within projects as well. The Stack Overflow industry survey is one of the most helpful resources for this aspect.
→ Focus on industry demand
Keep up with the tech trends as well. Even if you may be more attracted to a certain coding language, it will affect your career if there’s no demand for it.
Discover what’s in demand at the moment, and pick from there!
What Type of Technologies Do We Use at Sensidev?
At Sensidev, we’re developing web & mobile applications, and therefore use a tech stack to fit these needs.
As we’re a team of devs and we are familiar with the factors that influence working with a certain technology, we’ll leave you with our sensidevs’ sincere thoughts on each of the languages and why they enjoy working with them:
- Javascript (React)
❖ "It's my first love. What is there not to enjoy about it? React is sexy ♥)"
❖ "It's simple and fun to work with. Rich API and really really good community." - Javascript (React Native)
❖ "It's made to be simple and efficient, beautiful syntax, etc"
❖ "Easy to build mobile-friendly UI's compared to native languages, it's very similar to how we build web apps with React, same logic, code structure" - Python
❖ "Python is smooth, clean and shows its intent - is like well-written prose." - Kotlin
❖ "I enjoy its popularity and simplicity."
What is the most important factor for you when choosing your programming language?
Dev Thoughts
![How to migrate a PodBean podcast website to a custom website with Nginx permanent redirects](/_next/image/?url=https%3A%2F%2Fassets.tina.io%2Fac949295-6f4c-48ea-8f33-2f825ae90bf5%2FCover-blog-Dev-Thoughts-ep-11.webp&w=1920&q=75)
How to migrate a PodBean podcast website to a custom website with Nginx permanent redirects
by Lucian Corduneanu • 3 months ago• 13 min read
![The Product Owner’s View Building a Streamlined Transport Management System](/_next/image/?url=https%3A%2F%2Fassets.tina.io%2Fac949295-6f4c-48ea-8f33-2f825ae90bf5%2FCover-blog-Dev-Thoughts-ep-10.webp&w=1920&q=75)
The Product Owner’s View: Building a Streamlined Transport Management System
by Alexandra Voinea • 3 months ago• 5 min read
![Mobile App Development in Action](/_next/image/?url=https%3A%2F%2Fassets.tina.io%2Fac949295-6f4c-48ea-8f33-2f825ae90bf5%2Fimages%2FCover-blog-Dev-Thoughts-ep-9.webp&w=1920&q=75)
Improve Your Dev Journey: Essential Skills Beyond Just Coding
by Dragos Ispas • 3 months ago• 5 min read