this post was submitted on 14 Sep 2023
415 points (79.5% liked)

Programmer Humor

18958 readers
1083 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 73 points 11 months ago (4 children)

Thinking that C# is just Unity is a MASSIVE disservice to C# and dotnet imo. Unity's usage of C# is really crummy, basically relegating a very powerful language to working as a weird scripting language.

[–] [email protected] 16 points 11 months ago* (last edited 11 months ago) (2 children)

Absolutely. C# in Unity always seemed to me like a square peg in a round hole.

From my perspective (teaching game programming classes), it's incredibly clunky for beginners when compared to others. Unity needed a tightly integrated, noob-proof scripting language. Despite C# being the primary language, it's integration and setup with the rest of Unity seems surprisingly lacking, and, like you're referencing, you don't even get convenient use of the broader C# / Mono / .net ecosystem, which makes skills more portable. Even the "bad old days" of Flash/ActionScript were much easier for students, and results in more portable coding skills (e.g. at least transitioning to Web / JavaScript from Flash / ActionScript is easier)

It's much easier to teach same lessons / concepts using Godot, though sadly Unity is much better known. Hopefully the present pricing chaos might shift the needle a bit on this!

[–] [email protected] 4 points 11 months ago

Unity used to also have UnityScript, but it's deprecated. It was like JS, but it wasn't really used by many people compared to C#.

[–] [email protected] 1 points 11 months ago

I am curious, what exactly is missing in the latest LTS version from .Net what makes it so clunky to use for students? Afaik it is pretty solidly close to actual .Net 4.7 nowadays.

[–] [email protected] 10 points 11 months ago (1 children)

I'd say the same with Unreal and C++

[–] [email protected] 7 points 11 months ago (1 children)

I mean you’re right, but I’ve never met anyone who thinks that way. C++ is everywhere (although C++ itself is just a hot mess of a language imo).

[–] [email protected] 2 points 11 months ago* (last edited 11 months ago)

C++ is pretty good by itself but I end up using mostly C for actual functions, QT, wxwidgets and a few others utilise C++ to a degree but my god does it get messy without the help of a visual aid (blueprints, formbuilder etc)

[–] [email protected] 9 points 11 months ago (2 children)

Agreed, I feel like if someone starts their C# journey exclusively in Unity, they won't have a solid foundation in the actual language, just that specific implementation of it as a scripting language.

[–] [email protected] 6 points 11 months ago

Can confirm as someone who did exactly that before starting over with c++

[–] [email protected] 3 points 11 months ago

It is pretty damn close to actual C# nowadays. Some version, I think it was 2019, really upped up the scripting backend.

[–] [email protected] 8 points 11 months ago

Not to mention C# is also the best way to write a Godot project.