I have met a couple of them in real life, and a few I have met online. The sample is not significant enough to draw any conclusions about their point of view and background.

I am more than interested in your opinions about the personality and political makeup of people who express this type of pro-C bigotry.

  • Todd Bonzalez
    link
    fedilink
    4
    edit-2
    1 day ago

    Eh, depending on what you like to program, C, C++, and Rust are often the only languages that will let you do certain things.

    If your specialty can’t be done efficiently or effectively with other higher level languages, then you would be justified in thinking of those languages as BS.

    Just as a data scientist who specializes in quickly sorting and comparing data with Python or R would consider C, C++, and Rust to be awful tools for the job.

  • @[email protected]
    link
    fedilink
    81 day ago

    If you are not using a magnetic needle and a steady hand, can you even call yourself a programmer?

  • I Cast Fist
    link
    fedilink
    312 days ago

    In my opinion, C purists are people who REALLY need to wash their fucking dishes, touch grass and get some sunlight. They get too worked up because “all the important things are written in C”, the important things being drivers, kernel and most basic stuff that OS needs.

    Whenever one talks about performance, just reply with “use Assembly” and their argument is immediately invalidated. You can also mention networking, fault tolerance and how Erlang does a much better job than C or C++ could do, which is why “real adults with real jobs” created it in the early 90s

    But mostly, it’s ironic that they’re becoming C-Conservatives, blaming the “hot new language” for bringing “the kids”. You can read the same kind of logic and disdain for C programmers, from LISP programmers, in the Unix Hater’s Handbook (1994)

    • @RubberElectrons
      link
      2
      edit-2
      1 day ago

      Nah, I like using C for low level stuff, it balances that it’s reasonably high level and procedural with pretty great performance, size and flexibility. ASM is faster, but you are slower when it comes to understanding someone else’s work.

      For projects that aren’t size or performance sensitive, write it in python or whatever the fuck you like, idgaf.

      • @Zak
        link
        32 days ago

        Not using a derivative of Scheme as originally planned was a mistake.

    • OneMeaningManyNamesOP
      link
      fedilink
      English
      42 days ago

      disdain for C programmers, from LISP programmers, in the Unix Hater’s Handbook (1994)

      I’m definitely looking that up.

  • Noble Shift
    link
    473 days ago

    Be language agnostic and use the correct tool for the job.

    • @[email protected]
      link
      fedilink
      9
      edit-2
      2 days ago

      It’s crazy to me that people don’t do this, once you’ve learned a few languages you can basically just pick up new ones straight away (assuming they don’t use entirely foreign concepts like Rust does)

      • @[email protected]
        link
        fedilink
        32 days ago

        Which foreign concepts do Rust use? The borrow checker/ownership is new but that’s really the only thing that doesn’t already exist in some other language.

        • OneMeaningManyNamesOP
          link
          fedilink
          English
          13 hours ago

          The borrow checker checks literally that you don’t take foreign things, so there is that.

        • @[email protected]
          link
          fedilink
          11 day ago

          The borrow checker, the way it handles exceptions and nulls, the way it handles stack/heap (possibly foreign to me because I’ve never done much on C), composition pattern instead of oop, probably more I’m forgetting

          • @[email protected]
            link
            fedilink
            31 day ago

            The borrow checker

            This is indeed pretty unique.

            the way it handles exceptions and nulls

            This is really just the fact that Rust has sum types - but those kinds of types have been used in many functional languages (Haskell for example) for a long time.

            the way it handles stack/heap

            This is just the same as C and C++ and any other low-level language that requires you to distinguish between the stack and heap.

            composition pattern instead of oop

            I mean if you’re only looking at OOP languages then this will be new, but functional languages have done this for a long time.

            So yea, I think a big part of what makes Rust great is that it has managed to take these really, really good ideas from functional programming languages and made them work in a language that is not entirely functional. This leads to a perfect blend/best of both worlds with regards to OOP and functional programming :)

  • @Feathercrown
    link
    English
    17
    edit-2
    3 days ago

    They see the scale of high-level to low-level languages. They see that C is on the human-practical low end of this scale. They ascribe value to being on the low end of the scale. Tada! C is now objectively™ the best language!

  • @SanndyTheManndy
    link
    293 days ago

    They are wrong. The correct answer is Rust. Have a great day.

    • @JeremyHuntQW12
      link
      22 days ago

      HERETIC ! CAST THIS FOUL USUPER FROM THE TEMPLE !

      C-ing is believing.

      C ++ is double plus good.

      C has always been at war with Rust.

      • @SanndyTheManndy
        link
        21 day ago

        Your statement already terminated from a NullPointer error when you said “CAST”. Better luck next time, gancho.

        • TheRealKuni
          link
          English
          21 day ago

          gancho

          FIVE MORE DAYS. Life before death, radiant.

  • @[email protected]
    link
    fedilink
    343 days ago

    C++ is pretty awesome but anyone who thinks a single language is the solution to all problems is dumb… unless you’re smart enough to realize that the one language to rule them all is PHP of course!

    • Scrubbles
      link
      fedilink
      English
      313 days ago

      If there is anything I’ve learned in my 10+ years as an engineer, it’s that there are no good or bad languages, just pros and cons of each in different applications.

      Except NodeJS. Never use JavaScript on the backend.

      • @[email protected]
        link
        fedilink
        6
        edit-2
        2 days ago

        If there is anything I’ve learned in my 10+ years as an engineer, it’s that there are no good or bad languages, just pros and cons of each in different applications.

        I dunno if I agree really - the more languages I’ve learned, the more I see an evolution from less sophisticated, less usable languages to more sophisticated, more usable, modern and just generally better languages.

        C and C++ are old, and you can tell. There’s so much complexity and legacy in those languages that it’s crazy. But it’s not just legacy - it’s also bad design choices. There’s a lot of really bad APIs and bad usability and footguns everywhere. You see the same thing in languages like JavaScript (whose design journey has been fraught with peril). Even Java has some bad stuff I would say, mostly from the overzealous insistence on OOP.

        However, if you look at some modern languages that were more deliberately designed, you really start to see how they are just intrinsically better. Python, while still being a dynamically typed scripting language which I would never use for large systems, is still leagues better than JavaScript in terms of design and usability I would say. Haskell was born from research and you can really tell - the language just makes sense in a very scientific way - although that does mean ease of use and developer experience has not always been the priority.

        Rust was developed for a very particular purpose, basically to provide the same speed as C++ but without any undefined behavior. From that design principle, a lot of good has resulted and Rust is basically an objectively better language than C++. The only thing still keeping C++ in the game is the historical reasons, just due to the sheer amount of code that exists out there in C++. C++ has more support in all kinds of places, but that’s just due to history and Rust will likely gain ground soon enough. For instance, C++ still rules for game development, but this could change within the next 5 or 10 years.

        It’s not that surprising when you think about - languages like Python, Haskell and Rust were built on the giant pile of experience the whole industry has amassed from using previous languages. It also helps that we just have more computing power today to make languages like Rust feasible. Rust compile times probably wouldn’t have been realistic 30 years ago.

      • @Feathercrown
        link
        English
        103 days ago

        You’re all just mad that JS stole your niche /s

        • @[email protected]
          link
          fedilink
          English
          42 days ago

          For small programs and scripting, Node is amazing. I’ve even written some CLI utilities in Node as standalone executables. I think most people who bash it have either never used it, or haven’t used it lately.

    • @[email protected]
      link
      fedilink
      32 days ago

      I hope that last part wasn’t a joke at PHP’s expense.

      I am actually surprised what PHP can do over the past few years. We converted a few critical REST APIs into PHP and it wasn’t just lightning fast, it’s also incredibly readable that we had non-PHP developers convinced it was the right move.

      • @[email protected]
        link
        fedilink
        42 days ago

        It wasn’t, I think PHP is legitimately an excellent language for readability and expressiveness.

    • Phoenixz
      link
      fedilink
      33 days ago

      PHP is effin awesome, I solve almost everything with it, and fast

  • @sudo42
    link
    English
    213 days ago

    Very few people have a truly diverse software experience base. Many humans without a large, diverse experience base have trouble imagining there are problems outside their own experience.
    There are millions of different problems that need software solutions. People with limited experience have opinions as to the “best” software.
    People with large, diverse experience bases tend to be a bit more circumspect and can understand there is no single best answer. The “best” software for a given task depends on many things, including the problem, the schedule, the availability of resources, etc.

  • @[email protected]
    link
    fedilink
    403 days ago

    It’s no different from anyone else with arbitrary, narrow-minded views. People like that, whether they realize it or not, don’t believe in the intrinsic value of personhood.

    This extends to their view of themselves and creates a need to feel valuable for some other reason. So they create a narrow idea of what it means to be good and valuable and it just so happens to align with their own traits, interests, and beliefs.

    • @Feathercrown
      link
      English
      53 days ago

      Every take I see in this thread gets more and more based

  • @[email protected]
    link
    fedilink
    223 days ago

    As an older coder, I’ve spent time commercially programming in a lot of languages (C, C++, C#, Python, TransactSQL, Javascript, and a few more - with many years of experience in each. I even spent time squeezing some forth code into a small programmable chip.

    My first comment on this « attitude » expressed above is that you need to pick the language (and its libraries) that is best for your problem space - each will have advantages, including constructs and libraries to suit whatever domain you are working in. Hence forth for a microchip, TransactSQL for DB stored procs, python for general purpose command line work etc.

    Having said that I do want to present one viewpoint which could give rise to this above expressed opinion. It’s an area that C is considered pretty strong - specifically language complexity. When coding in C, I really felt like I knew every nook and cranny of the language, exactly how every structure would be packed, what the assembly would probably look like.

    Python (and perhaps C#) are currently my favorite languages - python only has 36 keywords and while I don’t have the same solid grasp of what’s happening under the hood, I do feel like there are very few surprises and corner cases to the language, even while supporting some complex programming methodologies.

    The opposite of this is (IMHO) swift. What started as a really nice language with a clean syntax and solid libraries has morphed into a monster with 232 keywords. Does any swift programmer have a solid grasp of it all?

    I would say that C++ is at the complicated end of the spectrum - spend some time inside Boost and their extreme use of templates/meta-programming and it will make your head spin. The Boost developers are super smart people, but its non-trivial to understand what is going on. Having said that, C++ does make you feel that you can code close to the machine and have a good handle on what is happening under the hood.

    This level of control is probably one place where this « only C and C++ code is any good » attitude came from. Its not an attitude I support.

    • @gedhrel
      link
      23 days ago

      C++ is one if those languages where writing a library feels hugely different from using it. Boost is a case in point here: there are brilliant peiple behind it, but (error messages aside) the ergonomics of using thise libs in an application are usually pretty good.

      (Scala felt similar to me. There are other languages where it feels much less like I’m swapping hats as I flip between parts of a codebase.)

  • @[email protected]
    link
    fedilink
    English
    213 days ago

    Many programmers that work in Low level languages like Assembly or C regard high level languages as easy or slow and thus tended to dis them.

    John Carmack (Doom, Quake engine, considered an amazing programmer) Best Programming Language has a wider appreciation of IDEs and Languages.

    • @[email protected]
      link
      fedilink
      English
      93 days ago

      I took an assembly language course once. You know those merge games where you eventually get to double or quadruple your producer’s output? Coding in assembly feels like being stuck on 1x, where you have to generate all the basic stuff first, and then build on it, then build on it some more. It takes forever.

      I liked understanding the why behind it. But I appreciate other languages that are more accessible.

      • @[email protected]
        link
        fedilink
        English
        83 days ago

        Yep, it can also be the answer to getting insane performance gains for extremely specific functions / calculations.

        The reality of life is the higher level languages let you get more done with fewer errors but with less potential performance… You can only optimize python so much. Some newer languages like Rust try to balance the two but often make things more complex.

  • @[email protected]
    link
    fedilink
    173 days ago

    “First we get rid of strict typing. What’s next, setting a boolean variable equal to a string?!?”

    If you look back at the arguments against interracial marriage, they mirror almost all of the arguments against gay marriage to the letter. Some people are convinced that their world as it exists when they come of age to participate in it is the way it should always be. So my bet is that their deal is they don’t want to learn anything new. Learning can be hard and it’s not always fun to learn and more importantly the global capitalist society constructed for us is not conducive to learning so people are greatly encouraged NOT to learn.

    • @Feathercrown
      link
      English
      83 days ago

      Wild words to use on a post about C but tbh I might agree with you

  • Aeris Irides
    link
    fedilink
    103 days ago

    I think some people really like iso/iec standards while others find standards “annoying”.

    • @[email protected]
      link
      fedilink
      12 days ago

      Honestly I don’t trust these old, slow standards organizations to do well at designing programming languages.

  • @[email protected]
    link
    fedilink
    English
    13
    edit-2
    3 days ago

    The best way to engage them is to ask them about their projects. I usually find them to be very knowledgeable, have a lot to learn from, that you can mix in with your more recent languages.

    Win/win beats calling eachother bigot :)

  • @finitebanjo
    link
    3
    edit-2
    3 days ago

    I haven’t really met those people for about a decade, but before modern languages with superior security but still usable like Rust we only had Java, C, C++, C#, and Assembly for the more advanced, thoughtful, and professional programing workflows.

    (At this point in time COBOL and Fortran was already almost exclusively Legacy use).

    If you wrote Python or Apache Groovy in an office space where you collaborate with others, you were an oddity. Or maybe you worked at the NSA, because oddly they use a lot of that on their github.

    Of course, we now have IDEs that let you work professionally with basically any language, so it’s all moot, now.

    There is still some negative sentiment against any and all high-level languages because the more that is automated the less its users understand about programming or computer logic.