MrScottyTay,

C# is massive, .NET one of the biggest platforms for code is C#. Plus Godot, Unity’s closest comparable competitor, also allows C#.

pythonoob,

How does she look like a different person in every pane?

Cethin,

I’m pretty sure there are two different people. Look at their clothes.

PixxlMan,

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.

dylanTheDeveloper,
@dylanTheDeveloper@lemmy.world avatar

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

dukk,

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).

dylanTheDeveloper,
@dylanTheDeveloper@lemmy.world avatar

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)

kryllic,
@kryllic@programming.dev avatar

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.

Elderos,

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

Eloise,

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

modulojs,

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!

Elderos,

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.

Cethin,

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#.

xantoxis,

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

tomjuggler,

Fun meme but corporate job listings in my town contradict the premise.

Let them C# I’m sticking to C++ and Python.

ledtasso,

Hot take (maybe?) C# looks like a great language, better than Java. I wish I had an excuse to use it.

Pipoca,

Being a much better language than Java isn’t exactly a high bar.

Matthew,

I’m not the best judge, as I’ve not exactly explored a ton of languages, but I love C#.

bi_tux,
@bi_tux@lemmy.world avatar

Tbh it’s just microsoft java with worse support on GNU/Linux

The only reason I used it were the unity libraries

Hawk,

Use it on Linux daily, no issues here.

brezelradar,
@brezelradar@feddit.de avatar

Tbh it’s just microsoft java

