10 ms·
A few years ago I had to update some FORTRAN code written in the 1980s that did bond valuations and some other financial stuff. It hadn't been touched since it
by bigpicture 8y ago
A few years ago I had to update some FORTRAN code written in the 1980s that did bond valuations and some other financial stuff. It hadn't been touched since it was written and was now running out of space because the number of bonds keeps increasing year after year.
I'd never done anything with FORTRAN before, so I spent a couple days reading about it and looking into how it works, fearful that I'd muck everything up trying to fix it.
I open the code and find that it was the most elegantly written software you could wish for, with fantastic comments and structure. I changed two numbers and was done, buying us another 30 years or so of rock-solid service.
- drharby 8y agoI hope to god you over sold yourself
- systemtest 8y agoDid you leave a comment for the guy who has to fix it in 30 years?
- pinko 8y agoHopefully there's even odds it will be a woman by then.
- systemtest 8y agoPerhaps we go full circle and have predominately female programmers by then.
- edoceo 8y agoA full circle puts us back where we started?
- mrguyorama 8y agoProgramming used to be a "woman's job" as secretaries.
- mixmastamyk 8y agoIt was soft-ware after all. Downvoters don't seem to understand this point, that was the idea in the old days. That hardware was for men.
- throwaway675309 8y agoyeah, but being a programmer had a different connotation in that sense, just like how you wouldn't call a person who xeroxed a book an "author".
- monocasa 8y agoNo, a lot of those women legitimately did what we'd call programming.
- bregma 8y agoIn the 1840s when programmable computing devices were first manufactured, 100% of programmers were women. She died about 10 years later.
- robkop 8y agoI think one Mr Charles Babbage might disagree with you on that. Also I wouldn't say that any were actually manufactured. The first fully working model of the difference engine was created in the 1990s and as far as I know there never was a working analytical engine.
- edoceo 8y agoLooks like some folks missed my point, others got it 100%. I am in favor of more diversity in software builders, I practice what I preach
- mruts 8y agoWhy? Do you also hope that there's even odds that garbage trucks are 50% staffed by women? Or maybe 50% odds that menswear models are women? Maybe it would be better if everyone made their own choices for themselves, instead of assuming that everyone wants the same thing as you.
- rchaud 8y agoBit of a strong reaction to a comment that began with the words "Hopefully"
- maxxxxx 8y agoA lot of young people think that the people who wrote software 30 years ago were just plain stupid and all wrote crappy code. In reality there were people back then who did a good job and there were people who didn’t. They just used different tools. I can’t wait for the current systems to become 30 years old. Making changes to micro services architectures written in different languages over multiple servers will be a lot of fun.
- roymurdock 8y agoNecessity is the mother of invention and memory/resource scarcity is the mother of quality code A lot of junk and spaghetti code gets written (or copied/pasted together) today because there are few hardware-based constraints in much of modern app and system dev I work with a lot of embedded engineers and have the utmost respect for those that work on safety-critical, legacy systems
- emiliobumachar 8y ago"resource scarcity is the mother of quality code" I don't know, your mileage may vary with this one. I have had to make code less readable to make it more efficient more often than I've been forced to find a more elegant way because the clever hack was too slow.
- drabiega 8y ago> memory/resource scarcity is the mother of quality code My experience with Legacy code has been the exact opposite of this. I've seen some really well written and documented legacy code but almost never in resource / performance sensitive areas. People inevitably seem to accept trade-offs that sacrifice readability and maintainability for efficiency.
- C1sc0cat 8y agoWell I recall writing Fortan 77 for a billing system and we had nicely structured code (our team leader was a genius) but we did do some specific stuff eg reading in data in chunks the size of a disk sector.
- huffmsa 8y agoOld things are typically built to last. Because the cost of redoing them was prohibitively expensive. If it were shit craftsmanship, it wouldn't still be running. See: - Roman architecture - Browning designed firearms - Savile row tailoring - Old ships - anything your great-grandfather owned
- SiempreViernes 8y agoWell, old things still around today were usually built to last which is rather natural. (There are rare exceptions, the Eiffel tower was meant to stand only 20 years)
- huffmsa 8y agoWe do have a bit of a sample bias. We only see the things which have survived. But planned obsolescence was the norm. Technology advanced too slowly for a producer to assume they'd have a new model to sell in the near future.
- CharlesColeman 8y agoExactly, which is why we should think twice about replacing them, just for the sake of having something newer. Newer isn't always better.
- C1sc0cat 8y agoOld wooden ships had a short life BTW
- pojzon 8y agoThats why old wooden well preserved (made) ships survived up untill to now. Crappy made w/e will break the moment you stop maintaining it.
- vajrabum 8y agoYou've obviously never dealt with a wooden boat much less one immersed in salt water. Maintenance to maintain those things is an never ending hard work chore. The best made wooden boats begin to rot the moment you stop maintaining them.
- bluedino 8y agoI've come across code on IBM System i (AS/400) with copyrights from the late 70's. The code still works, plenty of businesses run on it, and it was written quite nicely.
- southern_cross 8y agoThe core code base dates back to the System/38, which was released in 1979. You might expect to find a whole series of older to newer dates in copyright notices for the AS/400 (which is not its correct name now, and hasn't been for ages) code base, but the copyright laws have changed a few times over recent decades and I don't know what the current requirements are.
- DevX101 8y agoLove this story. How much did you charge for changing those two numbers?
- mixmastamyk 8y agoHopefully at least a week for all the research.
- bigpicture 8y agoI'm salaried, but it sure bought me a lot of goodwill.
- apostacy 8y agoI'm honestly terrified that America's nuclear missile silos are going to get "upgraded". Let them keep their 8 inch floppies and text interfaces, for the love of god. It works fine the way it is.
- ghaff 8y agoHardware fails over time and gets increasingly less reliable and harder to source. These types of upgrades are mostly about maintaining existing functionality on modern hardware.
- ForHackernews 8y agoIn the case of nuclear missiles, this is entirely a good thing. If both sides can just maintain Potemkin nuclear arsenals we'll achieve gradual disarmament through obsolescence. We might hope that at some point in the early 2100s, somebody will notice that none of the nuclear missiles work anymore, and with any luck, the engineering knowledge to create new ones will have been lost.
- 51lver 8y agoOr, preferably, simply seen as a childish use of rockets and nuclear energy while the tech is being used productively elsewhere.
- moonbug 8y agoFogbank, lost knowledge regained https://www.lanl.gov/science/weapons_journal/wj_pubs/17nwj2_09.pdf https://www.lanl.gov/science/weapons_journal/wj_pubs/17nwj2_...
- JohnJamesRambo 8y agoIt will be fine they will just download the nuke app off of the app store and sign into Facebook for authentication.
- acheron 8y ago
- gtycomb 8y ago> FORTAN I have not thought of FORTAN as legacy because whenever I need to look at very old FORTRAN code I am looking at mathematical structures such as matrices and vectors. At that point I am not thinking of FORTRAN anymore but another language (such as linear algebra) which is few hundred years old but still so crisp in a world of numerical computing. HOWEVER: I cannot say the same about ABAP or Java that initially began to take shape in an enterprise system 20 years back. Then I have to go through reams of code that is truly legacy, hard to navigate through years of modifications, dependent heavily on local contexts, personal perferences, etc.
- tzs 8y agoI bet a large part of that is that there is a good chance that someone writing FORTRAN in the'80s would work out their algorithms, how they would code those algorithms, and how they would structure their code on paper, and have pretty much the whole thing worked out before they ever sat down at a terminal to actually enter code. When actually entering code, their focus can then be on the fairly straightforward translation of their notes specifically into FORTRAN, and on adding good comments for those who deal with the code later. Most of their creative energy at this stage can go into those comments. Part of this is that it was still common in the '80s to either not have interactive access to the computer the code was for, or for such access to only be via shared terminals in a computing center away from your office. You needed to arrange things so that when you actually got to a terminal, you were efficient. Since then, we've almost always got access to our own private computers that are powerful enough to run at least test versions of whatever we are working on even if it is ultimately meant for some big server somewhere else. Now we can sit down and start coding while still designing the program in our head. And so we do, even if sometimes it probably be better to separate design and coding. I think this also might have something to do with why BASIC was good as a teaching language, as was noted recently in some other HN discussions. BASIC, especially with some of the limits put on it to fit it in some smaller computers, was constraining and painful enough to deal with that people quickly learned that trying to do that while also trying at the same time to figure out the design and algorithms they needed was way too hard. They naturally learned to separate figuring out how to do something from coding it.
- ams6110 8y agoIn the 1980s, for FORTRAN, coding your program on punch cards was still not that uncommon.
- james_s_tayler 8y agoI wonder if they were made to do leetcode algorithms on a chalkboard in FORTRAN 77 back in the day during interviews.
- hermitdev 8y agoBack then, you likely didnt have anything resembling a PC or a white board (probably available but less common than today), so it was more likely on a blackboard with chalk and pen or pencil on paper before working on your punch cards. I started my internship at a Fortune 500 in 2001, and they had just retired their last card reader for the mainframe. Still had plenty of blank/partially used cards that made for great notecards.
- mathattack 8y agoGod bless that coder, who probably received nothing compared to the aggravation they saved.