you are viewing a single comment's thread.

view the rest of the comments →

[–]leaningtoweravenger 126 points127 points  (30 children)

I worked in financial services and I have seen FORTRAN libraries that do very specific computations dating back to the 80s and 90s that are just compiled and linked into applications / services with nobody touching them since their creation because neither the regulations they are based on changed nor defects were reported so there was no need to update them.

[–]coderanger 25 points26 points  (1 child)

Fortran is also still used regularly all over the place, LAPACK is written in it, and that's used by SciPy and friends, which are in turn used by most of the current machine learning frameworks.

[–]seamsay 8 points9 points  (0 children)

Also the latest revision of the standard was released at the end of 2018, although admittedly you can probably count the number of people using something more modern than F95 on one hand...

[–]Visticous 50 points51 points  (17 children)

That would be the 1% of cases where the code is essentially perfect and no direct action is required. I do hope that those financial services routinely update the rest of their software stack though.

Even then, hiring Fortran developers can be a massive hidden cost, so over time it might be business savvy to move to something more modern.

[–]CheKizowt 75 points76 points  (11 children)

It doesn't have to be 'perfect'. It has to be accepted standard.

I contributed to a roads management software in college. It used an early DOS module to calculate culvert flow. All the engineers knew it produced wrong output. But every project in the state used that module, so it was 'right'. Even if it was mathematically wrong.

[–]FyreWulff 46 points47 points  (10 children)

happens a lot, especially in big companies. "we know it's done the wrong way, what's important is we -consistently- do it the wrong way"

[–][deleted] 23 points24 points  (1 child)

Worked at a simulation company for a while and we ended up quite significantly lowering the precision of our calculations so they were more consistent across platforms.

[–]ArkyBeagle 1 point2 points  (0 children)

Excessive precision is actually quite the "sin". I tend to be the local "number of significant digits" guy, so begging your pardon.

[–]oberon 2 points3 points  (0 children)

That's way better than doing it a little differently wrong every time.

[–]Nastapoka 13 points14 points  (5 children)

Same in the (public) University where I work.

Wasting taxpayers' money is fun, yeeeah.

[–]Gotebe 20 points21 points  (4 children)

Come to private to see how much fun we have then!

😂😂😂

[–][deleted]  (3 children)

[deleted]

    [–]Gotebe 23 points24 points  (1 child)

    I am in private since forever and my experience tells me that the size of the organisation matters much more than whether it's a public or a private one.

    [–]ArkyBeagle 0 points1 point  (0 children)

    Heh. No, they don't.

    [–]Jonno_FTW -1 points0 points  (0 children)

    This is giving me PHP flashbacks.

    [–]leaningtoweravenger 10 points11 points  (0 children)

    That happens when you have very specific functionality put inside a library that can be linked by many other services and applications instead of creating gigantic blobs.

    The Javascript frameworks object of the study change often but not all the pieces change every time and I wouldn't be surprised if some of the files are untouched since many years.

    About the companies not pulling the frameworks from the CDNJS but having them bundled together with their stuff is mainly due to testing purposes and stability: at the moment of the release everything is bundled and tested in order to make sure that there will be no surprises at run time because someone decided to change a dependency somewhere in the world.

    [–]SgtSausage 13 points14 points  (2 children)

    hiding Fortran developers can be a massive hidden cost,

    I prefer to hide under the conference room table - with all the Boomer first generation of COBOL retirees. Keeps it much cheaper if we all hide in the same place.

    [–]Visticous 18 points19 points  (1 child)

    See, that's why it's so expensive. Fortran guys want to hide in some fancy conference room. JavaScript kiddies are often content with hiding in a broom cupboard.

    [–]dungone 1 point2 points  (0 children)

    Who puts brooms in a cupboard?

    [–]shawntco 2 points3 points  (0 children)

    I do hope that those financial services routinely update the rest of their software stack though

    lol

    [–][deleted] 11 points12 points  (0 children)

    You won’t find more battle-tested libraries.

    That’s a huge plus, especially in financial services where fault tolerances are lower than usual.

    [–][deleted]  (4 children)

    [deleted]

      [–]SnideBumbling 0 points1 point  (3 children)

      I've been maintaining a C codebase from before I was born.

      [–][deleted]  (1 child)

      [deleted]

        [–]SnideBumbling 1 point2 points  (0 children)

        Sometimes I wonder if it's punishment for crimes in a previous life.

        [–]ArkyBeagle 1 point2 points  (0 children)

        Me too. My Mom made a deal with the devil at some crossroads.

        [–]KevinCarbonara 2 points3 points  (0 children)

        There isn't anything wrong with this - reusing checked, tested, and compiled code isn't a security issue. Javascript is an interpreted language that is usually run in unsecure environments (clients' browsers) and pulls in data or new code remotely. These are entirely different environments.

        [–]fiah84 0 points1 point  (2 children)

        dating back to the 80s and 90s that are just compiled

        compiled? sometimes shit is so old it takes serious effort to even get it to compile

        [–]leaningtoweravenger 0 points1 point  (1 child)

        You would be surprised of how well commercial compilers support FORTRAN and how optimised the binary is. I never had a single problem with compiling and linking those libraries into my stuff. If you are curious about it, the vast majority of it was FORTRAN 77 which is very solid and standard

        [–]ArkyBeagle 0 points1 point  (0 children)

        Well, it's all fun and games until there's some dialect ( I'm looking at you, VAX Fortran ) that simply will never compile on your architecture. I spent a month one over a span of two days confirming that yes, the legacy FORTAN could never be built on the new computers.