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.
I’ve been making my living as a developer for more than 40 years. My take is that languages come and go. All of them are compromises that do some things better and more easily than other things. It doesn’t really matter what language you learn first, as long as you understand that what you really need to learn are the underlying concepts, not the syntax or the libraries. If you do that successfully, you will be able to pick up new languages relatively quickly.
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.
Once you learn and master one language, the main concepts will usually transfer across, and with minimal effort youll be able to pick up any other language.
So starting with JS is fine, but don’t be afraid of switching later down the line. Choose the right tool for the job.
Javascript is used everywhere, yes, but you definitely should spread your focus to other languages as a student. At minimum definitely dig into C for low level understanding and rigor, and a “real language” like C# for exposure to all the great features and paradigms in that world.
Wide varety of things is something, but maybe ask yourself what would you like to build? What interests or excites you? And then make a choice based on options that are suited for that thing. I wouldn’t be motivated unless I was building things I like and find fun.
Learn what looks like it makes sense to how you think. I’d argue Python is still #1 with js at #2. There’s still a ton of crusty Perl and Java holding more than you want to know together as well, so you have choices.
Learning more programming languages isn’t the hard part of becoming a decent programmer. You’re optimizing for the wrong thing here.
You should choose a language that works well for the specific projects you think you’re going to do in the near term. Depending on exactly what sort of projects you want to do, Python, Typescript, C++, and Rust are all languages I might recommend. I wouldn’t recommend raw Javascript for anything other than doing some tutorials before learning Typescript.
Without more information, I’d recommend Python.
While it might not be the hardest part, I do feel it is a factor, so all things being equal i think it can help to choose a good first programming language that will help out the on-boarding process.
What I’m trying to say is that you should choose the programming language that will make your learning and early projects easiest.
Learning a new language later is not hard. Trying to use the wrong tool for the task when you’re just learning is hard, and will teach you the wrong lessons.
I appreciate the tip, I might end up on python, seems interesting and fast (to write not run lol)
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.
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#).
Mhmm, but to start out i feel its best to focus in one programming language only, if under those parameters python/c (whatever c variant) are better than javascript, while it might be better in theory to use the right tool for the job, that takes way more time than doing everything with a less optimal more generalized tool (i think)
If focusing on one language, learn one that is good because you’ll have to work in other languages eventually and a well structured language will make that a lot easier than a less well structured one.
I’m not a swe but I learned fundamentals in C++ (probably wouldn’t recommend that), work frequently in PowerShell, have played in C# a bit, and I’ve worked in Python a bit as well. Python seems like a really good place to start, today.
Another note - front end and back end isn’t usually the same skill set even if it is the same language.
Do you want do make web sites: TypeScript. Do you want anything else: Python.
As a newbie the quick visual feedback of building stuff on web is nice to have, but maybe I should do python instead with some kind of ui thing? I do want to end up working in tech I’d say asap but its not the “starving and i mean money right now” asap, but like, not wasting unnecessary time.
Honestly just build. Dont worry about doing it right. Then try it a different way.
optimized C#
No. C# runs inside of the .NET common language runtime, which is Microsoft’s version of the Java Virtual Machine. It’s basically the layer that handles garbage collection and all the other conveniences people expect from modern languages. Because of the overhead associated with all that, C# will never have performance comparable to C or 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
If you’re building a game from start to finish in a game engine written in c++, you’ll probably end up having to touch some c++ eventually. Better to learn that, than only ever learning a scripting language.
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.
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.
I believe it. Every company I’ve ever worked at has used Microsoft Excel to do things it absolutely should not be used for.
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.
I think so. If you want to target as many platforms as possible it isn’t a bad choice. JS is unmatched, imo, for prototyping applications as well as being capable of turning them into something worthy of shipping to production. Lots of resources, isn’t going anywhere anytime soon. Server languages all compete for dominance in usage. JS doesn’t compete with anything and probably never will unless WASM really gets popular, which it isn’t close at all yet.
No, binary is
gatekeeping the queer community off of tech, i see how it is… only cis people allowed to code /s
There is only one gerund, ing.
I would not recommend to choose JS as your first language. Yes, it is versatile, but it has many varieties, good and bad ones, and it can easily cause bad habits in your coding.
So you better choose one of the more strict languages. Maybe Kotlin. Or python, or rust.
Or good old C, as some others have suggested. C is a great teacher for good habits, because it’s outright dangerous to make certain mistakes there. But it is not so much used anymore.
seems python is super popular too, can you build nice UI’s with it? I mostly see python on AI stuff and cli
Python is a general purpose language, you can do almost anything with it, including nice UIs. But I would say it’s definitely not the first thing I would chose for heavy UI. It is generally strong in data stuff and it’s a very good language to learn programming in general. It’s not a bad choice.
I would Start with rust today. The compiler always tells you what is wrong and there is a clear way of doing things. It is a bit harder to pick up but you will get a better understanding of why things work.
The learning material is also good.
For me the JS ecosystem is a nightmare. It changes so frequently and it seems not to be the place where thoughtful engineers build stuff. Just the wild west. To exhausting for me.
My current favorite language is Rust. But I would never advice beginners to start with. Rust requires a deep understanding how memory works. Without the knowledge it is just fighting the borrow checker, which can be fustrating for beginners. For the same reason I would never advocate for Java: it is pretty hard to write java without understanding the oop paradigm.
I’d imagine it’s Python. I have limited programming knowledge but like to experiment. During covid I messed with C, Javascript, Python, and even Commodore BASIC just to mess around with stuff. Python is by far the most user friendly modern language, I feel. The hardest part of Python for first time users is getting the IDE and PATH all set up.
rust is now the most versatile language. however it is not yet the most popular or easiest language
it’s pretty great tho
Powershell? Is that a language? I used that to propel a lot of my projects in the past. I could do almost anything with it.
PowerShell is the Micro$lop Windows shell language. You can do a lot with just about any shell language, although if you’re (wisely) using Linux, I recommend Bash as a shell.
I think that’s used on windows like a command line, but I never looked into it (wasn’t using the terminal when I was on windows)




