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

    For over a decade?

    In the last decade java finally is starting to catch up! The latest java releases have finally given us the ability to pass through a function, and work more functional.

    And you can choose any GC you want, even less “stop the world” ones, but who got the time to figure out which GC they actually want… The memory allocation from C is what haunts my dreams more than the GC from java.

    Still, I really want to give Rust a look, if only I gave myself enough time.

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

      The latest java releases have finally given us the ability to pass through a function, and work more functional.

      Which AFAIK is still a class under the hood. That doesn’t particularly matter for developers, but it’s still odd.

      But honestly, if I’m going to use anything on the JVM, I’ll just use Kotlin. Java is kind of catching up, but Kotlin is just so much cleaner IMO. But if I’m not stuck w/ the JVM, I’ll use one of the others I mentioned.

      The memory allocation from C

      Eh, it’s honestly not so bad, provided you’re using it for the type of work where C is suited. For most embedded work, I just pass on the stack (esp. w/ the new variable length arrays on the stack, which C++ doesn’t have), so no need to malloc() or free() most of the time. If I’m building a larger program, I’ll probably not use C, because it just doesn’t have the features I want for larger-scale development work, and I definitely won’t use C++ because that’s a nightmare of conflicting legacy features.

      Rust is my go-to if I know it’ll be large-ish and I don’t have any particular restraints on where it’s going to run (i.e. not on a microcontroller or something). The compiler catches a lot of my bugs, the result is fast, and now that I’m comfortable with it, I’m pretty productive with it. It does have a bit of a learning curve, but it’s way better than when I started with it (around the 1.0 launch).