These days, most companies seem increasingly resigned/accepting of the fact that they're not going to find young, dynamic COBOL programmers in the wild. On top of that, old-school COBOL has a knack for creating idiosyncratic software architectures. Learning how some particular monstrosity was taped together is more important than the language itself, which is brain-dead simple. And there are few such COBOL codebases out there in the wild to read.
The result is a move towards hiring and training good programmers in-house, quite counter to the general trend in the industry. Which makes for good job security but also makes it hard to enter directly.
If I could go back 30 years, I’d have made more money, slept better and would have more hair on Z. Not that I can say for a new generation but now that everyone is a “full stack” developer and the stack changes every few years, I’d still prefer longer term niches if I was 22 again.
Compared to webdev? I'm very skeptical. The following scenario seems more likely:
For graduates of my (very small) high school, Classics was the number one choice of college major and though I'm not in close touch with all of them I never heard any of them claim that they had made a mistake.
Cobol is sort of like Lisp* in that regard: the options are quite limited, but as the supply is too you'll probably do better than fine financially.
* wow is it painful to write that.
Which is why I used the vatican comparison.
It is also relatively rare for new languages cite Cobol as an inspiration for any of their features.
Cobol has a feature whereby dissimilar structures can be assigned. The structure members which have the same names are identified between the structures and the data is moved accordingly. Or something like that. A programming language which has such a thing could claim to have had that inspired by Cobol.
If I ever add that to TXR Lisp, I will be sure to drop a Cobol reference into the documentation.
I might have learned about this via Knuth; I think there is a mention of it in some passage in TAOCP.
Indeed, see Volume 1, section 2.4 (Multilinked Structures). Page 426 has the example of the statement “MOVE CORRESPONDING DATE OF SALES TO DATE OF PURCHASES”, which, if I understand correctly, means something like “for each field foo in Purchases.Date, copy Purchases.Date.foo into Sales.Date.foo”.
The discussion is in the context of what kinds of data structures would be needed to compile such statements, which I guess makes sense considering that the original publisher offer for TAOCP was to write about everything a programmer would need to know to write a (60s-era) compiler.
(Coincidentally: I've started attending an online meetup that someone is running for reading TAOCP—we usually read about four pages in the two hours—and this is the very topic that we're going to read tomorrow.)
This horrifies me on several levels, though I suppose it could be considered a sort "cast to a superclass".
Are Latin and Ancient Greek dead? Ostensibly yes. But not useless. Besides teaching, there is a tremendous amount of books and texts written in Latin and Ancient Greek. To study them, one would invariably need to learn the language.
Texts from the ancient world are handed down to us not from on high, or a single authoritative source (please consider the problem of duplication prior to computers or mimeographs), so considerable effort and erudition is entailed in comparing sources, filling in lacunae (here's a true warrant for what most consider a sesquipedelian word), all of which is predicated on perusing (in vain) an intuition for "pure et clare latine" and a hard-nosed insistence on _attested sources_ on matters of usage and expression.
I treasure, uncountably, the continuity afforded by training new generations in "antique" languages and dialects. It addresses a much deeper and more valuable problem than shitting out the next side-hustling platform.
I’m not savvy on the costs, but I think the main benefit of ditching the mainframe is you can start using the IT tools, expertise, workflows, languages, frameworks, best practices etc. that 99% of the world is using.
With the mainframe, you’re in sort of a shielded of nook of the software world, where everything is fast and stable but also juuust a little different.
Datacenter-scale compute on non-proprietary platforms (e.g. leveraging OCP standards and best practices, which have been developed w/ significant input from FAANG and 'cloud' vendors) can easily tackle any mainframe workload. The implied path is obvious.
That being said, it takes a massive commitment and pretty much a rewrite from scratch to achieve a jump from mainframe to modern DC. You need to embrace individual node failure and that's not something you can just hack in.
AWS, Azure and GCP are all proprietary, and all are producing larger and larger servers and VMs. They are basically rentable, virtualised mainframes at this point
Most of us didn't consider writing cross-platform software back then and the few who did were writing software for Unix, not Windows, and that because there wasn't a single dominant OS (Unix was a fuzzy target) and binary architecture you could write for, so you had to think about portability.
Oddly enough, there was a lot of cross-platform work on games in the 80's because the home computer market was very fragmented.
> And, since we're keeping score, zero content snark is bottom of the heap.
That's just hurtful, man.
Key theme is slimming down the mainframe to bare basics, then take out either batch, or DB2, and then see to pull the trigger on the rest, 6y horizon...
I've been hearing "mainframes are dead" since the 1980s. The market for them has dramatically changed, but by the same token there's just more people in IT who have no clue what the mainframes do from a business perspective, so "obviously" it's a dead end.