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

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

  • tatterdemalion@programming.dev
    link
    fedilink
    arrow-up
    40
    ·
    edit-2
    1 year ago

    If we’re saying 7% is the bar for mainstream, then Rust is my vote.

    C# is not even mainstream by that standard.

    I’d also like to see Julia used more.

    • Hawk@lemmynsfw.com
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      I personally find multiple dispatch far more challenging to use than OOP. I’d reach for Torch over Flux any day.

      Although, I really like that the majority of the Flux stack is Julia rather than a collection of Cpp.

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

        What do you find challenging about multiple dispatch? I don’t use Julia for my job, so I can’t say I’ve had enough experience to have a strong opinion. MD seems like a valuable tool though.

        • Hawk@lemmynsfw.com
          link
          fedilink
          arrow-up
          2
          ·
          1 year ago

          Simply, the lsp is far less useful. An object might have a dozen methods that act like verbs or some attributes that act as adjectives.

          In Julia there is a huge number of functions, that work differently for different types and different combinations of types. So finding the documentation involves finding the right name for a function that does different things for different types, then scrolling down the docs for the the behaviour that corresponds to the specific combination of inputs.

          I moved from R/Py to Julia for a while before moving back to Py (and a little bit of Rust).

          I love how fast Julia is and the 1-index is fine for me, but I still prefer py for the oop.

          • tatterdemalion@programming.dev
            link
            fedilink
            arrow-up
            2
            ·
            1 year ago

            So there’s no LSP function to just show all of the multi-methods that accept a specific type? That’s a pretty serious tooling limitation.

            Maybe Julia sounds better in theory than in practice, if the tooling still isn’t ready for production use.

            • Hawk@lemmynsfw.com
              link
              fedilink
              arrow-up
              2
              ·
              1 year ago

              Well it’s there, in one loooong print out. It’s not as bad as I’m making it out to be, however, I went back to python unfortunately.

              The crucial issue with Julia, no error messages.

              So I use Julia for things that need to be fast (e.g. moving hdf5 to SQL and ffts) but I use python for everything else (except ggplot).

      • Rin@lemm.ee
        link
        fedilink
        arrow-up
        3
        ·
        1 year ago

        Help me understand your point of view. How does Rust not prevent memory leaks?

          • hairyballs@programming.dev
            link
            fedilink
            arrow-up
            7
            ·
            1 year ago

            And here you’re only talking about a subset of memory leaks, by inaccessible memory. You can also leak memory by pushing new elements in a channel while never reading them for example.

          • zygo_histo_morpheus@programming.dev
            link
            fedilink
            arrow-up
            2
            ·
            1 year ago

            You are absolutely correct that rusts safety features don’t extend to memory leaks, but it’s still better than most garbage collected languages unless you abuse Rc or something, and it does give you quite fine-grained controll over lifetimes, copying and allocations on the heap which in practice means that rust is fairly good about memory leakages compared to most languages.

            • IAm_A_Complete_Idiot@sh.itjust.works
              link
              fedilink
              arrow-up
              7
              ·
              edit-2
              1 year ago

              How would rust fare any better then a tracing GC? Realistically I’d expect them to use more memory, and also have worse determinism in memory management - but I fail to really see a case where rust would prevent memory leaks and GC languages wouldn’t.

              • zygo_histo_morpheus@programming.dev
                link
                fedilink
                arrow-up
                1
                ·
                1 year ago

                If you just Rc everything (which I’d count as “abusing Rc”) Rust is significantly worse than a language with a good GC. The good thing about Rust is that it forces you to aknowledge and consider the lifetimes of objects. By default things are allocated on the stack, but if you make something global or dynamically handled (e.g. through Rc) you have to do so explicitly. In Rust the compiler has greater compile time information about when things can be freed which means that you need less runtime overhead to check things and if you want to minimize the amount of potentially long-lived objects you can more easily see how long objects might live by reading the code as well as get help by the compiler to determine if a lifetime-based refactoring is sound or not.

        • philm@programming.dev
          link
          fedilink
          arrow-up
          2
          ·
          1 year ago

          Not without a super fancy type system that has to be still found. I think the key issue is cyclic data-structures (e.g. doubly-linked list). The language somehow needs to have strong/weak pointers and automatically determining them is a very complex research question…

    • philm@programming.dev
      link
      fedilink
      arrow-up
      6
      ·
      edit-2
      1 year ago

      At this point, I think it’s almost mainstream, and it’s still growing fast (and it’s getting better, rust-analyzer is really awesome these days, I was there at the beginning, no comparison to today…))

      I may be biased, but I think it’ll be the next big main language probably leaving other very popular ones behind it in the coming decade (Entry barrier and ease of use got much better over the last couple years, and the future sounds exciting with stuff like this)

  • redempt@lemmy.world
    link
    fedilink
    arrow-up
    19
    ·
    1 year 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.

    • flakpanzer@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      1 year ago

      Elixir is such a beautifully designed language, my favorite language BY FAR.

      (I want an Elixir job too 🥹 )

  • zygo_histo_morpheus@programming.dev
    link
    fedilink
    arrow-up
    16
    ·
    1 year ago

    Haskell. I think that more people being familliar with Haskell concepts would be good for programing culture and it would increase the odds of me being able to write Haskell professionally, which is something I enjoy a lot when writing hobby code at least. Having more access to tooling and a bigger eco system would be nice as well.

    I’m not a 100% sure about my answer though. For one, I might grow to resent Haskell if I had to use it at work, and there’s also a risk that it would be harder to do cool innovative stuff with the language when more big companies depend on it.

  • alflennik@lemmy.world
    link
    fedilink
    arrow-up
    14
    ·
    1 year ago

    I’m obsessed with an extremely little known language called Grain. It’s not quite ready for production but it has an insanely intuitive functional syntax that I want to use noww.

    • davawen@programming.dev
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      Interesting!
      I see OCaml with rust syntax, for the web, which checks out the project goal of bringing functional patterns to everyday programmers.

    • NixDev@programming.dev
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      Until recently I never heard of crystal. There is a humble bundle for programming that includes a crystal book. That was the first time I heard of it.

      I will have to take a look at the language. Who knows when having knowledge of crystal will be useful

    • I Cast Fist@programming.devOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      What could be the “killer app” for Crystal is an equivalent of Rails, since its syntax attempts to be very similar to Ruby. Even supposing it maintains all of Rails’ inefficiencies, if it “just works” and has a very small learning curve for RoR veterans, adoption could grow steadily

      • railsdev@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        I think Lucky framework as well as the other one (can’t think of the name now) are pretty solid. What gets me is the ORM learning curve simply because I don’t have tons of time to dedicate to learning it.

        It’s also limiting not having lots of libraries (shards). Basically if you need to do anything outside the framework you’ll have to write it all yourself.

  • Ada@programming.dev
    link
    fedilink
    arrow-up
    12
    ·
    1 year ago

    I would like to see Ada grow. Its clean syntax, rich expressive capabilities, and early error detection by the compiler due to strict typing create a very pleasant experience during development. This year, the language got a new standard. Recently, a package manager and a community index were created. There’s an extension/LSP for vscode, etc. Along with great educational materials on learn.adacore.com, it’s easy to pick up and start using this language.

    PS I created a community on p.d two days ago: https://programming.dev/c/ada

    #adalang

  • danhab99@programming.dev
    link
    fedilink
    arrow-up
    11
    ·
    1 year ago

    Go. I love writing go, its so simple and predictable and the accessability of multithreading and being allowed to create as many “threads” as I want make me feel smart as fuck.

  • BigDanishGuy@sh.itjust.works
    link
    fedilink
    arrow-up
    10
    ·
    1 year ago

    Assembly, which flavor IDK but some RISC architecture.

    If everyone spoke assembly the world would be a very different experience. I’m not saying that it would be better or worse, but it’d definitely be different.

    • I Cast Fist@programming.devOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I think the problem is that processors can have slightly different instruction sets, possibly less likely with ARM and RISC (Reduced Instruction, after all), and how they interpret bits and jumps (big endian, low endian). Chibi Akumas has a lot of material for learning assembly of various CPUs, including older ones like 68k and 6502, something I’m doing on and off once in a while

  • abhibeckert@lemmy.world
    link
    fedilink
    arrow-up
    8
    ·
    edit-2
    1 year ago

    Swift.

    It’s a wonderful language, it’s general purpose, it’s cross platform, and it’s open source (Apache license). I wish it was a mainstream language outside the of the Apple universe.

    What I love the most is it’s so flexible. It’s a full featured OOP language, a full featured Procedural language, a full featured Functional language, a full featured declarative language, and you can relatively easily make it work with anything else you can think of.

    It also has the best concurrency system I’ve ever seen - and with high performance computing relying so much on parallel computing these days that’s a must and often what I miss the most in other languages.

    A lot of other languages do some things just as well as Swift, but Swift does everything really well.

    • killeronthecorner@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      edit-2
      1 year ago

      Completely agree. Unfortunately Apple will need to start treating Swift on non-Apple platforms as a first class citizen for it to achieve any sort of wider popular use.

      When Lattner left, it was a signal that they were unlikely to ever move in that direction. Since then, I’d say they’ve moved further away if anything. They certainly made a hell of mess introducing SwiftUI and Combine (though glad to say things have recovered significantly since then).