Most active commenters
  • mvdwoord(4)
  • datpuz(3)

←back to thread

234 points _false | 15 comments | | HN request time: 0.463s | source | bottom

COBOL legacy systems in finance and government are somewhat of a meme. However, I've never actually met a single person who's day job is to maintain one. I'd be curious to learn what systems are you working on?
Show context
mvdwoord ◴[] No.44605163[source]
Not a COBOL developer, but working at a sizeable bank I witnessed the phasing out of their mainframes and AS400 systems. They ran some critical systems, both in retail and wholesale banking. They either converted to java, and optimized that code, but some COBOL code from the mainframe, and all of the AS400 stuff was converted into Micro Focus COBOL, which runs on Windows, which could be hosted on our Private Cloud. I worked on helping them migrate to our cloud infra, which was an interesting exercise. There was a very tangible cultural gap between the people maintaining and developing these applications and the rest of the organization.
replies(1): >>44605197 #
1. datpuz ◴[] No.44605197[source]
Can you describe the cultural gap? I haven't really met these folks in the wild, so I'm curious what the programmers of yore were like.
replies(4): >>44605308 #>>44605640 #>>44605650 #>>44613965 #
2. FL410 ◴[] No.44605640[source]
In my experience, it's usually lack of awareness about modern security risks, and lack of familiarity with modern infrastructure paradigms. The latter really isn't a problem since these systems are usually standalone, but the former does become a problem - they often are from a time where this just wasn't something to consider. As a result, these legacy systems are often using default passwords, have tons of crazy stuff exposed to the network, and are comprised of custom code written specifically for the business purpose (so the documentation is only as good as what they made).

On the other hand, these guys generally write pretty neat, lean code that is quick, reliable, and directly responsive to the business. The really fun thing is watching the users fly through the keyboard-only screens, sometimes with muscle memory that is faster than the terminal emulator can update - they're literally working ahead of the screens.

replies(4): >>44605695 #>>44605842 #>>44606216 #>>44607120 #
3. mvdwoord ◴[] No.44605650[source]
I would say these people were in a relationship with the mainframe, if that makes sense. And also having worked at IBM in the past where I sat adjacent to the mainframe support team for Business Services, I totally get it. Mainframes are awesome if you ask me, and in a sense we have been trying to reinvent a lot of its goodness with "commodity" x86 hardware.

From a technical-cultural perspective it was mostly sulkiness, and a complete and utter lack of embracing the paradigms of distributed computing. Also, like most internal clouds, there were plenty of issues as it was. Initially they just tried to replace mainframe application components 1:1 onto VMs in whatever way and whenever anything was <100% reliable they complained that our cloud was not able to do it. I had to explain in a very harsh way, under a lot of pressure (I believe not hitting the deadline of switching off the mainframes meant renewal for a year at 40 Mil.. or thereabouts) the realities of "cloud".

The developers I spoke with in that time though, were very much the opposite of the move fast breaking things crowd. Intelligent, but also narrow minded I would say.

4. mvdwoord ◴[] No.44605695[source]
Oh yes, I remember that when we swapped out a bunch of terminals at an airline.. The users complained it was all way too slow on the new Windows machines with MS SNA server in between... I was wondering what it was all about, as a young and very naive dropout from uni on his first IT job. When I came down, this dude was banging on his keyboard and after some time stopped, pointed at the screen and you could see it slowly catching up, screen by screen.. He showed me the directly connected version next. I learned something that day.
replies(1): >>44606144 #
5. justin66 ◴[] No.44605842[source]
In my experience mainframes at financial institutions are hidden behind IBM middleboxes that are specifically designed to obviate the infrastructure risks. It's a classic example of a company selling you both the problem and solution.
replies(1): >>44608230 #
6. datpuz ◴[] No.44606144{3}[source]
That's awesome. I set up Arch Linux a while ago, and despite working in Linux shops for more than a decade, let's just say I was very out of my element...
7. james_marks ◴[] No.44606216[source]
Reminds of the DOS order management software I used in the 90’s.

ASCII tables, text only, with F key shortcuts. Hard to learn but blazing fast once you did.

Nothing modern approaches it.

replies(2): >>44607643 #>>44609650 #
8. noisy_boy ◴[] No.44607120[source]
Reminds of me of a TUI Banking software that ran on Sun Solaris. It could keep up as fast as you can navigate - few months in and you could fly through the screens. Then it was "upgraded" to a web-based version and all of us were up in arms, it was like being downgraded to a tractor after experiencing a racecar.
9. deepsun ◴[] No.44607643{3}[source]
Reminds me of modern IDEs -- developers, both old and new, are too lazy to learn a complex IDE to speed up their work, even though it's their main tool for making money.
replies(1): >>44609474 #
10. ASalazarMX ◴[] No.44608230{3}[source]
That's just an example of incremental improvement. Mainframes and midranges adapt with the times without losing what works. Modern midranges, for example, can run C, Python, bash, and web servers.
11. datpuz ◴[] No.44609474{4}[source]
I don't think efficiency of navigating your IDE is a major factor in your productivity. If you like your setup, it's probably not going to matter a whole lot. The tool you make money with is your brain.
replies(2): >>44610365 #>>44610427 #
12. mvdwoord ◴[] No.44609650{3}[source]
As a support engineer at IBM we used a mainframe system called NRCPMA iirc... I think NR stood for Northern Region. Accessed via a terminal emulator, fully customizable with macros, fastest tool I ever worked with indeed, once you climbed the initial learning curve.
13. deepsun ◴[] No.44610365{5}[source]
Hard disagree.

Few points I can easily remember:

1. Navigating the code, e.g easily see all the callers, navigate up/down the call tree requires static code analysis. Super handy while reading someone's else code, which is like 90% on large projects.

2. Quick refactorings. Often times I see people discuss in lengths what would/could be instead of just go and try it out quickly, seeing all the pros and cons. Many times I proven myself wrong by trying it out and seeing pitfalls I didn't see earlier.

3. Warnings: so many real bugs could've been prevented if developers had seen (or cared about) to IDE showing a warning. Many PR review suggestions are detectable by a proper IDE without wasting reviewer's time.

4. Hotkeys (what the parent comment was talking about) -- speeds up all of that, especially refactorings, freeing dev's brain for thinking of architecture and other problems.

I can go on an on. Sometimes it feels like 50%+ of AI usage for coding is to free up fingers, not knowing that they were already mostly free by using static analysis features/hotkeys.

14. geoka9 ◴[] No.44610427{5}[source]
It pays to help one's brain stay in the flow, though, and fast and reliable muscle-memory-based navigation of one's IDE does exactly that.
15. isbvhodnvemrwvn ◴[] No.44613965[source]
When I worked for a retailer whose logistics ran on IBM mainframes, one of the milestones was getting COBOL devs to use version control.