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

43 points
*

The heck you’re talking about? There’s a ton of free resources to learn the basics.

https://dotnet.microsoft.com/en-us/learn/csharp official Microsoft learning resources.

https://dotnettutorials.net/course/csharp-dot-net-tutorials/ for C# basics and .NET framework (which is backend standard).

For game engines you need specific tutorials in those engines.

permalink
report
reply
35 points

You think Bash is the easiest language? I have to Google the syntax every time i need to write and IF statement!

permalink
report
reply
5 points

it’s the second language that comes to mind when I think of the word “footgun”, right after old c++

permalink
report
parent
reply
4 points

Thisss, it’s atrocious

permalink
report
parent
reply
3 points

There’s a few languages I come back to after a while to fix something and have to consult their reference manual / docs. But bash is the only one where that’s necessary just to read back my own code. Like [[ -z ${ARG} ]]? Wtf is -z doing here. Wtf kind of syntax is that.

Next time I think oh this could be automated with a little bash scrip I’m going to investigate one of those compiles-to-bash languages.

permalink
report
parent
reply
32 points

one of the most popular languages, used in one of the most popular game engines, has no learning resources?

Press X to doubt

permalink
report
reply
3 points

Yeah but then you have to learn MATH and I’m not doing that.

permalink
report
parent
reply
14 points

It sounds like you’d benefit from having a project in mind. I always learned programming languages by building something I wanted, or by tinkering on someone else’s project.

permalink
report
reply
1 point

That could be good in the future but i struggle with the basics too. I look at source code and have absolutely no idea what it does

permalink
report
parent
reply
9 points

Code is overwhelming. Even experienced professionals hate diving in to somebody else’s code. It’s scary, poorly documented and we always think we could have done it better.

Don’t let that put you off.

A lot of us are practical learners. So like you we stare at a wall of code but struggle to comprehend it. But if you dive in and start editing, experimenting etc you’ll change the output and understand why it was written in a certain way.

Eventually once you’ve got it sussed you’ll be able to adapt a script to do what you want it. That’ll trigger the dopamine reward mechanism and you’ll be hooked like the rest of us.

permalink
report
parent
reply
1 point

The comment above stands on its own. Code can be overwhelming - start by going through an existing program and write a comment for every single line - describing exactly what each line does. You’ll pick it up faster than you think.

permalink
report
parent
reply
-8 points

It sounds like you either have not integrated ChatGPT into your life yet or you’d never think of asking a tech-tool tech-related questions.

All my code in the last year has been written up by AI. Sure, for now you still need to know what you’re doing, the code pretty much always needs adjustments, but your first draft is never farther than one LLM query away.

If you tell him what you just told us, like “I’ve spent months and all I can do is parse some values, what could I code to expand my horizon?” you will have new angles in minutes and all key lines of the code will be explained to you.

permalink
report
parent
reply
4 points

this is just horrible advice

permalink
report
parent
reply
2 points
*

Using AI is cheating and no teachers like it. We are ecouraged to learn entirely without any LLM or similiar. Sure, i could pull it off, when the teacher is not watching, but that’s very risky

permalink
report
parent
reply
13 points

Microsoft produces a plethora of good learning materials if you’re struggling with the basics or specific concepts. I recommend their C# for Beginners course to get a good overview of real C#.

Once you have a good handle on the basics, I would echo others’ advice that having some kind of project or goal to work towards is the surest path to learning, because you have external motivation to use what you’re learning and look up things as you need them. Is there some reason you chose C# specifically as your next language, maybe for game dev, web dev, or Windows apps?

permalink
report
reply
1 point

I did not choose C#, and after Python, i’d have chosen Javascript, Lua, or Java if it was my choice. I learn it in school, for some reason. My teacher is not very good at explaining things and basically leverages everything on us without teaching how to do it. And also, we learn c# once a week, which is propably not the intended way to learn a programming language anyway, and even then, most lessons are about flowcharts, number systems. Anyone who can learn c# in this enviroment is an absolute genius. Of course the whole class struggles with it

permalink
report
parent
reply
7 points

So… When you first start leaning to code you need to learn a lot of concepts, not just the language.

Flowcharts help to teach about code flow, conditionals, loops, etc.

You may be concentrating too much on language specifics. You’re not learning C# - you’re leaning to program using C#. There is a lot of theory behind programming languages.

permalink
report
parent
reply
3 points

Getting exposure to the language only once a week will definitely hinder you a lot. When learning a language, there’s a bunch of stuff you’ll memorize without even thinking about it if you spend time working on it every day, but it will be hard to remember if you spend a week between learning sessions.

permalink
report
parent
reply
1 point

I have a lot more things to learn and it is understandable that i want to unwind a bit or learn something that i actually enjoy, rather than suck with c# with absolutely no motivation. Like i don’t know how i was supposed to learn multiple languages at once and understand both

permalink
report
parent
reply

Programming

!programming@programming.dev

Create post

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



Community stats

  • 2.1K

    Monthly active users

  • 1.9K

    Posts

  • 31K

    Comments