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

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

    • @railsdev
      link
      21
      edit-2
      7 months ago

      deleted by creator

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

      Sorry to say, but once I realised how euro-centric, and to my ear/eye, latin-centric esparanto is I completely lost interest.

      I don’t know if anyone has tried, but something which similarly draws influences from the languages that the vast majority of the world speak would be wonderful.

      • @[email protected]
        link
        fedilink
        138 months ago

        You made me think of that xkcd about standards.

        Anyway, the eurocentrism argument, while perhaps true due to the Latin root, seems to be a little bit of a savior complex don’t you think? China itself pushed for Esperanto to be used as a business language internally late last century as I recall.

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

          savior complex

          I don’t see that at all.

          It’s about making a language that the maximum amount of cultures can see themselves in, can have at least some familiarity with, and feel like they’ve been acknowledged in the making of a global language … all of which is intended to get maximum buy in around the world to establish a truely international language rather than a Lingua Franca derived from hegemony.

          Maybe China was interested in Esperanto for a bit, but I’m betting like most stories like that it’s heavily exaggerated or outright bogus.

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

            Someone already said that either the created language takes from too few source languages and alienates speakers of languages with no common characteristics or takes from every language family and becomes a horrible mess that’s hard to speak for everyone.

            So if a world language is a bad idea no matter what languages you use as a source, why not have Esperanto or something similar for Europe/English speaking world and then a different language for Asia, and another one for Africa. You’ve reduced the number of translators needed and left most people with a language close to their mother tongue. You could also break the suggested regions in to smaller sections eg give Germanic Europe a common Germanic language. West/south Europe get Esperanto, east Europe sets a common slavic language. You still get languages that don’t neatly fit like Hungarian but its better for most language learners than the last example.

            Personally I’d not propose universal languages as a utopian idea and instead promote indigenous languages such as Catalonian, Breton, Irish and promote learning many languages in a post work society.

            • @[email protected]
              link
              fedilink
              -18 months ago

              Yeah we can invent yet another language, and go through the motions of including everyone. But by god make sure you don’t forget anyone. Let’s throw in Chamicuro, Warlpiri, Liki, Tanema, Ongota, and Dumi, just to make sure. Don’t want to upset anyone….

              Or we could stop inventing new ways to accuse things of not being inclusive enough. It’s getting bonkers… Not saying Esperanto is the best language, and it has its flaws as others have so vehemently stated, but if inclusivity is the primary motive when designing a language, then I can almost certainly guarantee that new language will be much worse.

              I mean English is basically the world language. It’s used by pilots, scientists, global finance, and diplomatic efforts. I’m gonna assume that almost no one would classify English as inclusive in its vocabulary. Unless you’re German, Dutch, or French of course. Esperanto is at least more accessible and easy to learn and carries Latin roots… shared with lots of languages. And it was invented by a member of a repressed minority in the old Russian Empire. What’s not to love?

              • @[email protected]
                link
                fedilink
                28 months ago

                My problem is not with inclusivity but with promoting uptake. If you are familiar with the grammar or phonetic sounds or some of the vocab, you are more likely to find that language easier to learn.

                Both English and Esperanto share the same problems of universal languages that I mentioned. English does have the advantage of number of speakers but it is a mess of a language for people to have to learn.

                Again to reiterate my counter to universal languages, why not learn and potentially help revive your local indigenous languages. In a world where universal translation exits on our phones everybody being able to speak the same language matters less.

      • @[email protected]
        link
        fedilink
        48 months ago

        Who cares if it’s European sounding, it’s still an interesting language that is relatively easy to learn, even for people from non-romance backgrounds.

      • @[email protected]
        link
        fedilink
        38 months ago

        Neo-Indo-European?

        The issue is that modern languages are so diverse, you would wind up with a horrid, unusable patchwork.

    • @TheV2
      link
      58 months ago

      What disrupted the fun for me:

      • the rules for articles before languages, countries and their people
      • everything sounds the same / easy to be misunderstood
      • not nearly as internationally approachable as it could be, though obviously that’s almost impossible
    • tun
      link
      fedilink
      48 months ago

      I think OP means programming language. Not the languages used by human to communicate each other.

      • Match!!
        link
        fedilink
        English
        28 months ago

        As a regular person who speaks a non-indo-european language, yeah I thought that was obvious

      • @[email protected]
        link
        fedilink
        18 months ago

        I’d love to read more about that! Normally, I’d just do my own searching, but since you have actual expertise in the area, is there someone in particular I should search for who explains this?

        I also want to clarify that I’m not skeptical; on the contrary, I can think of three reasons off the top of my head, as a layman who knows virtually nothing about Esperanto, just based on you identifying colonialism as an issue, but I was hoping to get an educated take on it.

  • @tatterdemalion
    link
    61
    edit-2
    8 months 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.

    • @[email protected]
      link
      fedilink
      48 months 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
        link
        38 months 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.

        • @[email protected]
          link
          fedilink
          28 months 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
            link
            28 months 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.

            • @[email protected]
              link
              fedilink
              28 months 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).

    • embix
      link
      fedilink
      28 months ago

      Currently out of stock, but what about

      use English;
      use strict;
      
  • copygirl
    link
    fedilink
    English
    318 months ago

    Zig hasn’t been mentioned yet, so I’m just going to drop that here.

    I personally have enjoyed the meta-programming, the ease of integrating with C libraries, and like that it’s pretty straight-forward to compile.

    • thingsiplay
      link
      fedilink
      88 months ago

      Came here for Zig too. I never programmed anything in it other than hello world stuff. I think the world is waiting for the 1.0 release with complete tooling and package manager and a solid foundation that won’t change too soon. I watched talks from Andrew and what this guy and his team is doing is amazing. It’s a small team.

    • Oliver Lowe
      link
      fedilink
      68 months ago

      Zig is what I thought Rust would be like when I first heard of Rust. I’d love to try Zig for some hobby things but can’t get it running on OpenBSD (yet!).

        • Oliver Lowe
          link
          fedilink
          38 months ago

          Oh there is absolutely zero disappointment.

          Years ago I wanted to learn how OpenBSD worked. Some people said to me “ah you want to get into programming at OS level? I was a bit disappointed with Go. But don’t learn C, learn Rust; Rust is the future there”. So as a total novice I looked at all 3 on the page. My impressions were: Go looks easy, C looks a bit harder, Rust looks… way too advanced for a beginner like me.

          Later when I heard of Zig I started reading and it looked a bit more like what I expected a “future C” to look like.

          I wish I had more time and skills to do work in C, Rust and Zig. I’m a Go programmer by trade.

          • @[email protected]
            link
            fedilink
            28 months ago

            If you know how computers work and what happens behind the scenes, as well as some familiarity with functional languages with strong types Rust makes a lot of sense and isn’t egen hard.

            If you are new to programming or have only done scripting with languages like python then yeah, rust must look like hell.

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

            Rust forces you to learn and think about the stuff you need to know to be an effective C or C++ programmer.

  • @zygo_histo_morpheus
    link
    268 months 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.

  • @[email protected]
    link
    fedilink
    258 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
      38 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
        8 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
          8 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)

      • @onlinepersona
        link
        English
        18 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
          18 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
          18 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.

    • @[email protected]
      link
      fedilink
      98 months ago

      Rust doesn’t guarantee the lack of memory leaks anymore then java/C++ does, so sadly not sure if it would help here. :)

      • @hairyballs
        link
        28 months ago

        We can go further, I think it’s impossible to prevent memory leaks in a general purpose language

        • @philm
          link
          28 months 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…

          • @hairyballs
            link
            98 months 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
            link
            18 months 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.

            • @[email protected]
              link
              fedilink
              9
              edit-2
              8 months 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
                link
                18 months 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.

              • @zygo_histo_morpheus
                link
                18 months ago

                I think you know what I mean when I contrast Rust with GC’d languages, we can call it opt-in garbage collection if we’re being pedantic.

    • @philm
      link
      8
      edit-2
      8 months 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)

    • @[email protected]
      link
      fedilink
      48 months ago

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

      (I want an Elixir job too 🥹 )

      • I Cast Fist
        cake
        OP
        link
        English
        48 months ago

        Why doesn’t every language have pipes?

        Mario’s favorite character

      • @[email protected]
        link
        fedilink
        48 months ago

        I find Universal Function Call Syntax a much nicer solution than pipes, although I don’t think it’s quite as broad.

        For example, taking the example from elixir’s home page:

        "Elixir" |> String.graphemes() |> Enum.frequencies()
        

        would be

        "Elixir".graphemes.frequences
        

        in something like D

        • Oinks
          link
          fedilink
          18 months ago

          I personally find that syntax a bit confusing because it looks like it’s traversing members of structs/records/objects. It also looks like the composition operator in Haskell but is read in opposite order.

          I’m sure it’s perfectly fine when actually working in D but it’s not as obvious as pipes imo.

  • @[email protected]
    link
    fedilink
    198 months 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
      link
      28 months ago

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

    • @[email protected]
      link
      fedilink
      18 months ago

      One of the most exciting things about Grain is that it compiles to WebAssembly.

      That’s a cool feature.

      What is the particularity that you talked about?
      In my point of view it looks like JS/TS with arrow functions. 😁

      • @spartanatreyu
        link
        18 months ago

        it looks like JS/TS with arrow functions.

        JS/TS already has arrow functions.

    • @sjpwarren
      link
      78 months ago

      It’s a pity there is not 1 code example on the Front Page. I spent a few minutes trying to find a page with some code and all I found was Why, Why Not, what is different etc and not any code examples so I am out. Look at Zig within seconds I can see if I like the syntax, does it make sense to me. I would love to know what Pony lang looks like. I might like it but it seems like

  • @railsdev
    link
    18
    edit-2
    7 months ago

    deleted by creator

    • @NixDev
      link
      58 months 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
      cake
      OP
      link
      English
      28 months 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
        link
        1
        edit-2
        7 months ago

        deleted by creator

      • @railsdev
        link
        1
        edit-2
        7 months ago

        deleted by creator

    • @[email protected]
      link
      fedilink
      28 months ago

      I’d be interested in hearing what it is about the language that has gotten you so excited about it.

      • @railsdev
        link
        2
        edit-2
        7 months ago

        deleted by creator

  • Ada
    link
    158 months 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

    • CommunityLinkFixerBotB
      link
      fedilink
      English
      78 months ago

      Hi there! Looks like you linked to a Lemmy community using a URL instead of its name, which doesn’t work well for people on different instances. Try fixing it like this: [email protected]

      • Ada
        link
        38 months ago

        I’m new to Lemmy. Appreciate the heads-up, thank you! 👍

  • @[email protected]
    link
    fedilink
    138 months 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
      cake
      OP
      link
      English
      18 months 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