DEV Community

Mubiru Elton Felix
Mubiru Elton Felix

Posted on

Which programming language should one learn in 2023?

Any ideas? Would you say python (easy to learn), C (to build a strong foundation) or JavaScript(higly demanded).

Top comments (15)

Collapse
 
po0q profile image
pO0q πŸ¦„

I would not recommend starting with low-level languages like C, as it's very difficult for a beginner. Instead, start with a C-like programming language (built on top of C), such as Python.

If you are motivated, maybe start with Go, which is inspired by C.

JavaScript is a bit vague, as you have the frontend js and the backend js.

Collapse
 
stretch07 profile image
stretch07

js may be vague, but learning frontend and backend with a simple duck typed language is really helpful once you want to move up to other languages

Collapse
 
prsaya profile image
Prasad Saya

Learn one programming language well. Learn it with interest and deeply. Getting some practice or experience in it is a good foundation for becoming a good software professional.

In addition, good programming practices like writing clean code, refactoring and testing are part of the learning process. So is designing or building applications.

Programming languages have capabilities (in addition to demand). But, your aspirations matter.

Collapse
 
moshikoi profile image
MoshiKoi

Learn as an introduction to programming, or learn as an already experienced programmer looking for something new?

As an introduction to programming, I would agree with the usual suggestions of Python since it is generally an easy language to get into without worrying about complexities such as memory management.

For experienced programmers with a standard class-based, imperative background (C++, Java, etc.), I'd say to look into Rust for its borrow checking, traits based polymorphism, and functional aspects.

For those who just want to learn something different, regardless of whether they'd use it in their day-to-day, I'd recommend learning some Haskell to learn about some of the more theoretical and mathematical aspects of functional programming.

Collapse
 
neumatic_78 profile image
neu-ma-tic

Java, C, C++, Python, JavaScript, PHP, HTML, CSS, Ruby, Go, SQL, Swift, Kotlin, Rust, MATLAB, Assembly, R, Scala, Bash, Visual Basic, Objective-C, TypeScript, PowerShell, Perl, CoffeeScript, Java, C, C++, Python, JavaScript, PHP, HTML, CSS, Ruby, Go, SQL, Swift, Kotlin, Rust, MATLAB, Assembly, R, Scala, Bash, Visual Basic, Objective-C, TypeScript, PowerShell, Perl, CoffeeScript

these are the basic low-level languages to learn

Collapse
 
wadecodez profile image
Wade Zimmerman • Edited

It really comes down to how much motivation you have and how well you grasp new concepts. I always suggest the following because it's similar to how I learned to code. But nothing is stopping you from diving head first into something like Rust or C++.

Anyways, those who are beginners with absolutely no experience should start with visual based programming like Scratch, MIT App Inventor, or other no-code/low-code tools. It will help you develop logical thinking skills. If that's too childish, try automating repetitive tasks. For example use scripting in Excel, Adobe, or other office programs.

When you are ready for a real language you should start with something dynamic like Python or Javascript. However, if you have a strong background in math, you'd probably enjoy Lisp or R.

Once you're comfortable, try make something from scratch and deploy it to the internet for others to see. Your project may not be pretty but you'll learn a lot. Git (version control) is an absolute must!

Next, aim to learn a statically typed language. Although, you might as well learn C first because so many languages and libraries take inspiration from C.

After learning a statically typed language, begin adopting immutable architectures and clean programming principles. You'll grow to appreciate how well your code scales, and scoff and how terrible your code was when you first started.

Finally make something large scale like a video game or web app.

Collapse
 
ulitroyo profile image
Uli Troyo

The most pragmatic answer is JavaScript. Not only is it in high demand, but it's the only language that you'll 100% have to use at some point as a developer, since it's the only language you can use in the browser. As a result, though, there is more learning material for JS than any other language (though this comes with its own problems), as well as more tools, more libraries, more stuff for it than any other language. That said....

It doesn't really matter. People who answer "depends on the use case" or "whatever gets you into programming" have the real answer. JS might be the most pragmatic, but if you don't know how to program, you need to know that almost every programming language you've ever heard ofβ€”whether JavaScript, TypeScript, Java, C, C++, C#, Python, Ruby, Rust, PHP, Go, Swift, Kotlin... and Zig, Nim, Odin, V, GDScript, D, Jai, whateverβ€”mostly derive their syntax from C, and share all the common features of most programming languages.

The differences between languages is less like the difference between English and Japanese and more like... well, honestly it ranges from the difference between American and British English (where one group cringes when the other says 'garbage can' but understands everything the other is saying), and between the difference between Spanish and Portuguese (where if one group meets the other in a party, the first minutes of the conversation the other will just assume they're either too drunk or the music is too loud for them to understand clearly).

So what you should learn in 2023 remains what it's always been: whatever feels right. Programming is less about the language and more about the mental models around programming. Every language has variables, collections, and functions. Every programming language has you doing things like accepting user input, opening and saving files, talking to other programs over the internet, separating code into files in established patterns, setting up a developer environment, and using version control. With every language you can make games, web servers, command-line apps, and automations. By the time you learn one language (any), you'll have a better idea of which one you should pick for a career, and learning it will be far easier once you've built useful and/or fun stuff with another.

Collapse
 
rickdelpo1 profile image
Rick Delpo • Edited

I recommend either Java or Python. As a beginner you need to be able to program something right away so also learn some SQL and start connecting to data.

I offer some Java example code at howtolearnjava.com
start with my JDBC tutorial - java database connectivity and connect to SQLite db

It is also important to understand Plain frontend Javascript in the beginning
you can see my other site javasqlweb.org for example code

Go slowly as a beginner and not recommended to jump into Node or React right away. Practice some of my above recommendations first.

Happy Coding !!

ps - see my profile and read some of my dev.to posts too
pss - SQLite can be used in either Java or Python or as a standalone

Collapse
 
mubirueltonfelix profile image
Mubiru Elton Felix

Thank you so much

Collapse
 
fyodorio profile image
Fyodor

Depends on a goal. What do you need to learn a programming language for?

Collapse
 
haliyemen profile image
helal almaghrebi

I want to start learning programming and developing.
your kind advice is highly appreciated.

Collapse
 
eljayadobe profile image
Eljay-Adobe

Python. Gentle learning curve, useful for decades.

The only reason to learn C or JavaScript first is if you've (somehow) landed a job where you have to use one of those languages. In which case, scramble to learn that language first.

Collapse
 
bigfidelis profile image
Oluborode Akintunde Paul

Dart programming language

Collapse
 
raguram90 profile image
RamR

javascript

Collapse
 
d0m00re profile image
d0m00re

That's depends

If you want to make some system programs :
c/c++/asm

For web dev :
js/ts

Other things :
python