8 ms·
It is interesting that people don't think on these scales. What percentage of the HN crowd has developed something that has had (or will have) a 10, 20 or 40 ye
by hindsightbias 6y ago
It is interesting that people don't think on these scales. What percentage of the HN crowd has developed something that has had (or will have) a 10, 20 or 40 year life span?
Because I've seen a bit of that and it's what makes the world go round. There's certainly a lot of bad/crazy stuff out there but wonder if the ephemeral fashions of today will stand the tests of time.
- knodi 6y agoYes, because most people on HN's context is shipping nodejs code.
- ISL 6y agoThe best-practices we teach our experimental physics students, whether they know it or not, are generally designed to yield experimental apparatus that can last a decade or more with minimal maintenance. After you've lived through it, a decade is a very short span of time. If you don't have to think about whether or not something is going to break, you have more free cycles to think about something else that needs doing.
- arethuza 6y agoI have built applications that have been around for 10 to 15 years. The only thing that would have been good is to know in advance which ones will last that long - one was a temporary proof of concept!
- virtue3 6y agoThe jerks always say that it will be 'temporary' and we can redo it later. HAH
- HeyLaughingBoy 6y agoThis is why at my last job we had a rule that said prototypes could not be shipped as production software. It had to be either completely rewritten, or at least completely code reviewed and the "bad" parts rewritten.
- sterlind 6y agoI approach this by writing exploratory prototypes with good modular boundaries, but stub/hacky implementations. Keeping it simple lets me throw modules away as I refactor, until everything's been rewritten and then I ship it.
- HeyLaughingBoy 6y agoSure, and that works great for a personal approach to code. But when your lifecycle from requirements through release needs to be validated, something more scalable is required. Sometimes that scalable thing is "anyone shipping prototype code will be fired."
- bserge 6y agoIt seems like no matter the industry, a (good) temporary fix becomes a permanent solution.
- lozaning 6y agoWe never have the money to do it right the first time, instead we always find the money to do it a second time.
- bArray 6y agoSome code I wrote in a drunken haze has been running continuously for 7 years with zero downtime - it was only meant to be temporary! It has zero comments, the code was inefficient, the variable names are things like "theThing" (it's the best I could do at the time) and "database" is just a series of text files carefully read/written to on the disk.
- dopamean 6y agoWhatever the average age of the HN crowd is would probably inform a little. I'm 34 and have been a dev for about 8 years. The only code from a past job that I know for a fact is still in use today is something that I wrote in early 2017 (a let's encrypt integration for a web host). So about three years. I'm very curious to know how it has been updated since but I'm no longer at that job.
- detaro 6y agoNot a single comment in this comment section seems surprised by this - so probably a large percentage.
- owenmarshall 6y agoSelf selection bias surely doesn't apply to software developers.
- detaro 6y agoTrue of course. I just found the contrast between "people don't think in those scales" and the comment section interesting - and generally think that a surprising amount of code survives for a decade or more.
- Izkata 6y ago> What percentage of the HN crowd has developed something that has had (or will have) a 10, 20 or 40 year life span? I'm also curious about the work/personal split here. I have a small handful of things at home I first wrote around 10-12 years ago that I still use and tweak, but have only been working professionally for about 9 years (and have worked on things in that time I personally fully expect to hit 20-30 years).
- jermaustin1 6y agoI'm in my 30s, I've been a primarily web developer for 15 years, and I know there is software I wrote in 2008 that is still running today for processing the rent of 1000s of residents. It has been updated a few times, adding a console argument to automate the process more. It was originally a Bob-O-Matic process. At midnight on the first of the month, this old-timer Bob would launch the application, click one button to load the residents, double check the numbers, click another the button to pull the rent statements, check those numbers, and then click a third button to process the transactions which actually took about an hour to run through, and on occasion would actually crash once a year or so, but it had the ability to pick back up after a crash where it left off. That was probably my first real bit of production code, it (un)fortunately replaced half a floor of people with one man, who faithfully clicked those buttons every first midnight for the next 10 years before he retired. It was then automated by the couple of South African contractors that replaced the NYC-based app development team. The company spent about 12 years automating away almost every job except management.
- bserge 6y agoSounds like a nice, no-frills tool that does its job!
- jermaustin1 6y agoIt was meant to be a temporary solution until the online payments module was developed by the vendor. Yet, here we are in 2020 and that module still hasn't been delivered. And no one who worked there initially is even around any longer. If I'm not mistaken, we even gave them our code back in 2009 or 2010.
- bserge 6y ago"A good temporary fix will become a permanent solution" :D
- james_s_tayler 6y agoSoftware Engineering Life Pro Tip: s/for now/forever
- Osiris 6y agoI built a relatively simple system over 10 years ago that ran on PHP and MySQL. Over the years, the company I built the product for has come back to me to upgrade PHP and MySQL after a security scan. The problem is the software was build for PHP 5.4, and they want it running on the latest (7.4). It doesn't. I managed to get it running on the latest security release of 7.1 with a few days of work (I had to make code changes in the framework I used that weren't supported in PHP 7 anymore). If they want future security upgrades, it's going to require a even more significant rewrite of the software because it relies on old PHP behaviours that have been removed in recent releases. So, I completely understand why 20 year old systems would still rely on floppy disks.
- jacquesm 6y agoI charge my proofreaders a euro every time they miss 'built' spelled as 'built'. It's been a pretty steady money maker, that one. I make a ton of spelling errors as well so who am I to cast that particular stone but the built-with-a-t one seems particular hard to get rid of even when you know about it. Must be some cognitive blind spot.
- gbuk2013 6y agoI built an invoicing / international shipment documentation generation / stock control / production tracking system with Excel and VBA and it's been in production for close to 20 years! I am conflicted as to whether or not I should be proud of that. ;)
- HeyLaughingBoy 6y agoLike the parent poster, I've shipped systems that have to be in production and supported for 20+ years, so this isn't surprising. That said, most of my career has been in embedded systems, so this kind of lifetime isn't really unusual.
- 51Cards 6y agoI wrote a piece of software that still handles all engineering project management for one of the larger communications companies in North America (>2.5 million customers). I developed it in 1997 and it is still in place today, chugging away for ~400 daily users and getting minor updates a couple times a year. I didn't remotely think it would last on this timescale and I have paid the price for some poor design decisions many times over. Still, as much as I cringe at some of the older sections of code, it has been nice to see it keep going. The client has started internal projects to replace it 3x over and each has been cancelled; sum total spent on the cancelled projects easily exceeds what I charged by an order of magnitude. In retrospect I didn't charge nearly enough back then! If only I could have used a SAAS model.
- bArray 6y agoA slightly different spin has been working on some 20+ year old C/C++ code that is relatively nicely written, such that you can still expand on it today. I had a lot of joy recently reading the Voyager 1 image decompression routines and some X11 window manager sources.
- WalterBright 6y ago> What percentage of the HN crowd has developed something that has had (or will have) a 10, 20 or 40 year life span? The backend of the dmd D compiler was originally developed in 1983. Of course, it's been through a lot of dramatic changes.
- ardy42 6y ago> It is interesting that people don't think on these scales. What percentage of the HN crowd has developed something that has had (or will have) a 10, 20 or 40 year life span? > Because I've seen a bit of that and it's what makes the world go round. There's certainly a lot of bad/crazy stuff out there but wonder if the ephemeral fashions of today will stand the tests of time. Not many, I'd wager. I've even seem a few people argue here (IIRC) that backwards compatibility is an antipattern, which is the thing that allows systems to function on scales longer than an ephemeral fashion.
- tempsolution 6y agoIs it interesting? Most software is just about shipping stuff quickly and replacing things with the next big thing. Most normal projects are maintained and updated on the fly as they mature, until they become abandoned and die. Without this throwaway approach, we would still be stuck with technology from 2000 at best. Nobody can afford to develop software that lasts this long without constant maintenance, bugfixes and updated. We are not NASA. And if you look at the costs and development time of projects that require things to last this long... It's astronomical. Any market opportunity would be old news by the time you shipped, and any venture capital you might have gotten would have been sunk into the early planning phase. I have been part of several projects from start to finish and you just keep getting surprise ALL the time. There isn't a single decision you can make that doesn't need to be revised a few months later. Planning all of this upfront is close to impossible and a reason why the costs of doing it are insane. This can work better in other environments, like Aviation or Space Travel, since things are more predictable than building a webserver for a changing customer base and feature set. Still, even there costs are still astronomical and innovation moves at a snail's pace.
- iso1210 6y agoI have stuff I wrote 15 years ago still in daily use from 500+ people to produce news which is seen by tens (hundreds?) of millions of people, last serious development on it was 2012, written in perl of course. Another system a colleague wrote from the same time, written in PHP, looks after image archives. I don't believe that's changed much either. There's a lot of infrastructure stuff that dates back 12 years, when we standardised the entire place on ubuntu (804) for linux (and got rid of solaris at the same time). That's all fairly new though. A lot of broadcast equipment still in use store config on 3.5" floppy disks, and I saw a windows 3.1 machine still running in a branch office about 18 months ago.
- jacquesm 6y agoSome stuff I wrote in the 80's is still up and running.
- user5994461 6y ago>>> What percentage of the HN crowd has developed something that has had (or will have) a 10, 20 or 40 year life span? Did that a lot when I was working at a major US bank (JP Morgan). All the critical software I worked on was planned for 10-20 years in my mind. Some of the work was upgrading/rewriting ancient things that have been there for 15 years, sometimes mostly untouched. Wrote some blog posts about it. The most remarkable legacy system I have seen : That one was 13 years old, upgraded and half rewritten with bug to bug compatibility, 99% sure it will still be there in 13 years. https://thehftguy.com/2020/07/09/the-most-remarkable-legacy-system-i-have-seen/ https://thehftguy.com/2020/07/09/the-most-remarkable-legacy-... Retired the last Perl software in the bank, rewrote in python and made sure it works on 2.6 and 2.7 and 3.7 to cover the upcoming decade. That software was handling in the order of a trillion dollars per day, wouldn't be surprised if it's still there in 30 years. https://thehftguy.com/2020/06/26/are-banks-still-using-perl-in-2020-the-answer-is-no/ https://thehftguy.com/2020/06/26/are-banks-still-using-perl-...
- temac 6y agoI once worked on a project that made me think that year 2038 will be interesting for the military.
- pyuser583 6y agoI used to work for a manufacturers that had industrial equipment that was 15 years old. We had 15 year old PCs to talk to it. That was about 20 years ago. From what I hear, they’re using the same equipment, and same PCs.
- WWLink 6y ago35 years means they must be using 286s to run that stuff. On the plus side, nothing requires fans, the motherboards are extremely simple (albeit a mess of logic chips), and your biggest worry is probably the power supply. Right? I dunno. I could easily see taking decently made hardware to the 20 year mark.
- chopin 6y agoI've written PLC code in the 90's which still runs today.
- JAlexoid 6y agoIt's not ephemeral - when you think about upgrade cycles and deprecation of tech. What I would claim - is that people who targeted Win95 for equipment that had to last decades never bothered to understand how software ecosystem works. They just "threw it together"... That said - the floppy disks isn't that bad, per se. I would have expected Boeing to be smart enough to expose a data loading interface, that can read something "as if it was a floppy disk"... But then I look af 737 and Boeing's failure to deliver a crew space launch vehicle - and get reminded that they only exist because US government literally props it up.