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.

  • P03 Locke
    link
    fedilink
    English
    13
    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.

    • @kassuro@feddit.de
      link
      fedilink
      English
      1011 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
        311 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.

    • Dandroid
      link
      fedilink
      English
      1011 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
        211 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

    • @31337@sh.itjust.works
      link
      fedilink
      English
      911 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
      911 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
          3
          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.

            • P03 Locke
              link
              fedilink
              English
              311 months ago

              I think C# is probably more popular than it advertises here, but not on GitHub.

              • @beefcat@lemmy.world
                link
                fedilink
                English
                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
              0
              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
        link
        fedilink
        111 months ago

        Or Kotlin, which is much more “Java but good” as it even runs on the JVM

          • Aatube
            link
            fedilink
            111 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.