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.
This horrifies me on several levels, though I suppose it could be considered a sort "cast to a superclass".
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.)
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.