6 ms·
You know, one of these days I really need to sit down and play with some of these "legacy" languages, like Fortran or COBOL or Ada or APL; languages that have c
by tombert 2y ago
You know, one of these days I really need to sit down and play with some of these "legacy" languages, like Fortran or COBOL or Ada or APL; languages that have certainly fallen out of popularity but are still used in some critical places.
It does make me wonder about millions and millions of lines of Java out there; Java has more or less eaten the enterprise space (for better or worse), but is there any reason to think that in 30-40 years the only people writing Java will be retirees maintaining old banking systems?
- fastneutron 2y agoFortran is alive and well in science and engineering. The more modern standards are much nicer to work with, but largely backwards compatible with stuff written 50 years ago.
- adastra22 2y agoFortran is not a legacy language.
- Suppafly 2y ago>but is there any reason to think that in 30-40 years the only people writing Java will be retirees maintaining old banking systems? It feels like we're getting into that space already.
- Muromec 2y agoNah not really. People just started replacing COBOL with java and employers are wise enough to hire people who are 30-40 years minimum from retirement. It can also be upgraded in smaller chunks and finding enough developers for the tool is an important metric corporate is looking at. If anything, banks are actively optimizing for developer experience to make sure 60% of new hires don’t run away in the first year. If anything, banks are better at navigating those kind of structural risks, they were just slow on undertaking such risks exist. If you have an episode of existential anxiety because of dat AI eating mijn job, getting a union job in a bank is a way to hedge this particular risk.
- gwd 2y ago> ...employers are wise enough to hire people who are 30-40 years minimum from retirement. Um oh yeah, the reason we're hiring 20-year-olds is because we want to ensure we have lifelong support for the new system we're writing. Not because they're cheaper, they're still idealistic and naive, they'll work long hours for foosball tables and stacks, or anything like that...
- Muromec 2y agoIn a place where you can imagine having COBOL, working long hours is frown upon and being idealistic beyond personal integrity isn't a good quality either. Not saying such places aren't cheap, as of course they are. Being cheap is their exact point.
- User23 2y ago> employers are wise enough to hire people who are 30-40 years minimum from retirement. Well I hope they’re wise enough to not let any good employment attorneys catch wind because that’s blatantly illegal.
- Muromec 2y agoIt's not a requirement, but the outcome of hiring results demographics wise is very visible.
- consteval 2y agoThe problem with such laws is it's trivial to avoid. Do they look old? I mean, you can't presume someone is thinking about age when they choose not to hire someone, but they definitely could be. Discrimination is an almost "thought crime", meaning you can commit it entirely in your head. But the outcome is real. So it's very tough to spot, particularly when said discrimination also aligns with the most common societal biases.
- rightbyte 2y ago> employers are wise enough to hire people who are 30-40 years minimum from retirement. Uhm... loyalty is punnished and workers need to change jobs to keep 'market rate' wages. So dunno about that. I think it is more about that newcomers to the job market are easier to abuse.
- strken 2y agoI think Android makes a difference here. Sure, a lot of people are on Kotlin, but a lot aren't.
- Muromec 2y agoCobol is still there not because of cobol itself, but because of vendor and platform lock-in. And I guess having monolithic codebase/platform. it’s not even esoteric and difficult, just a lot of it without much structure visible to you.
- danielmarkbruce 2y agoThis is what people miss about COBOL. It's not like people are compiling COBOL and running it on Linux on an x86 box. They are running it on legacy operating systems (and hardware) which provide a different set of underlying services. It's a whole different planet.
- Muromec 2y agoA different kind of cloud you can say.
- danielmarkbruce 2y agoha yes. There is actually a pretty cool product that is made by a division of Rocket Software named "AMC", it takes a COBOL app running on an IBM system and deploys it to a whole set of services on AWS. There are some smart dudes at that shop.
- Muromec 2y agoDoesn't surprise me at all, somebody out there should be smart enough to make good money on that and not be very loud about it either.
- crackez 2y agoNegativo friendo. The mainframe is turning into a middleware layer running on Enterprise Linux. We've containerized the mainframe at this point, and I mean that directly - eg. Running jcl, multiple CICS regions, all in COBOL that originated on z/OS is now running in k8s on amd64.
- Mc91 2y agoI program an Android app for a Fortune 100 company. Last commit where someone edited a Java file was last week. Most of the new code from the past few years has been in Kotlin though.
- 9659 2y agoAda is an order of magnitude more modern and sophisticated than your other examples. I expect Ada will capture 0.05% of the market for the next 100 years.
- tombert 2y agoFair, I guess the list was “languages that I know were popular at one point but I don’t know anyone really using now”. Ada definitely does seem pretty cool from the little bit I have read about it. I’m not sure why it’s fallen by the wayside in favor of C and its derivatives.
- aidenn0 2y agoAda was mandated by the DoD for a bit. My understanding is that, in practice, this involved making a half-hearted effort in Ada, failing and then applying for a variance to not use Ada.
- actionfromafar 2y agoOften, I'm sure, but there are large code bases in Ada still. It's a shame, it looks like a really great language I would love. But it's a chicken and egg problem. If only Mozilla had decided on Ada instead of Rust! :-)
- cyberax 2y agoAda doesn't offer any safety for dynamic memory. In fact, Ada is now adopting Rust's approach with the borrow checker.
- actionfromafar 2y agoGreat! Time to jump on the Ada bandwagon then! ;)
- hardburn 2y agoI actually met a programmer who worked on military jets. According to her, Ada is only used anymore for the older jets that were already programmed in it, and she worked in C++.
- RickJWagner 2y agoIBM offers a free COBOL plugin for VSCode and a nice tutorial with it. I started programming in COBOL (circa 1990) and took the tutorial just for fun earlier this year.
- bear8642 2y agoTryapl.org exists if want to play with APL - John Scholes' Game of Life and other excellent videos (https://www.youtube.com/watch?v=a9xAKttWgP4 https://www.youtube.com/watch?v=a9xAKttWgP4) might spark your interest Other newer array languages exist too - https://aplwiki.com/wiki/Running_APL https://aplwiki.com/wiki/Running_APL if want to explore the current space.
- karlgkk 2y ago> in 30-40 years the only people writing Java will be retirees maintaining old banking systems? I kinda suspect that if Java is still around in 30 years, what we call Java will be - at best - vaguely recognizable.
- eslaught 2y agoI wrote a small program in Algol 68 once. It was horrible because it didn't even have heap allocation in the language, so things you'd think of doing in C (e.g., tree data structures) just didn't work. That and all the compiler errors were pure numerical codes which you had to go look up in the manual (not provided). And forget about getting line numbers. I am very much glad I wasn't alive at the time this was the state of the art.
- bigger_cheese 2y agoI ported some Algol code into C years ago, despite being completely unfamiliar with Algol I found code very easy to understand. Found the paper with original code here, it's for a Reinsch spline: https://tlakoba.w3.uvm.edu/AppliedUGMath/auxpaper_Reinsch_1967.pdf https://tlakoba.w3.uvm.edu/AppliedUGMath/auxpaper_Reinsch_19...
- pdw 2y agoYou're probably thinking of Algol 60? Algol 68 definitely had heap operations, the sample code on Wikipedia even showcases them to build linked lists.
- ecshafer 2y agoFortran is pretty nice to write in if you are just writing numerical stuff. If I were just doing a pure numerical simulation, I would rather do it in fortran than c++ or python (without numpy which is just fortran and c++)
- jtolmar 2y agoI can't say whether Java as a whole will ever become the next COBOL, but Java 8 already is well on the way there.
- Yodel0914 2y agoI’m not sure I’d choose to use Fortran, but at one point I had to maintain an app that had a Delphi UI and Fortran business logic. The Fortran, although spaghetti, was much less frustrating to work with.
- masto 2y agoI feel like APL is worth the experience, because it's such a different paradigm. I've got a soft spot for it as well because I actually used it. At work. On a PC. In the 90s. My assignment was to figure out how to get data into it, for which I ended up writing a routine that operated on floating point numbers as vectors of 1s and 0s and swapped the bits around to convert from Microsoft to IEEE format. While wearing an onion on my belt, of course.
- overtomanu 2y agoSimilar thing applies to SAP ABAP. It is like Java from a parallel world, where the accumulated cruft for maintaining backward compatibility is 3-4 times more than Java. It also like a low code/no code environment where the language, the UI, ABAP IDE etc is tightly coupled to one another. Like Java, it has continued to add more language features with time, but the legacy code using old constructs is still there in the codebase of many of the orgs. Initially and up to some extent still now, it is verbose and wording wise, very similar to COBOL, then somewhere I guess in the late 90s, OO paradigm wave came in, and it had "OO ABAP" with classes and methods. Now cloud wave is influencing it and ABAP now has a new cloud flavor "ABAP for cloud" where most of the old constructs are not supported.
- rqtwteye 2y ago"is there any reason to think that in 30-40 years the only people writing Java will be retirees maintaining old banking systems?" I don't think so. But it's pretty much guaranteed that a lot of the people who are complaining about COBOL today are writing systems that will be legacy in 30 years. And the generation of programmers then will be complaining about today's programmers. Especially when I look at node or python with tons of external packages (.NET going the same way), I don't see a good long term future.