I know that Lemmy is open source and it can only get better from here on out, but I do wonder if any experts can weigh in whether the foundation is well written? Or are we building on top of 4 years worth of tech debt?

      • tarjeezy@lemmy.ca
        link
        fedilink
        English
        arrow-up
        34
        ·
        1 year ago

        From some comments I’ve read, it’s at least in better shape than kbin? A few people expressed interest in helping with that project and then went running for the hills after reading through the code.

          • platypus_plumba@sh.itjust.works
            link
            fedilink
            arrow-up
            11
            ·
            1 year ago

            Mother. Of. God. Did they really write Kbin in PHP?

            I may be talking shit because I’m not a PHP coder, but the times I’ve seen it, it was a nightmare.

            • DrWorm@lemmy.world
              link
              fedilink
              arrow-up
              7
              arrow-down
              1
              ·
              1 year ago

              Which… makes sense. The creator of doesn’t like coding.

              I actually hate programming, but I love solving problems. I really don’t like programming. I built this tool to program less so that I could just reuse code. PHP is about as exciting as your toothbrush.

              So PHP it born out of a dislike of coding. In turn the documentation is all over the place and inconsistent.

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

                It has become really solid over time.

                But it will always be a mono-threaded and interpreted technology, and therefore never a good choice for a high-scale solution like a Fediverse application.

          • rm_dash_r_star@lemm.ee
            link
            fedilink
            arrow-up
            1
            arrow-down
            1
            ·
            1 year ago

            PHP is really old isn’t it? I remember using phpBB forums some twenty years ago. They worked really well, but that’s going pretty far back.

            • insomniac@vlemmy.net
              link
              fedilink
              English
              arrow-up
              3
              ·
              1 year ago

              PHP is an interpreted language which is inherently slow compared to a compiled language, such as Rust which is very fast. Modern PHP isn’t so bad kinda but I’m guessing a guy who hates programming and decided to start a new PHP project in 2023 isn’t really optimizing anything. Also, you’ll never get anyone you help you write PHP because gross. It’s a dead language with a small community of masochists and maintainers of legacy projects.

              It would be like if you saw someone building a fighter jet and thought “hey, I can do better!” and then started getting your paper mache out to start playing air plane designer.

            • ritswd@lemmy.world
              link
              fedilink
              arrow-up
              2
              ·
              1 year ago

              It is, but it aged pretty well.

              Devs wanted to store state in objects, so it became object-oriented. It also gained a really solid full-fledged web framework with a strong community, with Symfony; and some strong micro-frameworks like Laravel.

              But it will always be interpreted and mono-threaded, and therefore never a good choice for high-scale solutions. Facebook has to invent a brand new language (Hack) and runtime (HHVM) that was close enough to PHP so they could spend millions spending their PHP codebase to it, in order to make it compiled and multi-threaded, and make it scale.

        • rm_dash_r_star@lemm.ee
          link
          fedilink
          English
          arrow-up
          4
          ·
          1 year ago

          I read from one admin that a Lemmy instance is a lot easier to set up and maintain than a kbin instance. It’s initially more complicated to set up and updates are just a super headache to deal with. That sounds like a showstopper. I mean kbin is not going to get too far if it’s that difficult to run and maintain an instance, no matter how good or bad the code.

          From a user perspective kbin has a really nice looking interface, though Lemmy has more features. I’d like to see kbin do well. It’s younger than Lemmy so it’s going to be behind, but hopefully the overhead in running an instance can be resolved.

      • flathead@quex.cc
        link
        fedilink
        arrow-up
        13
        ·
        1 year ago

        No the answer is that it is written in a modern language, is in its infancy and needs a lot of work to be really great, but it’s based on a certified protocol ActivityPub, that Mastodon and other “fediverse” systems use. It’s going to be really great, eventually.

        • ransom@lemmy.dbzer0.com
          link
          fedilink
          arrow-up
          4
          ·
          1 year ago

          “It depends” is a reference to an inside joke between developers. I agree with you that it could be really great, whether or not a code base is “good” or “bad” is just a complicated and highly subjective question to answer

          • flathead@quex.cc
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            thanks - yes, I suspected it was. Lemmy is what it is - and agree the question is difficult to answer concisely. Understanding that interpretation of “good” vs “bad” codebases is subjective, there are plenty of production systems that are unambiguously “not good”. The great thing about lemmy isn’t the UI, it’s the threading and reddit-like communities built on the ActivityPub foundation. It’s the right foundation.

    • spongebue@vlemmy.net
      link
      fedilink
      arrow-up
      3
      ·
      1 year ago

      Hey, my code base is fantastic if you ignore all the stuff I had to inherit, did in a time crunch, or didn’t understand what I was doing!