Seems like an interesting effort. A developer is building an alternative Java-based backend to Lemmy’s Rust-based one, with the goal of building in a handful of different features. The dev is looking at using this compatibility to migrate their instance over to the new platform, while allowing the community to use their apps of choice.

    • MashedTech@lemmy.world
      link
      fedilink
      English
      arrow-up
      23
      arrow-down
      1
      ·
      11 months ago

      Next step, is to remake Lemmy in JavaScript. Pure JavaScript, no typescript, only express, nothing else

    • P03 Locke@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      27
      arrow-down
      14
      ·
      edit-2
      11 months ago

      an alternative Java-based backend to Lemmy’s Rust-based one

      Going from a modern well-designed language to an old-and-busted, kitschy, memory-hogging, bloated language. This is literally a step backwards.

      Rust, Go… hell, even Ruby-on-Rails or whatever Python is offering nowadays would be a better choice.

      • Dandroid@dandroid.app
        link
        fedilink
        English
        arrow-up
        12
        arrow-down
        2
        ·
        11 months ago

        I’m a long time Java developer who was recently moved to a project written in Go. All I can say is: What. The. Fuck. I swear, the people who designed the syntax must have been trying to make every wrong decision possible on purpose as a joke. The only think I can think of is that they only made design decisions on the syntax while high on shrooms or something.

        Like, why in the actual fuck does the capitalization of a function change the scope??? Who thought that was a good idea? It’s not intuitive AT ALL. Just have a public/private keyword.

        • kaffiene@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          11 months ago

          I did a lot of Java prior to doing Go. I think they’re both good. I don’t like the Go privacy/scope thing and I genuinely hate it’s error handling but it’s pretty much 90% good pragmatic choices IMO. That said, I still think Java is a fantastic language and it makes a lot of sense for something like Lemmy

      • kassuro@feddit.de
        link
        fedilink
        English
        arrow-up
        11
        arrow-down
        1
        ·
        11 months ago

        Modern Java isn’t that bad, and with new developments like the graalvm and cloud native builds, or what they are called, the footprint of a modern Java app can be comparable to an golang app.

        Modern Java kinda has the same image problem as modern PHP. Not saying is all great, but it sure has seen quite the improvements in the last years

        • spiderman@ani.social
          link
          fedilink
          English
          arrow-up
          3
          ·
          11 months ago

          they are also working to make developers have less boiler plate. java might be an old language but the development has not stopped but only going better these days.

      • 31337@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        10
        arrow-down
        1
        ·
        11 months ago

        Nah, Java is alright. All the old complicated “enterprise” community and frameworks gave it a bad reputation. It was designed to be an easier, less bloated C++ (in terms of features/programming paradigms). It’s also executed fairly efficiently. Last time I checked, the same program written in C would typically take 2x the time to complete in Java; whereas it would take 200x the time to complete in Python. Here’s some recent benchmarks: https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/python3-java.html

        I haven’t had a chance to try Rust yet, but want to. Interestingly, Rust scores poorly on source-code complexity: https://benchmarksgame-team.pages.debian.net/benchmarksgame/how-programs-are-measured.html#source-code

      • beefcat@lemmy.world
        link
        fedilink
        English
        arrow-up
        12
        arrow-down
        3
        ·
        11 months ago

        Or C#, it’s literally “Java, but good”.

        The only time I would choose Java for a new project is if I had a hard dependency on something that only works with Java…

          • beefcat@lemmy.world
            link
            fedilink
            English
            arrow-up
            4
            arrow-down
            1
            ·
            edit-2
            11 months ago

            I understand that being a problem for Rust, but not for many of the other “better than Java” languages on this list. Like, I dunno…C#?

            If I’m being honest though, I just really hate Oracle, and that’s enough to give me pause over anything they dip their fingers in.

                • beefcat@lemmy.world
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  edit-2
                  11 months ago

                  C# is regularly under-represented in OSS, in part because for most of it’s existence, the primary implementation (.NET Framework) was not open source or cross platform. It is also very popular in fields where open source is not the norm (game development, bespoke backend infrastructure, embedded apps).

              • beefcat@lemmy.world
                link
                fedilink
                English
                arrow-up
                1
                arrow-down
                1
                ·
                edit-2
                11 months ago

                I said it was easy to find C# developers, not that there were more of them on Github.

                If the number of possible contributors on github is the big factor here then Python is the obvious choice at 18%.

            • Aatube@kbin.social
              link
              fedilink
              arrow-up
              1
              ·
              11 months ago

              You can switch to Kotlin Native, which depends on C libraries, or Kotlin JS, which depends on whatever libraries your JS runner has. No matter whatever Oracle has done, they produce a pretty good library, API spec and OpenJDK.