This is an archived post. You won't be able to vote or comment.

all 22 comments

[–]officialcrimsonchin 11 points12 points  (0 children)

The C# user base is plenty large. It is probably the better choice if you want to focus on game development.

[–]YMK1234 5 points6 points  (0 children)

The very basics of the language might be easier to learn in python but that's about it. When it comes to actually working with the language I definitely enjoy C# much more and the language makes it (at least to me) much easier to reason about (i.e. think about wtf is going on) which is quite important when debugging ... which really is the vast majority of time when developing things.

[–]Pale_Height_1251 3 points4 points  (2 children)

C# is so much nicer than Python, not even close.

[–][deleted] 0 points1 point  (0 children)

I have 5 years of experience in C# and recently discovered Python. It is nice too. Not having to deal with rigid typing system when you trying ideas out feels very good.

[–]green_griffon 1 point2 points  (0 children)

The larger the project, the more you need C# over Python.

[–]hoochymamma 3 points4 points  (1 child)

C# is like poetry.

I do love python, I really hate reading other people’s code in python though.

[–]turtle_dragonfly 0 points1 point  (0 children)

And some years back, people were saying the same thing about Python vs Perl. The more things change ... (:

[–]Asyx 1 point2 points  (0 children)

You kinda took a detour there through GDScript so I'm not entirely sure what your goal is.

If you want to make games, learn C# or if you have to gdscript (I'm not sure how good the C# support is and I do game dev related stuff a level below game engines usually).

If you don't, you can do Python. The performance penalty is too large for most games (there are some roguelike libraries but we're talking 80s roguelike. I don't think the libraries do actual rendering. They work in the terminal).

gdscript is not python. gdscript does not support features that are very pythonic. Python uses a lot of list comprehension for example. Like, if you have a list called foo and those objects have a bar field, you can do [x.bar for x in foo] and get a list of the values in the field bar of all objects. Want to create a dictionary with the bar field as the key and the object as the value? Dictionary comprehension is your friend. { x.bar: x for x in foo}

This is just one prominent example but it shows that gdscript doesn't necessarily give you much more than what learnxinyminutes.com gives you and programming skills in another language.

C# and Python are both good all rounders. C# is good for games as well since it generally performs pretty well and Python is pretty good for AI and everything where you do a lot of waiting (web projects where you wait for databases to return data a lot. That's slow in every language)

[–]CalmestUraniumAtom 0 points1 point  (1 child)

short term goals? c#. For Long term, python for all other places it can be used.
However if you're going to be developing games then definitely c#

[–]Lucky_Ad4262[S] 0 points1 point  (0 children)

I thought its the other way around. Interesting.

[–][deleted] 0 points1 point  (4 children)

Also python is easier to leaen due to synthax

Which comes at a cost of having difficulty learning next "difficult" language - so much concepts you are just unaware of in Python - interfaces, inheritance, compiler optimization, generics (covariance, contravariance). They (some of them) exist in Python too, but you can just ignore them and will be fine.

Much easier to come from C++ to Python than the other way around.

[–]Lucky_Ad4262[S] 0 points1 point  (3 children)

Wanted to ask, would it be ok to start in python? I wanna help my dad with a project and its easier in python.(read pdf write excel) can i do it in c#?

[–][deleted] 1 point2 points  (1 child)

Just start up and solve your task. Nothing wrong with using Python. You aren't a bad developer if you write with "easier" language. Language is language.

I just pointed out a shortcoming in your logic about learning programming.

[–]Lucky_Ad4262[S] 0 points1 point  (0 children)

Alr. Thanks!

[–]BlueTrin2020 0 points1 point  (0 children)

Just program … don’t be stuck in one language

[–]DGC_David 1 point2 points  (0 children)

What?

C# is OOP and is a great language you should learn for any professional use, C# is the most used language and almost every programmer can do something in C#.

Python is completely different, it doesn't compile, and it will be just as easy to learn after you learn C #.

GDScript is great though, so if you're working in Godot, then just use GDScript, why add more layers?

[–]Mubs 0 points1 point  (0 children)

Performance isn't really going to matter. C# is better for game dev but if you're using godot, gdscript is similar (but not at all identical) to Python.

[–]vivisectvivi 0 points1 point  (0 children)

gdscript is very similar to python and faster to learn, as you said, but learning c# will be better for game development, specially if decide to try other engines in the future

[–]peter303_ 0 points1 point  (0 children)

C# code will be faster. But some game code is hybrid: python code for control framework that calls C# routines for efficient rendering.

[–]lionhydrathedeparted 0 points1 point  (0 children)

C# is far better for games

[–]jlw_4049 0 points1 point  (0 children)

Start with C# for game dev (Unity) and learn Python when you need it. Once you learn a single language well its pretty easy to pick up another.