![](/static/253f0d9b/assets/icons/icon-96x96.png)
![](https://lemmy.world/pictrs/image/0943eca5-c4c2-4d65-acc2-7e220598f99e.png)
0·
1 year agoHonestly the biggest issue you’re gonna run into when swapping into C# (or Java) is how truly object oriented they are.
Yes python has objects but it’s not the same.
Personally I’d recommend starting with pure Java first and doing the basics like Pong, pinball, whack-a-mole before migrating fully into C# then try to add Unity.
Java is a lot easier to compile and you’ll get to skip all the annoying C based compiler problems you’ll get with C#
(Sorry for the delayed response!)
That’s a good question that I find a lot of newer programs ask. The short answer is yes because the Java runtime environment abstracts out all of the platform specific things you’ll have to be aware of in C# to some extent. Long answer is you can probably figure it out with some extra struggle that’s going to be C# specific.
I fully understand that Java is not supported in Unity and that you will probably not use Java once you figure that out however, Java is still useful as a learning tool. I think that people focus on specific language too much (ie c# vs java) when in reality they are 99% the same. I think it’s more important to learn the data structure and logic behind object oriented programming over the specific nuances of a language. When to use an if/else vs a switch. When to for vs foreach. Abstract classes vs interfaces. These things are all the same amongst all object oriented languages and are the real things you should be focused on. Once you figure out how to do it on one language it’s a 30 second Google to look up the key words for whatever language you want to swap to.
So in summary use Java for it’s ease of compiling to learn (and there’s a lot of good java tutorials online for this) then be amazed when you swap to C# and how much worse the compiler is lol.