this post was submitted on 26 Oct 2023
78 points (91.5% liked)
Programming
17364 readers
154 users here now
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
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.