79
Hi, I want to start programming but dunno where to start and which language to learn
(self.programming)
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Follow the wormhole through a path of communities [email protected]
A strongly typed language (requires you to say what type of data is stored in variables) like C# is a good starter language. It's not overly complex, it's widely used, has a large ecosystem (lots of tutorials and libraries that easily provide functionality) and can be used to create games with Unity and Godot too. My advice is to set goals for yourself and work by creating projects small enough to finish in a couple days time. It's very easy to get distracted and try to learn a lot and get burned out / overwhelmed. Creating an actually useful tool or making a game allows you to learn while also providing the motivation to continue.
Languages like C, C++ and Rust require you to also learn about memory management while learning the basics of programming, I recommend avoiding those. Dynamically typed languages such as JavaScript can be easier than others, but they also hide the type of data which impedes understanding, however, contrary to C, C++ and Rust I feel this tradeoff might be worth it in some cases.
Yes, i would also recommend C# as a starting point. It's kind of a jack of all trades, master of some. But more importantly, it forces you to understand certain programming concepts you may not learn if you start with a language like Python or Javascript. Not knowing these concepts will cause problems as you get deeper into it.
And if you use Visual Studio 2022 on windows (not visual studio code), it will take away some of the initial pain points of setting up your environment and gets you straight to an executable program.
I couldn't recommend it more as a first language.
Rider is also a great option if you're a student or own the JetBrains tools.
True, but my brain is too wired to VS2022/VSCode and i experienced slightly too much wonk whenever i try jetbrains stuff. I do think its is slightly worse in some ways but better in others. It is paid, but quite affordable. only downside is, when you inevitably move to other languages, youll have to get the jetbrains IDE for whichever language you want to use, whereas with VS, most keybinds and whatnot are transferrable to VScode. I do not enjoy VScode at all, but it is the best ide that covers all languages unfortunately. And what i'vs come to learn is that its much more productive to deal with it in exchange for the language support you get for literally everything in vscode.