• palordrolap
      link
      fedilink
      265 days ago

      As at least one nautically themed childrens’ book surely has it: C is for crab.

      Coming at programming sideways feels more like a Haskell or Prolog thing, though.

      • @milicent_bystandr@lemm.ee
        link
        fedilink
        115 days ago

        Apple is for ADA

        Ball is for BASH

        Crab is for C

        Dog is for D

        Elephant is for Ecsmascript

        Fox is for F#

        Goat is for Go

        House is for Haskell

        Igloo is for

        …okay I got stuck there.

    • @Rednax@lemmy.world
      link
      fedilink
      95 days ago

      I mean, at the end of the day, if you really understand your language of choice, you know that it is jusf a bunch of fancy libraries and compiler tricks of top of C. So in my mind, I’m a fully evolved programmer in a language, when I could write anything I can write in that language in C instead.

      • lime!
        link
        fedilink
        English
        195 days ago

        only true if your language compiles to c. fortran peeps are safe.

      • Rose
        link
        fedilink
        English
        64 days ago

        Or, rather, most compiled languages are just syntactic sugar on top of assembly, and that’s especially true with C. (Oh, you can use curly brances and stuff for blocks? That’s sure easier to read than the label mess you get with assembly.)

      • @nialv7@lemmy.world
        link
        fedilink
        85 days ago

        It’s not what you can use that language to do - all general purpose languages are Turing Complete, so what you can do with them is exactly equal. It is about what the language will do for you. Rust compiler will stop you from writing memory unsafe code, C compiler cannot do that.

        • @qjkxbmwvz@startrek.website
          link
          fedilink
          65 days ago

          …are Turing Complete, so what you can do with them is exactly equal.

          But they’re only equal in the Turing complete sense, which (iirc) says nothing about performance or timing.

        • @Rednax@lemmy.world
          link
          fedilink
          55 days ago

          But how does the Rust compiler do that? What does it actually check? Could I write a compiler in C that does this check on a piece of Rust code?

          C is so simplictic, that if I can write a piece of functionality in C, I must understand its inner workings fully. Not just how to use the feature, but how the feature works under the hood.

          It is often pointless to actually implement the feature in C, since the feature already has a good implementation (see the Rust compiler for the memory safety). But understanding these features, and being able to mentally think about what it takes in C to implement them, is still helpfull for gaining an understanding of the feature.

          • @jj4211@lemmy.world
            link
            fedilink
            34 days ago

            Could I write a compiler in C that does this check on a piece of Rust code?

            Well yes, but that code has to be written in Rust. The human has to follow rules to give the compiler a chance to check things.

            C is so simplictic, that if I can write a piece of functionality in C, I must understand its inner workings fully. Not just how to use the feature, but how the feature works under the hood.

            I don’t think that’s particularly more true of C than Rust or even Golang. In C you are frequently making function calls anyway for the real fun stuff. If you ever compile a “simplistic” chunk of C code that you think is obvious how it would compile to assembly and you open up the assembly output, you are likely to be very surprised with what the compiler chose to do. I’ve seen some professional C developers that never actually had a reason to fully understand how the stack works, since C abstracts that away and the implications of the stack don’t matter until you exceed some limitations.

      • @epicstove@lemmy.ca
        link
        fedilink
        English
        134 days ago

        terminal cancer

        “I’m sorry, you’ve been diagnosed with :()::&;:”

        “You have a couple seconds to live.”

      • @Opisek@lemmy.world
        link
        fedilink
        13 days ago

        I never had any issues with npm. Moved to bun nowadays and still going strong. If I want to install something, I install it, and then it works.

        Setting up anything with pip however…

        • @Ricaz@lemmy.dbzer0.com
          link
          fedilink
          English
          13 days ago

          The only thing that sucks about npm are when package dependencies are not updated and dependency hell becomes very real, but that’s not really the fault of the package manager.

          Yeah, fuck virtual environments and different Python versions.

      • magic_lobster_party
        link
        fedilink
        415 days ago

        Rust and Cargo were built to be in a symbiosis with each other.

        NPM is an afterthought of a rushed language.

      • CEbbinghaus
        link
        fedilink
        435 days ago

        I would disagree. Especially since unlike npm every part of cargo was through through with all the experience and knowledge gained from npm, pip, nuget & co.

        I have a LOT more problems with npm over cargo. Also it’s 1 tool and not 100 different tools to do the same job (npm, pnpm, yarn, bun, deno, etc…)

    • @mmddmm@lemm.ee
      link
      fedilink
      64 days ago

      Yep, it’s the one starting everything.

      And doing nothing else. And still something manages to no be right.

  • @lobut@lemmy.ca
    link
    fedilink
    325 days ago

    Not a word of a lie, I saw a “segmentation fault” error in JavaScript.

    Can’t remember how we resolved it, but it did blow my mind.

  • @ulterno@programming.dev
    link
    fedilink
    English
    305 days ago

    C trying to take the shortest path to the goal.
    Would probably have won (and broken the universe), if the referee didn’t exist.

  • @grue@lemmy.world
    link
    fedilink
    205 days ago

    This implies that Javascript will get moving in the correct direction once it finishes installing dependencies, but it’s just going to get fucked with incorrect behavior that doesn’t even have the courtesy to throw an actual error.

    • @jj4211@lemmy.world
      link
      fedilink
      14 days ago

      incorrect behavior that doesn’t even have the courtesy to throw an actual error.

      To be fair, this can be said of C. A C executable only really forces a crash out when you royally screw up beyond the bounds of your memory. Otherwise functions just return a negative value and calling code that never bothers to check just keep on going.

      Golang is similar, slightly mitigated that if you are assigning any return value from a function, you must also explicitly receive an error and you know full well that you are being lazy if you don’t handle it. Well unless you use a panic/recover scheme but golang community will skewer you alive for casually suggesting that and certainly third party libraries aren’t going to do it that way.

  • @Redkey@programming.dev
    link
    fedilink
    55 days ago

    “NPM install” isn’t going to be the direct result of a race condition in JavaScript. And while I’m not familiar with Python, I’d guess that an “Indentation error” wouldn’t be one either. A missing library or syntax error that’s only discovered by executing a particular branch is still just a missing library or syntax error, not a race condition.

    Also, while Node.js is popular, it isn’t an integral part of JavaScript in the way that the other errors are integral to their respective languages.

    • lime!
      link
      fedilink
      English
      165 days ago

      none of these are race conditions, they’re just runtime errors. python only parses code when it is about to run that block so you can absolutely get a crash from bad indentation.

      in my experience, the js world’s focus on developer ergonomics has absolutely yielded some insane situations where running an installed script has caused it to start downloading more dependencies. however, this has unfortunately started happening in python too lately.