DEV Community

Discussion on: Which programming language should you learn?

joelbonetr profile image
JoelBonetR • Edited on

A beginner should learn any native OOP strong typed language such Java or Kotlin and then, when you learned about it, you can switch to JavaScript which is Async by default (you can also state async operations with Java or kotlin but anyone who did it would agree that it gets much more boilerplate and concerns that it has using JS on any runtime environment).

The reasons for that is the first one will enforce you to code on a more strict manner and understand the OOP paradigm, also the extensive native data types allow you to better understand design patterns.

You can code OOP in JS as well but it'll run anyway if you do not. Then you can use JS to learn about functional programming or try Scala for it. You can also learn reactive paradigm using JavaScript as well as Procedural programming paradigm.

As you can see, JavaScript is a multi-paradigm language in which you can use the paradigms that fits better or that ones you want to learn, but also has the complexity of understanding async operations and discern whether you need a Sync-ed operation so you can enforce it, of course also understand that the load order can vary and it's mandatory to know where you need to add a dependency or where to add your scripts.

Both languages (let's say that if you can code in Java you'll be able to code in kotlin in few hours and vice versa) Java/Kotlin and JavaScript have a good demand on the industry to find a job.
Nowadays JS is the most popular language for good reasons (fast development, efficient for high i/o operations, usually easy to maintain and escalate...) but you'll never code intensive CPU algorithms or operations using it, that's why companies that focus on JS full stack also adds some services or microservices using Java, Python, C#, Rust or Go... (maybe some use C++) but for the rest and excluding ML, JS is a good and convenient language.

saifullah profile image

Really helpful thanks for such clearance.

joelbonetr profile image

You're welcome :)