4 ms·
Oftentimes there isn’t a need for something to work for the next 30 years as the business will change in a much shorter timeframe and software exists to serve t
by bathtub365 2y ago
Oftentimes there isn’t a need for something to work for the next 30 years as the business will change in a much shorter timeframe and software exists to serve the business. While I agree that software quality varies wildly if the business can’t get off, the ground because the software isn’t ready, the software team will quickly stop existing with the rest of the business.
- 1dom 2y agoThe way I interpret the decline of software is that part of the problem is because more software has been written with the mentality that it doesn't need to last 30 years. It's a self-perpetuating issue: people build stuff saying "it won't/can't last 30 years" for various reasons (money, time, skill, resources, expectations, company culture, business landscape etc). So then software doesn't last 30 years for those same various reasons. The idea that we think systems did used to last longer is probably some survivor bias. However, software that has survived decades was probably created with a completely different set of methodologies, resources and incentives to modern software.
- BobbyTables2 2y agoPractically speaking, software should at least outlast one’s employment at a particular company. Writing bad code to just get past the next sprint or release is madness.
- naasking 2y agoWriting bad code for any reason is bad, the question is whether you can write good code to get the next release out. Or are you saying there's no such thing as good code that meets the next release' requirements?
- BobbyTables2 2y agoI think many people write sloppy code blindly thinking they won’t have to worry about it again.
- bigiain 2y agoThat's kinda the wo9ld business model of outsourced development teams...
- eastbound 2y agoLinux and Java has survived since 1995-1998, which is the dusk of times. We swap JS frameworks constantly, but when we’ll reach a good paradigm, we’ll stick with it. At one point, React might be the final framework, or rather, one of its descendants.
- renewedrebecca 2y agoOr just throw modern web app development with its insane ways of trying to work around the fast that JS is a broken paradigm and start over. Develop a good vm that can either be part of the browser or can be easily launched from it and get all of the browser/OS makers on the same page. We only have what we have because of a lack of real leadership.
- maccard 2y agoIf history had taught us anything in computing it’s that breaking backwards compatibility/rewriting it isn’t the panacea. See Perl, python, C++, longhorn, mosaic for example. My 4k, 120hz monitor with 32 bit color depth and 16 4.5GHz cpu cores attached to it still renders a terminal at 80 characters wide and chokes on cat bigfile.bin because we’re that married to not changing things.
- ajoseps 2y agowas there a large breaking backwards compatibility break for C++? I was there for some of the Python2/3 transition but I’ve always thought C++ was adamantly backwards compatible (minor exceptions being stuff like auto_ptr/unique_ptr, which I don’t think was as big as a break as Python’s)
- maccard 2y agoSorry - I meant that C++ as an “improved” C never managed to remove C’s foothold, it just fractured the ecosystem, When the c++11 abi break happened it was a big pain in the ass, but once MSVC decided in 2015 that they were going to stop breaking ABI I think it was the stability that c++ needed to fossilize… Spoken as a C++ fan.
- karmakaze 2y agoThere are many large companies running Cobol programs in production that wished software didn't last 30 years.
- MonkeyClub 2y agoTheir prospective replacements didn't last the rewrite, though.
- _cenw 2y agoThat is untrue for almost all software written outside of companies who's primary product is tech or software. I work for a publisher and while there's a ton of disposable microsites and project work (that nobody ever cleans up or documents, so you never know if it's okay to remove), there's also ancient monoliths written in forgotten programming languages that are so important for production and have so many hidden dependencies and unknown users ("random FTP server" being my favorite), that you can barely put on new paint. I'm writing software with the assumption that it'll be used for at least 30 years there, with a lot of guard rails and transparency/observability mechanisms, because I know the next person working there will thank me.
- dijit 2y agoI don’t mind this philosophy, but in aggregate I think very slow applications that are cumbersome and widely deployed have cost humanity many human lifetimes because a handful of developers were not able (or not given the opportunity) to optimise them even a little. I am aware that capitalism essentially dictates externalising cost as much as possible, but with software- much for the same reason capitalism loves it (a copy is cheap and can be sold at full price despite being constructed just once) means that these externalities can scale exponentially. Teams in particular is an outlier as in most cases it is essentially forced on people.
- Wolfenstein98k 2y agoVery shallow definition of "capitalism". It doesn't dictate externalising cost as much as possible unless you have a very short-term view. Short-term view businesses get eaten pretty quickly in a free capitalist system. People forget that half of capitalism's advantage is the "creative destruction" part - if businesses are allowed to fail, capitalism works well and creates net value.
- cassianoleal 2y agoWhat defines a "free capitalist system", and where does it exist?