• ThePowerOfGeek@lemmy.world
    link
    fedilink
    English
    arrow-up
    8
    ·
    edit-2
    9 months ago

    Ah yes, a classic tale…

    “We’re going to take this perfectly efficient and functional COBOL code base and rewrite it in Java! And we’ll do it in a few months!”

    So many more competent people and organizations than them have already tried this and spectacularly crashed and burned. There are literal case studies on these types of failed endeavors.

    I bet they’ll do it in Waterfall too.

    It’s interesting. If they use Grok, this could well be the deathknell for vibe programming (at least for now). It’s just fucking tragic that their hubris will cause grief and pain to so many Americans - and cost the lives of more than a few.

    Edit: Fixed some typos.

    • BrianTheeBiscuiteer@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      9 months 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.

      • digipheonix@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        1
        ·
        9 months 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.

        • Glitchvid@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          9 months 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.

      • deranger@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        0
        ·
        9 months 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.

        • flamingo_pinyata@sopuli.xyz
          link
          fedilink
          English
          arrow-up
          2
          ·
          9 months ago

          I am a programmer but I’m not sure why people think Java is suited for anything, especially a system so sensitive to bugs. It’s so hard to write high quality readable code in Java. Everything is way more clunky, and verbose than it needs to be.

          Some major improvements were made with versions 17+ but still, it feels like walking through mud.

          It’s a language from the 1990s for the 1990s.

          Btw the performance is actually pretty good in Java, the old reputation for slowness is entirely undeserved today.

        • Feyd@programming.dev
          link
          fedilink
          English
          arrow-up
          1
          ·
          9 months 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.

          • deranger@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            0
            ·
            9 months 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?

            • BrianTheeBiscuiteer@lemmy.world
              link
              fedilink
              English
              arrow-up
              1
              ·
              9 months ago

              They want to make buttloads of money from a rewrite, and it would cost buttloads to do this. They probably also want things to run like shit and cause misery for retired Americans.

            • jacksilver@lemmy.world
              link
              fedilink
              English
              arrow-up
              1
              ·
              9 months ago

              Refactoring a code base is kinda like general maintenance for the application. Over time deprecated features, temp fixes, etc. start to be a lot of the code base. By cleaning things up you can make it more maintainable, efficient, etc.

              That being said, for systems this large you usually fix up parts of it and iterate over time. Trying to do the whole code base is hard cause it’s like replacing the engine while the car is in motion.

            • Feyd@programming.dev
              link
              fedilink
              English
              arrow-up
              0
              ·
              9 months ago

              I wouldn’t necessarily agree it needs to be rewritten. Hiring programmers that are willing to work in cobol would certainly be harder than other languages though, because you’ll have a much smaller candidate pool and people would be unlikely to see learning cobol as a good career investment

              • barsoap@lemm.ee
                link
                fedilink
                English
                arrow-up
                1
                ·
                edit-2
                9 months ago

                COBOL is the career advise you hear people give for people who want to make money but don’t want to deal with the VC clownshow. COBOL btw is only 13 years older than C and both language’s current standard dates to 2023.

                It’s at its core a bog-standard procedural language, with some special builtins making it particularly suited to do mainframe stuff. Learning COBOL is no worse a career investment than learning ABAP, or any other language of the bureaucracy. Sure you’ll be a career bureaucrat but that’s up sufficiently many people’s alley, no “move fast and break things”, it’s “move slowly and keep things running”.

    • criss_cross@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      9 months ago

      I’ve worked on these “cost saving” government rewrites before. The problem is getting decades of domain logic and behavior down to where people can be productive. It takes a lot of care and nuance to do this well.

      Since these nazi pea brains can’t even secure a db properly I have my doubts they’ll do this successfully.

      • britaliope@kourjetez.bzh
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        9 months ago

        well the new ruleset they will implement is quite simple:

        IF user wants money AND user is rich THEN accept request ELSE fuck off

        the tricky part is to say fuck off in a subtle enough way their maga shills think it’s perfectly normal in order to save the nation blah blah blah

      • gedhrel@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        9 months ago

        Not just domain logic. The implementation logic is often weird too. Cobol systems have crash/restart behaviour and other obscure semantics that often end up being used in anger; it’s like using exceptions for control flow, but exceedingly obscure and unfortunately (from what I’ve seen of production cobol) a “common trick” in lots of real-world deployments.

    • DJKJuicy@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      1
      ·
      9 months ago

      I bet they’ll do it in Waterfall too.

      Nah B. This will be Extreme Agile XP with testing exclusively in Prod. Xitter will be the code repository.

      • ThePowerOfGeek@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        9 months ago

        Pair programming with Grok.

        Spotty DOGE intern developer: “what’s a for loop?”

        Grok: “Look it up yourself, noob! Holy shit do I hate Elon Musk in every fucking way!”

    • Boomer Humor Doomergod@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      9 months ago

      Functional, yes. But rarely are these sorts of things efficient. They’re covered in decades of cruft and workarounds.

      Which just makes them that much harder to port to a different language. Especially by some 19 year old who goes by “Big Balls”

      • Telorand@reddthat.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        9 months ago

        My company actually wrote their flagship software in COBOL starting in the 80s, and we’re only now six years into rewriting everything in a more modern language with probably four years to go.

        I can’t imagine trying to start such a project like rewriting all of Social Security and thinking it will take months. You have to be a special kind of fatuous to unironically think that.

        • Boomer Humor Doomergod@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          9 months ago

          I was briefly employed at a firm that maintained the sales commission software for a large telecom firm.

          It was 1.5 million lines of VB6, though VB8 was already three years old. Nobody knew all of it, so they couldn’t possibly rewrite it to handle all the edge cases and special incentives we kept having to add.

          Except maybe the lone QA person, who would frequently begin sobbing at her desk. And we could all hear it because it was an open plan office and we weren’t allowed to wear headphones.

          That job was so bad I quit and began freelancing.

        • billthemaxster@lemm.ee
          link
          fedilink
          English
          arrow-up
          2
          ·
          9 months ago

          Similarly, my company are 4 years into a rewrite of a cobol mainframe system much simpler than Social Security. Which was going to “take a year” there’s at least 5 years left.

          I know the UK benefits system took well over 12 years to build with an programming workforce of over 2000 and I imagine it’s simpler having to support a population one fifth the size of the US.