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

    Jokes aside, nothing wrong with rewriting in Java. It is well-suited for this kind of thing.

    Rewriting it in anything without fully understanding the original code (the fact they think 150yo are collecting benefits tells me they don’t) is the biggest mistake here. I own codebases much smaller than the SSA code and there are still things I don’t fully understand about it AND I’ve caused outages because of it.

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

      Non programmer but skilled with computers type guy here: what makes Java well suited for this?

      This is probably an incorrect prejudice of mine, but I always thought those old languages are simpler and thus faster. Didn’t people used to rip on Java for being inefficient and too abstracted?

      Last language I had any experience with was C++ in high school programming class in the early 2000s, so I’m very ignorant of anything modern.

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

        Java can be pretty damn efficient for long running processes because it optimizes at runtime. It also can use new hardware features (like cpu instructions) without having to compile for specific platforms so in practice it gets a boost there. Honestly, the worst thing about Java is the weird corporate ecosystem that produces factoryfactory and other overengineered esoteric weirdness. It can also do FFI with anything that can bind via c ABI so if some part of the program needed some hand optimized code like something from BLAS it could be done that way.

        All that to say it doesn’t matter what language they use anyway, because rewriting from scratch with a short timeline is an insane thing to do that never works.

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

          Why is there a need to rewrite it at all? Is it because COBOL is basically ancient hieroglyphics to modern programmers thus making it hard to maintain or update?

      • nfh
        link
        fedilink
        English
        121 days ago

        The way Java is practically written, most of the overhead (read: inefficient slowdown) happens on load time, rather than in the middle of execution. The amount of speedup in hardware since the early 2000s has also definitely made programmers less worried about smaller inefficiencies.

        Languages like Python or JavaScript have a lot more overhead while they’re running, and are less well-suited to running a server that needs to respond quickly, but certainly can do the job well enough, if a bit worse compared to something like Java/C++/Rust. I suspect this is basically what they meant by Java being well-suited.

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

      No. Java is not suited for this. This code runs on mainframes not some x86 shitbox cluster of dell blades. They literally could not purchase the hardware needed to switch to java in the timeline given. I get what you’re trying to say but in this case Java is a hard no.

      • @[email protected]
        link
        fedilink
        English
        0
        edit-2
        21 days ago

        Uh, Java is specifically supported by IBM in the Power and Z ISA, and they have both their own distribution, and guides for writing Java programs for mainframes in particular.

        This shouldn’t be a surprise, because after Cobol, Java is the most enterprise language that has ever enterprised.