• 2 Posts
  • 122 Comments
Joined 6 months ago
cake
Cake day: June 6th, 2025

help-circle




  • Have you ever looked at the original JS implementation? It looks nothing like what JS is today. Saying the bones were spat out in a couple weeks is like saying Linux was developed in a few months.

    And yet working groups have spent literal decades trying to make JS less shitty. The fundamental basics of JS can’t be changed in backwards incompatible ways without breaking a huge number of websites. The Linux comparison is just wrong because Linux has broken backwards compatibility to fix problems. A better comparison would be Linux’s policy to never break userspace. Backwards incompatible changes to JS would break a bajillion websites, much like breaking userspace would break a bajillion programs.

    TS transpiles to JS, and any JS is valid TS. Take any TS, remove the types (and some syntactic sugar) and you have JS. I feel like if you like TS but not JS, you just don’t like loosely typed languages. That’s just a preference. It doesn’t make a language bad.

    JS is valid TS. TS is not valid JS. This is the fundamental point. TS essentially fixes issues that JS cannot fix without breaking the world.

    Loose typing is fine if the language’s type system isn’t insane. I prefer static typing, but as long as the type system is coherent, it’s not an issue.

    TBH IMO the only reason JS became popular is because it was provided by web browsers, and if you wanted to make your site do anything complex, you thus needed to use JS. This eventually led to the JS VMs being very fast, so Node was created, and now it’s all over since you can learn one language for web and server.


  • I’m pretty sure most people do not like JS’s loosey-goosey, who-knows-what-ur-gonna-get type system, which is why TS is so popular. Not really surprising since the bones of the language were basically spat out in a couple weeks. TS is a custom type system on top of JS, meaning it’s not just JS’s type system expressed through strict typing. They added a bunch of useful features like discriminated unions and so on to make using TS more pleasant than raw JS.

    TS is actually usable (although NPM and the environment built around it still suck). It’s inherited a bunch of weird shit from JS, but the type system generally makes them bearable.












  • arcterus@piefed.blahaj.zonetolinuxmemes@lemmy.world🦀🦀🦀🦀🦀
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    2
    ·
    20 days ago

    Firstly, Rust doesn’t need to “prove its worth.” It’s been in use in prod in other contexts for years.

    Secondly, sudo is still actively getting a decent number of commits every month and has been riddled with bugs. For instance, just a few months ago there was a critical privilege escalation vuln. This rewrite is stripping out functionality that is deemed unnecessary.



  • Nah, it’s just that a whole lot of people, me included, are tired of foolish “but Rust is safe!!!1” propaganda-like shallow screams, like kids getting a new toy.

    Okay, and I’m tired of seeing every Rust-related thread filled with random idiots shitting on Rust for no real reason (often unprompted, with no actual argument other than “hurr durr stupid cult of rust bad hurr durr why use rust when c do trick”) and then go on about how the brilliant, genius, enlightened C programmers will save us with their 3000 IQ brainpower and never make mistakes. It’s just tiring. Every Linux discussion about Rust, every discussion about some software being rewritten in Rust (even by the original developers), every discussion even tangentially related to Rust ends up like this.


  • Yeah, what I was saying was that rather than the basic take URL and just put the file on the filesystem use case (which is in the common case not that difficult with stuff like reqwest or hyper), the other use cases where you for instance use the library to process requests and their responses in non-default or potentially bizarre ways is more likely where there’d be an issue. When I said “extra processing” for requests, I was including for instance potentially dealing with TLS and interactions between underlying libraries and so on with all the various protocols curl supports.