• 1hitsong@lemmy.mlM
    link
    fedilink
    English
    arrow-up
    5
    ·
    1 year ago

    I’m been wanting to ask for a while, and now seems like a good time.

    Why do some programmers hate C# so much? What are the reasons for “eww no it’s c# and .net i ain’t touching that?”

    • Kogasa@programming.dev
      link
      fedilink
      English
      arrow-up
      13
      ·
      1 year ago

      Microsoft.

      I’m a .NET dev, still hate Microsoft, but the language and ecosystem are fantastic. At least since .NET Core when it was mostly decoupled from Windows.

      • mild_deviation@programming.dev
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        The misconceptions that persist to this day despite over half a decade of .NET Core are mind-boggling. MS has a steep hill to climb.

    • Double_A
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      The language itself is great, but Microsoft the docs are sometimes horrible or outdated.

      And most things feel like magic that you can’t or don’t need to understand. E.g. if you set up a modern asp.net project it’s some huge boilerplate with configuration files and what not…

      Also standards often change… E.g. try figuring out what the best GUI framework is to create a full-fledged Desktop app in C#. There’s like a few different ones, and most are for basic mobile-style apps or not really mature. The best I found so far is WPF, which is kinda old though and everyone thinks it’s dead.

    • LordKitsuna@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      arrow-down
      2
      ·
      1 year ago

      i asked a few people and got the following answers

      "cuz: 1: its fake java 2: eats memory like java 3: .net on linux is l-o-l 4: unlike java there is no C# kotlin 5: other better things exist (java, javascript, go) "

      “the biggest issue with C# is that its just a fucking pain in the ass to use” (this one got several uses of a “yup” emoji reaction)

      “wtf is a compiler macro and why would i use one”

      "I dislike async/await garbage in most languages, this includes C#

      like you need to designate some functions async and others are non-async and sometimes you run into a situation where you need to block on async from sync and you’re basically fucked"

      • Kogasa@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago
        1. is smoking crack. .NET on Linux has been fine for years. Unlike Java there is no need for a .NET Kotlin (and there is F# if you really want a functional-first .NET language). If you want to call Java a “better” alternative to C#, power to you. But Javascript and Go shouldn’t be in the same conversation. Hence the crack.

        2. Might be thinking about .NET Framework, which is a pain in the ass to deploy. Modern .NET is completely different. Can’t think of many instances where the language itself works against me compared to Java.

        3. So you can conditionally compile code based on build-time constraints. For example, debug logging code can be removed entirely in the release build.

        4. Has a point, but this also disqualifies them from using almost any language with asynchronous programming.