• CollectiveOfCells
    link
    fedilink
    arrow-up
    9
    arrow-down
    1
    ·
    1 year ago

    When I worked for Amazon, someone had created a command line tool to be used in builds, but repeatedly starting up JVMs is painfully slow. I rewrote the app in C++ and it could be invoked 81 times vs one invocation of Java version.

    If I need speed, I’ll use C++. If I need developer productivity, I’ll use Ruby.

    • snoweA
      link
      fedilink
      arrow-up
      6
      ·
      1 year ago

      Why in the world would you rewrite it when you could take an hour and get it compiling with graalvm and it would be just as fast as c++?

      • Xgamer4
        link
        fedilink
        arrow-up
        8
        ·
        1 year ago

        Tbf he’s also suggesting that Ruby is the most dev friendly language he could use, so I’m already a bit skeptical lol

        • snoweA
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          I mean, I agree with them on that. It’s very dev friendly. You definitely shouldn’t be building large scale apps in it, but it’s more readable than almost every single language out there. But rewriting a whole app in a new language instead of just using the tools available to get the best of both worlds is just a bad idea.

      • JackbyDevM
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        I’ve never tried Graal. Is it easy to use? Like, is it a dropin replacement for javac or what?

        • snoweA
          link
          fedilink
          arrow-up
          2
          ·
          1 year ago

          It’s pretty easy to use. If you are using a lot of reflection you might have trouble, but if you’re using a standard large framework like spring, quarkus, or micronaut you’ll be fine. Quarkus makes it dead simple honestly. We deploy all of our Kotlin lambdas on AWS using Graal. It’s faster than node and much easier to write safe code.

      • sizeoftheuniverse
        link
        fedilink
        arrow-up
        2
        arrow-down
        2
        ·
        1 year ago

        And this is how people build the largest (in terms of the actual size of the binary on the disk) command line utilities in history.

        • snoweA
          link
          fedilink
          arrow-up
          2
          ·
          1 year ago

          I don’t know why you would think that. GraalVM can compile tiny tiny packages, and you can easily remove features from the JVM if you don’t need them. It’s a terrible myth that JVM means massive binaries.

    • philm
      link
      fedilink
      arrow-up
      3
      arrow-down
      1
      ·
      1 year ago

      …If you need both, you use Rust