Assume mainstream adoption as used by around 7% of all github projects

Personally, I’d like to see Nim get that growth.

  • @redempt
    link
    257 months ago

    Rust. I’ve been using it for a while, and I’ve been using more software written in it lately. Stuff you make with it is just better in most ways. In other languages, you have to go above and beyond to make your code fully correct, safe, user friendly, and every trait I value in software. Rust makes those things easy, and so people are more willing to do them, and so things that get made in it are better. Oftentimes it’s just a matter of pulling in a crate and adding a few lines of code.

    • @[email protected]
      link
      fedilink
      37 months ago

      I just wish Rust’s syntax (and devs attitude) wasn’t so unpalatably shite

      I seriously can’t stand that shit but I really like it’s ideas

      • WatTyler
        link
        fedilink
        2
        edit-2
        7 months ago

        I’m learning Rust at the moment and I too think I have some reservations with its syntax. Most of these reservations come from my strong preference for functional programming over OOP.

        I am unsure if I like method-syntax period, even if it isn’t inherently OO. Chaining just makes me feel uncomfortable in a way piping doesn’t.

        Also it seems idiomatic for values of enumerated types to be written Type::Enum, which seems ugly and unnecessary.

        What’d you make of this article?: https://matklad.github.io/2023/01/26/rusts-ugly-syntax.html

        • @[email protected]
          link
          fedilink
          1
          edit-2
          7 months ago

          About the article you linked:

          Author is removing every part of the initial function, admitting there are reasons those things are there in the first place, only to be left with a slightly more verbose version of an equivalent python implementation. Well then just use python?

          Author also doesn’t seem to understand what static polymorphism is/why this specific function is generic. It’s not strictly about “bytes”, it’s about avoiding virtual calls/have nicer API. Author conveniently omits mentioning the clone() calls their version requires from the client call. Or they would make everything automatically cloned, and I already addressed that in the first paragraph I

          Finally, standard libraries are notoriously bad examples of “normal” code. They mention it, but still declare that that their example is relevant. If the functions I wrote were compiled and used thousands of times per day I would probably worry more about splitting generic and concrete implementations. I’ll take this over anything in the C++ standard library (which is a much more relevant language to compare rust with than e.g. python)

      • @[email protected]
        link
        fedilink
        English
        17 months ago

        I think what you’re calling ugly is just static typing. There’s no way to make it look beautiful unless you leave the types away, but then you either end up with some kind of dynamically typed looking language by declaring things twice: once with types and then without.

        At first glance, sure it would be easier to read, but if you have to look for the types then things get much harder. Either the types will be in comments, on different lines, or in a different file entirely.

        It’s doubtful you’ll find a statically typed language that does a better job. C/C++ look even worse than rust. Go and Zig don’t look good either, IMO.

        • @[email protected]
          link
          fedilink
          17 months ago

          I’m a long time C user Almost everything I write is in some strongly typed language lol

          I still find C much easier to read and understand than any large Rust codebase

        • @[email protected]
          link
          fedilink
          17 months ago

          At first glance, sure it would be easier to read, but if you have to look for the types then things get much harder. Either the types will be in comments, on different lines, or in a different file entirely.

          This is pretty much how OCaml works and you can omit the types altogether if you don’t specify an interface file, in most cases. But it’s not hard to deal with in practice since IDEs (and text editor + LSP plugin) can easily show the inferred type on inspection.

          Nevertheless, I don’t really find Rust to be ugly either.