DEV Community

Cover image for Which programming language should you learn?

Which programming language should you learn?

SAIFULLAH🇮🇳 on July 14, 2021

If you're a newbie in coding then I think you will definitely came across with this question. One of the most common question one ask or search be...
Collapse
 
joelbonetr profile image
JoelBonetR 🥇 • Edited

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.

Collapse
 
er_saifullah profile image
SAIFULLAH🇮🇳

Really helpful thanks for such clearance.

Collapse
 
joelbonetr profile image
JoelBonetR 🥇

You're welcome :)

Collapse
 
thedenisnikulin profile image
Denis • Edited

Hmm, I believe that one that isn't familiar with programming at all should go with Python. The language is relatively simple and will really help to understand basic concepts of programming at the beginning. When one becomes good enough with Python, they should pick some more strict language for their further learning. Something like C#, Java, C++, C. These languages will really just bring more clarity in programmer's mind about classes, data types, low-level stuff, etc. Also, I hope they are more suitable for some big projects unlike Python (no hate to Python!), so you're more likely to find a job or build some really complex programs with them (unless you're a data scientist or ML engineer). As to me, an ideal path for becoming an application programmer (only in terms of programming languages) is Python -> C#. But it's just my little opinion, learn whatever you want, it only matters if you like it. But don't forget to be a good engineer, not just a language junky! >:)

Collapse
 
er_saifullah profile image
SAIFULLAH🇮🇳

Yes Yes Agree with you :)

Collapse
 
christiankozalla profile image
Christian Kozalla

Equally important as the question 'Which programming language you should learn' is the question 'What field of programming do you want to work with?' like web development (frontend, backend, mobile), desktop applications (also possible with web technologies), data science, machine learning / AI, embedded,...
I started learning a bit of Python (mostly Syntax basics), then switched to Javascript, HTML and CSS, because I wanted to dive into web development.
Nevertheless, you can use Python on a web server (e.g. frameworks like Django, Flask)

Collapse
 
gdenn profile image
Dennis Groß (he/him)

I would suggest:

(1) learn a language that you like. If you are more interested in scripting languages choose something like Python, if you want to program close to the actual hardware go with C-/C++ and if you like strongly typed languages Java is a good point to start.

(2) think about what you want to do with your programming expertise. Do you want to write an IOS app => learn Swift, if you want to be a frontend developer (aka build User Interfaces for the Web) => learn JavaScript or TypeScript, if you want to be a backend developer => oh boy you can actually write backends in every language :).

Collapse
 
er_saifullah profile image
SAIFULLAH🇮🇳

Yes short and straight one. Thank you.

Collapse
 
aatmaj profile image
Aatmaj

I would personally recommend- Java, C++, Python- choose any one among these!

And, yes, Python is quite easy to earn when compared to C++ or Java. But once yu master Java, you start to think in a more OOP manner. Once you master C++, othe r languages are a piece of cake.

After learning these languages, you would like to take on JavaScript, Julia or other languages as per your requirements.

In case anyone here wants to start learning Python, please read my Learning-Python blog course to learn Python! With a little coding background, you can master Python in no time!

Collapse
 
er_saifullah profile image
SAIFULLAH🇮🇳

Yes Agree.
But I wrote that article for those who just want to earn by doing freelancing❤️

Collapse
 
_gdelgado profile image
Gio

Elm

  • tinyest language compared to the other languages that have been suggested (you could learn the core language in 2 days)

  • Extremely helpful community

  • Fun: it's specifically for building user interfaces... used for building simple toy games

  • Proven to be a great first language: I can't remember where I saw this, but it's actively being taught to grade schoolers in the US with great success

  • Functional programming is slowly eating the languages world, may as well get a head start!