Heyy, I’m learning programming and trying to choose a focus, I saw you can make web/backend w node, desktop (bloatware but discord uses it so if it works it works), games (not AAA and not optimized for performance but it shouldn’t matter for indie too much) Is there anything that compares? I wanna focus on one thing instead of spreading myself over a ton of languages, I do feel js is interesting for this, but I’m just starting out, so looking to hear some thoughts of people more familiar with programming.
Don’t worry too much about your first language. I hemmed and hawed over it a lot; but eventually if you keep learning most languages are easy to switch to except lisp and that one weird condenced one.
There is no “most versatile programming language”. That is a myth.
The choice of a programming language for a project depends on the projects requirements. It could be a script language like Python, PHP, JS, or even Perl or Bash. Or something compiled like C, C++, Rust, or even Pascal or Prolog. It always depends on the project.
Heck, if you have to build something sticking to a COBOL or FORTRAN system, using anything else would probably a stupid idea in the first place.
So if anyone tells you “Programming language X is the one and only solution for everything”, it is more an admission of a severe lack of knowledge and experience.
While this is true, I will say there are some languages built for very specific problems that make poor tools for general use.
Trying to build a distributed web app in Matlab or Mathematica would either be a flex or a complete waste of time, for instance.
The best language for starting is the language you find easiest to learn.
But Rosetta Code lists a lot of programming tasks solved in a lot of different languages. Just browse a bit and if you’re lucky you just fall in love with one of the languages. Then, difficulty doesn’t matter.If this is your first language I wouldn’t focus on variety too much. Just pick something and start building. Once you pick up one language, the next one will be easier. On that note, Typescript (JavaScript with type enforcement) is a great first language. It’s multi-paradigm so you get exposure to lots of concepts and can use it in many different ways. That means you can learn tons of concepts without having to learn the syntax of another language first.
Make sure you use typescript, not JS. I’m assuming this is a learning experience for you. You’ll learn about type enforcement, get much more out of your IDE, build safer programs, and be better prepared for your next language.
DM if you have any questions about getting started as a developer.
Javascript is a language full of weird quirks. A language with fewer footguns would probably be smoother for learning fundamentals. Python is pretty good in terms of letting you do the thing, instead of making you find a third party library (not that one, that’s deprecated) or having unexpected default behavior ( in JS
[1,2] + [3,4]is the string1,23,4, for example)TypeScript adds more guard rails, but is a little more complex to get going.
“When all you have is a hammer, everything looks like a nail.”
Python or C++ are way more suited to build all the applications you listed.
And IMHO JavaScript is one of the worst language ever created. PHP is also a very bad language, it seems like the web attracts all the bad stuff.
There was this business analysis someone wrote about years ago trying to nail down which programming language was the most successful, which they measured by how many business problems it solved.
The winner? Visual fucking Basic.
Because it was so accessible that people in businesses the world over used it to implement simple and sometimes complex solutions to problems without reuquirkng a big dev team and all the complexity that comes with writing “real” software.
I see JS in the same boat. It’s a mess. But it’s so widely deployed (free with a web browser!) and used for so many things that in reality it’s one of the top dogs, even though everyone who knows it well enough to understand its quirks thinks it’s a pile of shit.
This is unfortunately true can’t tell you how many times I have found VB attached to filemaker pro and an access db with 1000s because the customer wanted one table per customer.
actually Rust is the pinnacle of versatility
it is literally everywhere now
As much as I like Rust, it’ll be hard to dethrone python as the ML or data science prototyping default. It’s a great orchestration language.
so python/c can be used for web/backend desktop gui apps, mobile apps and games? I’m not talking just about what’s the “best” language but the more versatile, also i haven’t included it, but speed of development (how long it takes to write the code for the programmer) is also a plus
Most modern games are written in C++. If you need speed using a high-level language, there is only C++ (or maybe optimized C#).
Most modern games are built on engines written in C++ but game development is usually done in languages like C# on top of those engines, no? Unless you’re doing engine development you probably won’t be touching C++
I could be wrong since I’m in software and not games but that seems to be the way
It depends on the engine. Unity is based on C# so it isn’t as performant as Unreal Engine 4 and 5, which use C. Unreal Engine uses UnrealScript, which is an intermediary language based on Java, which is similar to C#. The Source/id/Quake engine also uses C.

