• buh [she/her]@hexbear.net
    link
    fedilink
    English
    arrow-up
    7
    ·
    1 year ago

    Ruby does that (well you use the keyword “end” instead of a bracket) but it fell out of favor before it got as big as python, to my knowledge, because of worse multithreaded performance in comparison (which I think has been fixed) and a bias towards unix systems over windows

    • Lil' Bobby Tables@programming.dev
      link
      fedilink
      arrow-up
      3
      arrow-down
      2
      ·
      1 year ago

      For me the big issue with Ruby—which admittedly has many fine features I would like to see in other languages—is the lack of a general standard for its operations. There are so many ways to get the same basic logic loop done, it feels like a recipe for either unfollowable code or chaos in programming teams.

      • xigoi@lemmy.sdf.org
        link
        fedilink
        arrow-up
        2
        arrow-down
        1
        ·
        1 year ago

        There are so many ways to get the same basic logic loop done

        This also applies to C.

        • Lil' Bobby Tables@programming.dev
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          Allow me to clarify.

          C has for, while, and do-while. That’s it.

          Ruby has for, while, do-while, until, rescue, inlined conditionals, optionals, and iterators, for what amounts to the same task; not to mention exceptions (something the C standard has repeated swerved away from, wisely) and lambdas.

          I’m not saying that there isn’t a time for Ruby, but if you think C falls into the same category then we’re very much in disagreement.

          • xigoi@lemmy.sdf.org
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            C has for, while, do-while, goto and recursion.

            How exactly are rescue, inlined conditionals and optionals used for creating loops? Also Ruby’s for and while do different things, unlike for and while in C.