So you wanna pick a programming language now?
Before we do this
You should have a feel for what you wanna do with programming as a skill or at least what you wanna try (e.g. specific programmming language, technology or area of expertise).
Different Languages, Different Use Cases
Each programming language can be more or less suitable for one's use case depending on what they generally enable one to do and what eco system you can expect around this language.
Note:
Newer languages might come with benefits like increased speeds or ease of use but often lack the ecosystem more established languages have.
You have to weigh pros and cons against each other when choosing a programming language to learn/make a program in.
So which language are the most obvious pick now?
Even though the choosing of your programming language is often tied to the goals you wanna achieve with programming, there are some obvious candidates:
Starter languages to know:
1. Python
The darling of starter languages. Versatile, easy to learn and great to experiment with.This is an obvious choice for all our more indecisive folks out there, along with people who want to use Python specifically for a project they have in mind such as:
- scripts
- websites
- data science + Machine Learning (very popular python use case)
- rapid prototyping
- automation
2. Java
While it's certainly not an easy route to take, but it gives you a robust understanding of OOP.This not such an obvious choice as a starter language because it can be quite complex at times. It's great for people who are up for a challenge, along with people who want to use Java specifically for a project they have in mind such as:
- Android apps
- Backend
- OOP deep dives
3. Kotlin
It's not as easy as Python but easier than Java.This is the modern reimagining of Java so to say. Less boilerplate, easier to learn, more modern (and different) features.
This is great for people looking for a start with a little friction and it's great for a project they have in mind such as:
- Android apps(as of May 7, 2019 the official language for Android development)
- Backend (more modern, often used as migration from Java because they are interoperable (Java can call Kotlin code and vice versa without needing to convert the source code itself)
- OOP deep dives(even more interesting how Kotlin handles this)
4. JS
This is a bit of a weird language sometimes, especially the logic can be a little confusing. Example: Why JavaScript sucks by Daniel KurkaIt's a very focused starter language as there is an implicit direction (which may be due to the fact that its main association is that of being a web language).
But it still offers easy syntax and valuable learning experiences. Projects you can do with it as an example:
- Websites
- Cross Platform Apps (via Frameworks)
- scripting
That would be it for our starter languages section. I hope you got an understanding about what these languages enable you to do and choose one that fits your needs/your liking.