I swear to god, companies are nowadays just picking the solution with the most buzzwords. Any compiler engineering student knows how to write a transpiler from one language to another, while getting this right is a cumbersome task, it still completly automated afterwards. Just hire a few compiler engineering phds and the job is done in at least half a year.
You want to translate COBOL to another language? That exists as a commercial product! The complexity is not the syntax though, it is the environment and subsystems surrounding the code. A lot of COBOL is designed for mainframe systems, and emulating a mainframe is complex.
You also end up with code that is still written as if it were COBOL. The syntax for COBOL is the easy part and that is all you can easily replace. Afterwards you’re still stuck with the way of working and mindset, both of which are quite peculiar.
The company I work for recently looked at all of this, and we decided not to translate our code.
Just make the devs learn the language if they don’t know it already. What kind of shitty mid to senior dev can’t learn a new language in a reasonable amount of time.
I think it’s a matter of expertise. I am stuck dealing with people who write Javascript/Typescript like it’s C# because they’re C# senior devs. It’s not world-ending until issues of speed, scale, or other “why we use best practices” raise their ugly heads. Then it is world-ending. I can only help with so many design standards when you still see everything show up in a classes-and-subclasses mindset with hard-to-catch concurrency bugs. I actually caught a developer trying to spin up a child process to wait on a socket response.
So in FinTech, I can imagine it becomes a bigger deal faster.
Kinda acceptable if you have a slow release cadence. Everything needs to be reviewed and fixed/accepted (with defect/US raised) before production though.
Needs to be in a smaller team with decent Devs too though!
It’s insane to me that gitflow won over TBD and Continuous Integration to the point that this is now considered an extreme position. Not all projects are open source with many remote collaborators.
That’s one thing that really bugs me about Javascript (weirdly enough I’m okay with eg prototypal inheritance and how this works, or at least worked before the bolted on classes that were added because apparently I’m like one of the dozen or so people who had no problems with those concepts). The fact that all numbers are floats can lead to a lot of fun and exciting bugs that people might not even realize are there until they suddenly get a weird decimal where they expected an integer
Mostly the missing listing of clobbered registers. Other than that it’s mostly just that you’re doing useless things, like manually putting the stuff into the registers instead of letting the compiler do it, and the useless push and pop. And the loop is obviously not needed and would hurt performance if you do every write like that.
Often enough, the old code is so badly intertwined that it’s impossible to actually test. Those are the moments where all you can do is nuke it from orbit.
The weirder thing is I was replacing a users desktop the other day and updating default apps. Edge did its usual “pleas love me” bit but then so did Windows Mail as I was changing it to Outlook 365 of all things…
programmer_humor
Top
This magazine is from a federated server and may be incomplete. Browse more on the original instance.