Microsoft made so many javas (remember Visual J++ or J#?), C# is the only one that survived. Well, Microsoft now also ships OpenJDK, apparently.

deveaux,

If this were ten years ago, sure.

Mananasi,

There’s many reasons to dislike C#, but this is just plain wrong

Elderos,

Java feels archaic compared to C#. I am not sure what problems you’re having on Linux? This sounds like a very outdated take tbh.

locuester,

Definitely not the case. I’ve been doing C# for over 20 years. For the last 6 years I’ve used it to write Linux services exclusively.

The “Java” relation was true 20 years ago, and the “Linux” argument was true 7 years ago. But neither hold any water anymore. It’s a great language and framework to write a wide variety of software with.

pkill,

Rooting for Bevy so much rn

fuck_u_spez_in_particular,

Yeah me too, but I think it’s not there yet, when you think out of a less programmer focused perspective, as most of the stuff in games is of artistic nature (which takes time to make, even with all the AI stuff) and otherwise simple game logic for most of these indie games. So something like an interactive GUI editor to “debug” is a must have for artists.

pkill,

There’s still Fyrox too. But for those used to Unity’s ECS it’s OOP style might be deterring.

fuck_u_spez_in_particular,

True, Fyrox often gets less love than e.g. Bevy (probably because the data-driven ECS pattern feels more idiomatic in Rust than OOP, and probably because it’s mostly a one-man-show as well)

acwern,

Sadly don’t think Bevy’s going to benefit too much from this drama. Most people from Unity will want a more complete toolset and probably won’t be wanting to learn a whole new language. Can see a lot of indie devs making the switch over to Godot though

Ddhuud,

Because the only possible thing to do in c# is unity stuff…

.

.

.

fuck_u_spez_in_particular,

I mean why else would you want to use C# when there’s Rust 🦀 and all the awesome tooling and libraries around it…

brezelradar,
@brezelradar@feddit.de avatar

Yea, there are 50 game engines written in rust - or so I heard.

duxuev,
@duxuev@lemmy.world avatar
areyouevenreal,

Rust really isn’t all that. Plus C# is used for all kinds of corporate stuff where Rust levels of performance aren’t needed. It’s also used in several other game engines

fuck_u_spez_in_particular,

I’m not speaking for Rust level performance. I’m using Rust nowadays, because it’s generally doing a lot right, that other popular languages struggle with IMO.

Think about error handling. I think even Java is better here than C#. I think it’s quite a mistake, not being required to add all possible exception types that a function can throw to the function signature.

Then the next thing, I really hate about almost every popular language is implicit . To be really safe, you have to check every (non-primitive) variable for null before using it, otherwise you have a potential NullPointerException.

Then take pattern matching, this is a baked in feature of Rust from the beginning and it does this really well (exhaustive matching etc.). There’s “basic” pattern matching in C#, but it just doesn’t really feel right in the language, and is not even close in capability compared to Rusts.

All of this (and more) makes Rust the less error-prone language, which I can say with confidence after long experience with both of these languages (both > 5 years).

I’m honestly not sure why exactly C# was chosen for most of the games, but it’s probably because it’s relatively good to embed, is relatively strong-typed, while being somewhat performant (compared to something like python or other scripting languages).

Wooki, (edited )

Security, performance and most importantly, security. .net updates every week to address security vulnerabilities, stability and enhancements. While the language is lower you just can’t overstate poorly c# lasts. C# Deprecation and dated code make for a pretty high maintenance and frustrating ecosystem at the best of time.

areyouevenreal,

It being updated frequently just shows it’s being regularly maintained and improved.

C# has many of the same security and safety advantages that Rust does given they are languages with memory management and other safety features built-in.

Rust has exactly the same problems with depreciation as many Frameworks rely on experimental features which are subject to change.

Edit: plus if you have ever used Rust it’s a pain to learn and use compared to C#. C# is so similar to Java and so much easier than C++ that it’s really not much of a jump for programmers new to the language.

fuck_u_spez_in_particular,

Learning curve is steep in the beginning, I agree (I wouldn’t argue painful though, maybe if you have to unlearn bad practices, like interior mutability though etc.).

But I think it pays off after some time. I’m now faster in Rust than in C# with similar experience, and the quality of the code is definitely higher as well (which can be credited to the strict kinda opinionated design of Rust IMO).

It composes really well, better than most (non-functional) popular languages. I think this is probably the Sell for Rust, as it additionally works remarkably well over the entire stack (kernel -> frontend) (in each abstraction level might be better/easier to use languages to be fair though).

areyouevenreal,

What’s interior mutability and why do you think it’s bad?

I might have another try at rust some time in the future. I think I tried it in a bad situation having to use it for a web microsevices project when I had limited knowledge of the language. If it had been another language I probably would have been able to pick it up in the time frame required. Using it did cost me in terms of grades, and it was a poor decision to use that language at that time.

The main things I struggled with were all the borrow checking and asynchronous stuff, as well as the lifetimes concept. I still don’t understand how you are meant to specify object lifetimes. In C you assign and free things manually, in Java and Python it’s done mostly automatically, in C++ you choose manual or automatic when it’s assigned. In Rust it seems it’s automatic until the compiler can’t figure it out and then it becomes manual, which is frankly bizarre.

fuck_u_spez_in_particular,

Rust has exactly the same problems with depreciation as many Frameworks rely on experimental features which are subject to change.

Rust has actually quite a good record with depreciation and backwards-compatibilty etc. They are changing the language in non-backwards compatible way over editions, but the changes are mostly very manageable.

But to not end up being another C++ (syntax-wise it’s a disaster IMHO), a few non-backwards-compatible changes every few years are the way to go, when it’s manageable.

areyouevenreal, (edited )

What’s so confusing about C++ syntax exactly? To me it seems to make a lot of sense given the languages history.

Wooki, (edited )

.net is not secure, it’s so far from secure it’s a joke. 503 security patches this year alone, that includes one for each windows version but you get the point.

areyouevenreal,

Do you not think Rust also has security flaws? At least Microsoft patch theirs.

fuck_u_spez_in_particular,

There are of course security flaws, we’re humans after all. Unless the compiler and the language can be proven mathematically correct at least.

But as described above, in practice the security flaws are easier to isolate in Rust compared to C# IME. The current story of security flaws in Rust is quite good so far.

areyouevenreal,

The current story of security flaws in Rust is quite good so far.

That means nothing without knowing who said it. I find it hard to believe it’s anymore secure the C# without security research saying so. It’s a very complex language from what I understand with a lot of moving parts. It’s also dependant on external frameworks in a way that C# just isn’t. If you have a problem with .net there is a company behind it who is responsible. Who is responsible for actix web or seaorm?

FartsWithAnAccent,
@FartsWithAnAccent@lemmy.world avatar

Doubt it

Pfnic,

Because ASP.NET isn’t a thing at all…

pleasemakesense,
@pleasemakesense@lemmy.world avatar

Is it pissible for programmers to encounter a silly little meme without taking it serious and going into a frenzy explaining that actually its premise is wrong

GigglyBobble,

deleted_by_author

  • Loading...
  • pleasemakesense,
    @pleasemakesense@lemmy.world avatar

    I actually caught it after I posted but liked it so kept it in

    samus12345,
    @samus12345@lemmy.world avatar

    No, it would be pretty painful to piss something like that.

    FartsWithAnAccent,
    @FartsWithAnAccent@lemmy.world avatar

    Maybe you just need to drink more cranberry juice…

    Myrhial,

    I immediately angrility opened the comments to respond. I think it’s just a side effect of working in this field. I have to be completely literal to the computer so in communication I prefer the same style. I will argue with people on the use of ambiguous language. More so if they are analysts. I can understand the business doesn’t always fully grasp the concept but if you give me a functional analysis it best be 100% clear. And yes, I’ve been tested for autism, it certainly flagged up as a possible trait, but it’s hard to know if this hasn’t just become an ingrained preference. Sure does help me when communicating with neurodivergent people, and I’ve heard from several neurotypical people as well that they actually appreciate the clarity!

    morrowind,
    @morrowind@lemmy.ml avatar

    I didn’t even understand the meme until I saw the comments. It’s not funny if it’s nonsensical

    Rentlar,

    Nice meme. I’ll just ignore the fact most C# devs aren’t game devs but…

    Many other engines use C#. Godot is compatible with it, for example.

    isVeryLoud,

    How comparable is Godot to Unity feature-wise?

    Rentlar,

    This old manual page goes through a comparison of Unity and Godot.

    onlinepersona,

    Is unity in C#?

    Wooki,

    Nice reach. Gadot is garbage.

    Rentlar, (edited )

    Well you are free to not touch my free and open source garbage then…

    opossum

    amio,

    You think C# is a Unity thing?

    GlitchyDigiBun,
    @GlitchyDigiBun@lemmy.dbzer0.com avatar

    Me writing my silly little forms apps in silly little VS Pretty drop-down fields :)

    amio,

    Oh, VS is not "little", it's one of the bloatiest pieces of software on earth.

    Also, Forms? How dare you. :p

    Aux,

    Once upon a time, a content management system for microsoft.com was a plug in for VS. And also a plug in for Word. And these two plugins had different feature sets, so you had to use both to manage content on microsoft.com. Don’t ask how I know.

    Lmaydev,

    It’s not so bad in the newer version. The switch x64 and put of process architecture helps a decent amount.

    I always have a pretty beefy dev machine though.

    TurtleTourParty,

    My boss: add this field to this old form.

    Me: open the form, add my field. Now VS crashes. I have to open the form code in a different editor and delete all the code VS added to the form when I opened it in the form editor.

    oldfart,

    Oh, so it hasn’t changed since I used VS6 back in the early 2000s (bought at the auto parts market from Russians on an almost transparent CD)

    EnderMB,

    I doubt the number of C# developers would drop even 1% due to Unity fucking itself.

    gratux,
    @gratux@lemmy.blahaj.zone avatar

    no love for godot?

    funkless_eck,

    we could hang ourselves instead… we’d get an erection.

    HolyDuckTurtle,
    HolyDuckTurtle avatar

    I hear Godot's own scripting language is preferable to C# if you're willing to learn it.

    jmcs,

    C# is technically faster, but according to one of the cassette beasts’ co-directors, you can maximize productivity and performance by doing most stuff in gdscript and skipping directly to c++ for the bottlenecks.

    AshLassay, (edited )

    Also currently no C# iOS support in Godot 4. And probably makes porting to non-MS consoles difficult since it relies on .NET

    onizuka89,

    For those wondering, it’s most likely a jab at unity with it’s new license model, as you could code in C# in it.

    M500,

    Is c# mainly just used in this engine?

    amio,

    No, C# is a general purpose language that Unity has a botched, outdated version of.

    onizuka89,

    No, as other’s have pointed out it’s not. There are plenty of other areas to use it, even in other game engines. OP is just trying to make it seem funny by making the exaggerated narrative that it’s the only use case for C#. If Boo was still around in Unity this joke would been accurate with that, don’t think that was used anywhere else

    Whirlybird,

    Absolutely not. It’s used everywhere on the web and other places.

    Shugzaurus,

    It is also the language of DotNet framework so hardly.

    HiddenLayer5,

    I mean Windows is also undergoing enshitification it could still be true?

    GigglyBobble,

    While true, businesses have it even harder to migrate to Linux (what else is there when talking enshittification?) than private users. Windows and dotnet won't go anywhere anytime soon.

    Shugzaurus,

    Distributed deployment of DotNet solutions is a bit more attractive on linux though

    railsdev,

    Huh? With each passing day Windows is being relied on less and less. Microsoft would have to rewrite from scratch at this point (or stop backward compatibility) if their goal is a secure, dependable OS.

    locuester,

    On their desktops, sure. But most apps are web based and back end apps are all services - running on Linux. I worked at a fortune 100 financial firm a couple years back. Hundreds of .NET apps, all running in Linux containers on Amazon ECS clusters or Lambdas.

    Lmaydev,

    It’s been cross platform and open source for like 10 years now.

    gnutrino,

    Dotnet has been cross platform for a while now (so long it’s not even called dotnet core anymore)

    GigglyBobble,

    It's probably a tiny fraction of the C#/dotnet ecosystem. But hobbyist meme creators mostly care about games, I guess.

    railsdev,

    I’ve noticed the Linux communities are flooded with “which distro should I use, also I’m a PC gamer” too.

    PixxlMan,

    Not at all. Unity’s use of C# is pretty unconventional even. Not representative at all.

    hairyballs,

    WTF I didn’t understand, thanks for the explanation. The fact that it’s used all around the world in big companies doesn’t matter I guess.

    Omgarm,

    Look at all these C# dev who don’t know the witch hunts are starting in 2024.

    TheFerrango,

    Time to become a Visual Basic .Net developer

    Rentlar,

    The next Slay the Spire to be developed on Microsoft Access

    Wild_Mastic,

    Jokes on you, I am already one! (yes my company chosen dev language is really vbnet)

    TheFerrango,

    All I’m saying is “AndAlso”

    Wild_Mastic,

    OrElse

    amio,

    I'm so sorry.

    lanbanger,

    I remember when I turned up to a new C# role, when all the interviews had been about C#, but the system was all VB.Net. Fckmylife.

    Heavybell,
    @Heavybell@lemmy.world avatar

    My old boss loved VB.Net. I still remember a time when I helped him out by solving mysterious bug for him.

    He used to have this class he copied about to do database stuff. Not the worst thing of itself, but it was oddly specific in some ways for reused code. E.g. It had a function that took an enum value and returned connection string. And of course what options were in the enum varied.

    So I come in one day and two other devs are already peering over his shoulder trying to help. The program is crashing when it tries to connect to the database and they can see for some reason the connection string is a single letter. I ask to see the function that is getting the connection string and see he’s removed the parameter, but the compiler didn’t pick up on it because:

    • VB.net lets you call functions that have no parameters without parentheses
    • VB.net is type lax, so an enum can be treated as an integer without casting
    • VB.net uses parentheses for array indexation as well as method invokation
    • .Net strings can be indexed like an array of characters
    • VB has no character type so VB.net treat characters as 1-length strings

    So instead of passing an enum to a function, it was calling the function with no parameter, then using the enum value to index the returned string into a single character, which was then treated as a string and passed to the SqlClient constructor.

    Wild_Mastic,

    I saw something similar in ancient code I found while refactoring some stuff. It’s between genius and maniac.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • programmer_humor@programming.dev
  • DreamBathrooms
  • magazineikmin
  • thenastyranch
  • modclub
  • everett
  • rosin
  • Youngstown
  • slotface
  • ethstaker
  • mdbf
  • kavyap
  • osvaldo12
  • InstantRegret
  • Durango
  • megavids
  • ngwrru68w68
  • tester
  • khanakhh
  • love
  • tacticalgear
  • cubers
  • GTA5RPClips
  • Leos
  • normalnudes
  • provamag3
  • cisconetworking
  • anitta
  • JUstTest
  • All magazines