this post was submitted on 04 Jan 2025
29 points (73.8% liked)

Programming

17763 readers
524 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 [email protected]



founded 2 years ago
MODERATORS
 

I have some background in Python and Bash (this is entirely self-taught and i think the easiest language from all). I know that C# is much different, propably this is why it is hard. I've been learning it for more than 4 months now, and the most impressive thing i can do with some luck is to write a console application that reads 2 values from the terminal, adds them together and prints out the result. Yes, seriously. The main problem is that there are not much usable resources to learn C#. For bash, there is Linux, a shit ton of distros, even BSD, MacOS and Solaris uses it. For python, there are games and qtile window manager. For C, there is dwm. I don't know anything like these for C#, except Codingame, but that just goes straight to the deep waters and i have no idea what to do. Is my whole approach wrong? How am i supposed to learn C#? I'm seriously not the sharpest tool in the shed, but i have a pretty good understanding of hardware, networking, security, privacy. Programming is beyond me however, except for small basic scripts

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 4 days ago

My first projects were super janky gui stuff that was ported over from Java (very similar syntax, but connected with the visual studio built-in gui editor) and improved to a proper "c#" style using resharper (a jetbrains tool that boosts the capabilities of visual studio) Nowadays you can get a free version of Rider that will include those style tools, so I'd recommend that. But if you use Visual Studio, you can create a Winforms project which can let you drag components to make UI and easily assign code to events. If you are used to raw HTML webpage creation, you might be able to get away with using something like WPF or (cross platform) Avalonia to make a UI, but these are a bit more intense since they use something called the Model-View-Viewmodel framework. It needs you to know how to 'bind' variables to events using the observable class, which can be tricky the first few times you use it. I'd look into picking a simple project where you can learn how to use classes effectively (C# is based around Object Oriented Programming much more than bash and self-taught Python would cover). Also would recommend following some of the very simple Unity tutorials to get a handle on the syntax, such as the Unity-made Roll-a-Ball tutorials. These tutorials show the concepts for class-based design and overriding functions.