13 ms·
The beauty of finished software
- naltroc 3y agoThis sparked a shower thought. Instead of developing infinitely long software that perpetually updates, can we create many tiny products that just persist?
- snickerer 3y agoYou mean the decades old concept of all that software I use every day, the GNU operating system tools? All the command line tools like 'grep', they are basically done, stable and reliable. And we have one tool for one purpose. All these ideas have been there for a long time. But they work only if nobody wants to earn money with the software development.
- totallywrong 3y agoWe really take GNU for granted. What an incredible achievement and legacy for all of us in the industry. Say what you might about Stallman but he deserves massive credit and respect for it.
- MilStdJunkie 3y agoThis precisely. There's so many perfect little tools in the *nix environment, stable as rocks. There's one-character tricks in text editors that nets what you want from MSO or 90% of what people generally want from PS/Gimp/Krita, all while using the same text encoding that's been in use since 1974. The big gap in users is between "computer familiarity" and "computer proficiency". People associate environments with home, and the older the enterprise user base is, the more they want their mouse menus and clicker buttons. Introduce a text interface, say so long to 90% of the enterprise users . . even if the windowed equivalent is a hellish nested circular menu labyrinth no one can use the same way twice running.
- kakwa_ 3y agoLooking at the git logs (https://git.savannah.gnu.org/cgit/coreutils.git/log/ https://git.savannah.gnu.org/cgit/coreutils.git/log/) that doesn't seem to hold true. While the days around 2003 when the project had +2500 commits per year are long gone, coreutils is still fairly active, with ~200 commits per year. Even looking at really simple tools like 'yes', git blame shows a bunch of fairly recent changes. On commands with specific repository like grep (https://git.savannah.gnu.org/cgit/grep.git/log/ https://git.savannah.gnu.org/cgit/grep.git/log/), the project actually peaked not too long ago, in 2010, with 355 commits a year. And the current activity levels (82 commits 2023) are not that far off this high. Of course, commits are not everything. I expect the actual code changes to be smaller (lots of 1-5 lines fixes vs ~100 lines new functionality). But these tools are still evolving quite significantly.
- paulddraper 3y agoInteresting shower thought. I propose calling this idea Uniquely Minimal Individual Extensions, aka UMIX philosophy, and creating a suite of small self-contained programs that can be flexibly composed to create more complex ones.
- notpachet 3y ago"The thing that hath been, is that which shall be, and that which is done is that which shall be done; and there is no new thing under the sun." - Ecclesiastes 1:9
- bluelightning2k 3y agoNow we know why George R. R. Martin has such infamously low productivity. It's possible I've got the wrong takeaway from this article.
- tspike 3y agoWhy’s that?
- deleted 3y ago[deleted]
- kykeonaut 3y agoNow imagine if he were to use Microsoft Word and had to manually change all the uppercase letters to lowercase.
- manicennui 3y agoWhy would his productivity be higher if he used a modern bloated word processor? Is fighting with Word's formatting some form of productivity that I'm not aware of?
- tonyedgecombe 3y agoImagine how much quicker he would be with the latest AI extensions to Word.
- RandomWorker 3y agoClojure has a lot of these “finished” libraries and and another functional language like Elm really never gets any updates because it’s considered “finished”. Maybe it’s a functional programming language thing.
- synthc 3y agoI heard this claim a lot but don't find it true, there is plenty of abandonware with lots of open issues
- vannevar 3y agoUnfortunately, neither finished software nor durable hardware are compatible with the imperative for growth that firms operate under in a capitalist system with unlimited marketing. Once the market is saturated, next year's revenue must come from a product that is different from what the consumer already owns. It must either actually be better, or marketed in such a way as to be perceived to be better. Usually, the marketing option is easier and more reliably reproduced year after year.
- codeTired 3y agoI wrote a finished software once. It printed “hello world” to the console.
- fohara 3y agoDid it compile to wasm and run at the edge at scale?
- adhesive_wombat 3y agoAre you sure it's finished? Did it handle the case where the output stream couldn't be written to, for example?
- alexvitkov 3y agoLikely no, just like any other software ever written.
- OkayPhysicist 3y agoThat's outside of scope. Most programs should fail when faced with situations outside their purview.
- adhesive_wombat 3y agoYes, but if you don't check the printf return code (in C, say) the program won't fail. It'll return 0 (i.e. report success) but it did not do what it promised to do on the tin. If you only check its non-negativity, you might only have written "Hell" and again the program merrily carries on and says "all OK: 0!"
- zabzonk 3y agobut didn't you feel the urge to give an option specifying which font to use?
- smokel 3y agoUnless you wrote it in HQ9+ [1], I wouldn't be so sure that it's finished. If you wrote it in C, I wouldn't be surprised that in a few years time you'd have to check a few security policies before you can actually write to the stdout file descriptor. And in JavaScript, the top level "console" object will probably be removed to avoid possible namespace clashes. [1] https://esolangs.org/wiki/HQ9%2B https://esolangs.org/wiki/HQ9%2B
- Rygian 3y agoTeX and METAFONT are also "finished software." Their version numbers converge to π and to e respectively when bugfixes are delivered, and will become precisely π and e when Knuth passes away. https://texfaq.org/FAQ-TeXfuture https://texfaq.org/FAQ-TeXfuture
- distcs 3y agoAre there no other people who can work on the TeX and Metafont after Knuth? What if someone else wants to create bug fixes for these projects? How would they version TeX? Or do they have to fork TeX and have a new versioning system?
- Rygian 3y agoStraight from Knuth's paper: "anybody can make use of my programs in whatever way they wish, as long as they do not use the names TeX, METAFONT, or Computer Modern. In particular, any person or group who wants to produce a program superior to mine is free to do so. However, nobody is allowed to call a system TeX or METAFONT unless that system conforms 100% to my own programs." https://tug.org/TUGboat/Articles/tb11-4/tb30knut.pdf https://tug.org/TUGboat/Articles/tb11-4/tb30knut.pdf
- swalling 3y agoI deeply crave the ability to create finished software like the author talks about, but he skips over a major cause of never-ending updates: business model. The web and mobile both enable a cycle of extreme optimization where ad-based or subscription-based models are continually squeezed for every last dollar of possible value. This is why if you’ve worked at a tech company that is thriving, a ton of your work just goes poof over time. The best modern pieces of finished software I use are either free, donation-based, or a one-time paid price. My favorite modern app like this is a little utility called Simple Pacer, which solves distance, pace, or time calculations for runners. https://apps.apple.com/us/app/simple-pacer/id1273474255 https://apps.apple.com/us/app/simple-pacer/id1273474255 It’s perfect and the version history on iOS is sparse. I’d bet it makes only a little money though.
- gavinhoward 3y agoI agree. I even wrote about this. [1] [1]: https://gavinhoward.com/2019/11/finishing-software/ https://gavinhoward.com/2019/11/finishing-software/
- bruce511 3y agoFinished Software is a beautiful thing, and personally I use a bunch of software I wrote back in the 90's and after. BUT (and it's a fairly big But) software does not work in a vacuum. If the software does any interactions with other software, think any kind of networking like email, ftp or whatever, think printing, and so on, then you should expect it to stop working (in those areas at least) at some point. All network protocols get tweaked from time to time - TLS code changes - Authentication schemes change, I could go on but you get the point. I've lost count of the number of people who complain to me "but it worked yesterday" - and sure it did - BUT the "world changed and you didn't keep up." I love finished software - but not all (categories of) software will run forever. Once there is other software involved, then sooner or later it'll likely "stop".
- wink 3y agoThat's more of an argument for decoupling though. Why can't I have a local permanently-updated "fetch mails via IMAP"-tool and then a mostly dumb GUI mail client that does not care about cipher changes for 10 years? If someone's about to comment with fetchmail, shoo :P I've never seen that work properly on Windows, it's not end user friendly and I'm not sure how to put "decoupling" better - all I'm saying is that for how email works at least, no, Thunderbird wouldn't necessarily need the means to talk to servers, something local via socket/named pipe/filesystem might be enough - but this would mean more of a paradigm shift and yes, it would maybe also be bad for end-to-end crypto (depends how you define the end, it's still your machine...)
- anthk 3y agoCheck mbsybc + msmtp + Mutt.
- generalizations 3y ago> If the software does any interactions with other software, think any kind of networking like email, ftp or whatever, think printing, and so on, then you should expect it to stop working (in those areas at least) at some point. This is the beauty of line-delineated (ha) text-based pipes. I wonder if some of those unix tools would be considered in any sense 'finished'.
- danbruc 3y agoIt is more accurately the pipe dream of finished software. In general the environment in which a piece of software is used constantly changes and so the software has to change. Or be abandoned and replaced with something new. And yes, there are some exceptions.
- dusted 3y agoPretty easy to fix if the money that be wished it: Finish the environment.
- danbruc 3y agoDepending on what kind of software we are talking about, all kinds of things might change. Hardware and software environments evolve, legal requirements change, it really is an endless list of things that you can not control. Could you have written an image editor 30 years ago that would be usable today when you had less RAM than the size of an images coming from a digital cameras today and in an image format invented years later? Could you have written a text editor useful today before Unicode was invented? Could you have written a tax software that anticipated all relevant taxation changes 20 years into the future? Could you handle touch inputs well before smartphones were widely used and deal with the differences between desktop and mobile in general? Keep up with the changes to HTTP, HTML, CSS and JavaScript without updating your browser?
- nonameiguess 3y agoI've mentioned before that my wife was going through stuff her mom sent her from the attic when they sold her childhood house and she found an SNES from 1991 and a bunch of old games, and they still work. She's been playing Legend of Zelda pretty regularly for years now on that thing. There's no reason it can't work at least until the material physically degrades to the point of being unfixable (which is not forever, but longer than most software otherwise lasts). Even if something about the regulatory environment changes, nobody is going to issue a recall on a 30+ year-old gaming console forcing you to turn it in.
- 3y ago
- JohnFen 3y agoI couldn't agree more. It's a real shame that the standard is that software is never "finished" anymore. Using a work-in-progress is always problematic.
- kuchenbecker 3y agoRespectfully disagree, I think getting value out of a work in-progress is preferable to the alternative and provides vital feedback to the software builders.
- emanuele232 3y agoi agree with both, "finished" software i think can happen only with small pieces of sotfware, every medium size+ project needs a continuous development
- JohnFen 3y agoAs a dev, I get that. As a user, I very much dislike that software is often in a perpetually unfinished state.
- ezfe 3y agoFactorio is a common example of a video game that is very polished. It could be frozen in time and be considered finished. Yet it receives consistent updates finding smaller and smaller fixes and refining the game even more. How do you reconcile those ideas?
- JohnFen 3y agoWhat's to reconcile? If there are releases that are beyond bug fixing, then it it's not "completed", it's a work in progress.
- pif 3y agoFinished software is not feeding any developer's children. I hate it.
- illys 3y agoThat logic is like breaking windows to feed the glazier's family... Or puncture tires to feed the garage owner's family. It does not make any sense: it is fake work while there is so much real work to do.
- bullen 3y agoEven better than finished software is modifiable software; open-source-available minimalist zero-dependency projects that you can fork, fix and compile in 5 minutes.
- 0x000xca0xfe 3y agoAlthough open source and communities are fantastic things, there is just something about "finished" software that hasn't been modified in decades. Sometimes I play old PC games with Wine that are the exact same executable they were 20 years ago. It is hard to describe but it feels strangely calming, you just know everything is still the same as it always was.
- bullen 3y agoI'm just as OCD about changes as the next competent programmer, but when it comes to say Starcraft, which is a beautiful one person creation (like most software that reaches a large audience for a long time) it now makes me uneasy as the tables are switching fast underneath. Emulating X86 on ARM/Risc-V is an abstraction tree I don't want to climb f.ex. Wine hides that power consumption. It's a false sense of security.
- illys 3y agoI understand your feeling: I have a vague uneasy feeling when I see DOSbox or other emulations running. It is a great achievement to allow legacy software to remain alive and executable... But still it seems fake. Nothing to do with the real software running on real antique hardware.
- whateveryousayw 3y agoPretty irrational honestly. The input and output devices make more of a difference than digital software being emulated or not. I'd rather play old arcade games in an emulator connected to a CRT arcade monitor than real arcade PCBs connected to an LCD using some scaler. The former is going to be a more authentic experience.
- paulddraper 3y agoThis is a funny example. From the WordStar Wikipedia: > no current version of WordStar is available for modern operating systems https://en.wikipedia.org/wiki/WordStar https://en.wikipedia.org/wiki/WordStar
- jjgreen 3y agoI knew a philosopher who was mad for WordStar, ran it on a DOS install on VMWare.
- lproven 3y ago[1] Run it in a DOS box; I list a whole bunch here: https://www.theregister.com/2022/06/28/friday_foss_fest_running_dos/ https://www.theregister.com/2022/06/28/friday_foss_fest_runn... [2] Run WordTsar: http://wordtsar.ca/ http://wordtsar.ca/
- willsmith72 3y agoNice in theory, not in practice. YouTube was already a great video sharing and recommending website in 2005, but if it still looked like this, it would be dead. https://www.versionmuseum.com/history-of/youtube-website https://www.versionmuseum.com/history-of/youtube-website
- godshatter 3y agoYouTube without the algorithm? Sign me up.
- yread 3y agoHah I've tried to find some of the videos featured on the homepage: https://www.youtube.com/watch?app=desktop&v=C-JrfjVjHAY https://www.youtube.com/watch?app=desktop&v=C-JrfjVjHAY It has crazy stats: 18 years old and only 3.7K views! I wonder were the compression artifacts this bad when the video was uploaded or has it been recompressed a bit too many times? Still groovy tho
- landgenoot 3y agoI think the quality was that bad already. I have uploaded my first YouTube video in October 2006. The quality is still as day one. However, some comments seem to have disappeared. I can only see my reactions to those comments.
- snapcaster 3y agoThis version had literally everything I need haha, wish it had stayed like this
- mo_42 3y agoI wrote a little command line calculator once. Main purpose was to learn about parsing with Bison/Flex. Now, I'm using it every day and haven't changed it in years. It compiles everywhere even on my M1 with Asahi Linux. All my other software is not beautiful. It requires changes.
- mnd999 3y agoIt’s a shame Mr Martin is less good at finishing his books.
- mnd999 3y agoI get the downvotes, it's kinda snarky but I think it's a legit point. If he had more modern software, would he get more done?
- jasode 3y ago>Let me introduce you to WordStar 4.0, a popular word processor from the early 80s. [...] I love how he puts it: It does everything I want a word processing program to do and it doesn't do anything else. [...] , remember that sometimes, the best software is the one that doesn’t change at all. If we take your Wordstar 4.0 example literally, it's not a good example of the concept I think you're trying to convey. Wordstar did change for 7+ versions after 4.0: https://en.wikipedia.org/wiki/WordStar#Version_list https://en.wikipedia.org/wiki/WordStar#Version_list Wordstar didn't freeze at 4.0. Instead, what happened was George R. R. Martin's idiosyncratic usage of word processing froze at WS 4.0. That's a very different concept. If we define "finished software" as determined by the end-user instead of the developer, then any software of any version that doesn't force auto-updates (e.g. not Chrome, not Skype) can also be "finished" if the particular user is satisfied with that old version. E.g. In that mental framework, Adobe CS6 from 2012 and Windows 95 can also be "finished software" because the user doesn't need/want Adobe CC 2023 and Windows 11. Maybe a better example of "finished software" from the perspective of developer would be a one-off game where the programmer never had intentions of making franchise sequels out of it.
- justin66 3y ago> any software of any version that doesn't force auto-updates (e.g. Chrome, Skype) can also be "finished" if the particular user is satisfied with that old version That’s obviously not true. WordStar 4’s output is interoperable with newer software, it runs on today’s hardware with a little work, and a user won’t be under constant threat of getting hacked because they’re running an old version. It is safely “finished” in a lot of ways the other software Martin was using when he settled on WordStar is not.
- otikik 3y agoSoftware is never finished, it can only get abandoned.
- hybridtupel 3y agoDoes finished mean it doesn't get updates at all or just no new features? Because most software today has some kind of communication / network connection and therefore could have security vulnerabilities. If these are not patched then I'd rather not use this finished software.
- mattgreenrocks 3y agoReally depends on target audience and environment. The closer you are to users/environments that are constantly in flux, the more you are pressured (both socially and technically) to keep updating. Software being finish-able shouldn’t be a fringe belief. The fact that it is really explains a lot about tech.
- hiAndrewQuinn 3y agoPushing forward the state of what software we consider "old Unix standbies" like `cd` and `ls` is part of why I started maintaining my shell-bling-ubuntu repo. I would love to see a day where ripgrep, find, fzf, etc become so ubiquitous they start making their way into the "standard" builds of user facing distros.
- epups 3y agoAny long-lived application is like a species, and every release is like a fossil. I see beauty in both the static and the dynamic.
- marcotm 3y agoSample size one, but I actually found that the iOS ecosystem works surprisingly well for having a finished app. I have one, created over six years ago with almost no updates over the past years. I intentionally built it in a way that does not require any kind of maintenance: It works offline, i.e., does not require a backend; it's a one-time payment through the App Store (no subscription -> no expectation of continuous updates); the free and paid versions only differ in how many items you can put in the database, i.e., everyone can try the full feature set before buying -> reduces complaints / refunds; etc. While these are deliberate design decisions, a nice benefit of the iOS ecosystem is that the app has kept working on every new iOS version without me updating anything in the code. Things like installation flow, payment processing, etc. are definitely components that would fall apart a lot sooner when not offered by the platform itself. Sure, platform lock-in and all that stuff, but so far the app just keeps generating happy users every month (and some pocket money).
- tanjtanjtanj 3y agoEven better, I have a hacked-together-in-a-weekend-for-a-class app for windows on the Microsoft store that was uploaded using a school account I can no longer access eight years ago. I have received literally daily warnings that the app will be delisted if I don't fix a laundry list of issues including security vulnerabilities, outdated libraries, new EULAs, Icons in different sizes, etc. Despite all of that the app is still there and able to be downloaded (just checked).
- godshatter 3y agoI have to say that I agree with GRRM's point about not wanting software to "correct" you. I seem to spend half my time while typing on my phone trying to convince it that what I typed is really what I wanted to type, and not what it thinks is what I wanted to type. Microsoft Office is also bad at this. Also, whoever decided that highlighting something should try to guess the whole words you wanted and when copying should throw a space on the end for no apparent reason should be, well... I shake my fist at you. I spend a lot of time re-highlighting something either to avoid the space on the end or the beginning or both or to get something out of the middle of the word and it's incredibly frustrating. Just stay out of my way. I've got this.
- furyofantares 3y ago> I seem to spend half my time while typing on my phone trying to convince it that what I typed is really what I wanted to type I'm curious why you don't turn those features off
- godshatter 3y agoLaziness, I guess. I haven't wanted to scour the settings for my keyboard and/or system settings for it. But, prompted by your question I did go root through the settings and got it all turned off.
- ryandrake 3y agoThese (and other examples) are of the same category: Computers should obey the user's commands, not ignore the user, and not try to second guess the user. Computers felt a lot more reliable (and a lot more fun) when they were essentially REPLs: Read a command from the user, start a process, execute the command, print the results, end the process, and repeat. Now, they're running hundreds of processes doing god knows what, trying to do things that you don't want them to do, nagging/notifying you constantly, suggesting this and nudging that. It's gone from something that executes the user's commands to something that commands the user.
- kazinator 3y ago"Finished" is practically a synonym for "source code not available" (proprietary or lost)
- The_Colonel 3y agoRather than "finished software" (which I consider to be impractical), I'm a fan of "converging software" - it has a clear goal, concept, direction. The large features are already there, they're being just refined. The software increasingly makes only small changes - fixing bugs, refining existing features, then refining those refinements. TeX would be one such example which reflects its converging nature in its versioning scheme. But I think it applies to a lot of other software - e.g. basic GNU utilities like grep, awk etc. are like that.
- girishso 3y agoUnrelated, but Wordstar reminded me of the time when I used a computer for the first time in 1993. The only thing I knew about computers was cd ws ws
- tonyedgecombe 3y agoIt's quite funny to think that back in the eighties ordinary (ie not technical) people were navigating the command line on their PC's.
- MarkusWandel 3y agoWhat this is talking about is tools. If I have a 17mm combination wrench, that will work exactly the same way indefinitely. Nobody, hopefully, will upgrade "17mm bolt" to "17mm bolt v2.0" that is actually 17.1mm and make my wrench not fit. Old software that does a specific thing, simply and standalone, can be a tool. Modern software, with a mindboggling variety of external dependencies, takes real effort to maintain in the "tool" model as dependencies change or retire. Take, for example an old video game that was fully debugged and released on physical media that can still be played (without even a physical machine, on archive.org) the same way. Versus a no longer maintained but treasured Android app or device, which falls behind and becomes unusable. Example: An old Android tablet that the kids use, was able to play Youtube videos. Then, somehow, it updated itself to a new Youtube version that's no longer compatible with it and now it can't, because Chrome has the same problem, and the native browser on there is too old to play web Youtube. Yet the device is still sound, still holds good battery charge and so on.
- thfuran 3y ago>Take, for example an old video game that was fully debugged and released on physical media A bug free game? I wish.
- PaulDavisThe1st 3y agoSo you have a 17mm wrench. It's awesome, feels great in the hand, solid on the nuts/bolts. It's a keeper and a winner. Then one day you need to 17mm socket wrench. A year later, you find yourself needing a 17mm deep socket wrench. The year after that, you've got a scenario where the deep socket wrench would work, but requires a cheater bar, and there's no space, so you need a drive adapter to connect it to an impact wrench. The following year, you start working on a vehicle where torque matters, and you need all of the above tools to work with a torque wrench. 6 months later, you realize you got a torque wrench that only goes up to 80 (units-of-torque) and now you need 100. ---- The difference with physical tools is that nobody will raise an eyebrow at you having all these variants of your 17mm wrench. By contrast, having all these variants of (to use TFA's example) a word processor would seem quite odd.
- 3y ago
- wenbin 3y agoDropbox and Evernote could've been perfect finished software in 2012. "Finished software" doesn't mean that developers will spend 0 time on it. "Finished software" is in the sense of no major user-facing changes (i.e., new product features, experimental features...). To ensure "finished software" continues to run in the coming years or even decades, developers may need to keep up with operating environment changes (e.g., OS, hardware...) & continue to upgrade infra software / libraries for bug/security fixes & performance improvements. Imagine that a tech company lays off all software engineers except for a few devops.
- 8n4vidtmkvmk 3y agoWould probably be a smart move for a lot of companies. If it's profitable it's profitable. Milk it for as much as possible by cutting costs, not adding useless features.
- HellDunkel 3y agoHow about calling it mature software? There comes a point in the lifecycle of certain software products where adding new features or minor improvements does not necessarily provide enough value to justify an update for everybody. I can see beauty in that. Often times the upgrade also comes with drawbacks such as increased loading times, new bugs or additional hardware requirements. It can be quite satisfying to realize that what you have does the job and there is no need to take the risk of an update. It makes you feel good about the product and adds to the respect you have for its devs. All in for mature software.
- lallysingh 3y agoI get your point but "mature" is already used for "not new" software a lot.
- phkahler 3y agoOr as I like to say, Stability is a feature - a very important feature.
- dynamite-ready 3y agoThis software design principle is conspicuously absent at this point in time. Sure, Agile is important, and Agile processes do generate good products. But those processes have also come to introduce a cyclic development model, that's permeated back into the tools, and larger tool developers (like, those in the React / NodeJS class in terms of user base size) have abused this good intent. Software can still be developed iteratively. That's not the problem. With CMake, for example, I don't 'fear' upgrades, because that team values the idea of 'finished' software. As does Microsoft. On the other hand, the NPM and Apple dev teams do not cherish this idea. And in turn, both their user and developer communities suffer in the long run. That's how I've come to see it recently.
- tonyedgecombe 3y agoMicrosoft will bend over backwards to maintain compatibility but at a huge cost to themselves. Can you imagine trying to fix a bug or vulnerability in some thirty year old Windows code without breaking anything. It must be like wading through treacle.
- seec 3y agoYeah, but to be honest it is worth the cost because it benefits them in the long term. This sends a good signal to potential partner/investors (as in software developer/companies) that it is worth investing your time/ressources into the platform because you can expect things to stay stable enough to create a vision/roadmap/future. In the case of Apple, your software better make money in the next 3 years because after that you can expect to rewrite a lot of it, if said software is still possible at all... There is not a lot of 3D software on macOS (especially CADs), but you cannot blame the devs. Mac were already pretty anemics when it came to GPU power but if you had an OpenGL codebase you would now need to rewrite it all to metal even though it can only work on an OS with one of the smallest market share.
- aeturnum 3y ago> This program embodies the concept of finished software — a software you can use forever with no unneeded changes. I think it's important for people to realize this is totally untrue. You can check the wikipedia for wordstar[1] and the first paragraph says, "...originally written for the CP/M-80 operating system, with later editions added for MS-DOS and other 16-bit PC OSes." Software needs to have the ability to change because the devices we run it on keep changing - either because we make new ones or the old ones wear out. This is why open source is so critical - because there is no such thing as "software you can use forever," there's only "software you can use right now and modify to continue to use in the future." That said I also appreciate software whose feature set is frozen - allowing it to quickly and easily be made available on many platforms and be immediately usable by anyone who encountered it before. [1] https://en.wikipedia.org/wiki/WordStar https://en.wikipedia.org/wiki/WordStar
- jroseattle 3y ago100%. Need to differentiate between finished FEATURES and finished software.
- avhon1 3y agoEmulation and compatibility layers seems to cover this just fine.
- aeturnum 3y agoYes - one way to deal with the fact that "software you can use forever" doesn't exist is to write more software whose source code you can update and just update that. However, that really just confirms what I am saying.
- kazinator 3y agoHow about the V2.00 ROM in my 1987-dated ADA MP-1 guitar pre-amp. It does what it's supposed to. Receives MIDI messages; changes programs; lets you edit and save; does the SysEx dumps and restores.
- eldenbishop 3y agoMost programmers never get to experience the amazing feeling of being truly done with a software project. I used to work on video games in the 90s which would go into a box and onto a shelf. We did not have updates or patches. The starting, creating and finishing of a concrete and complete project is not available for most programmers today.
- tonyedgecombe 3y agoI'm a bit envious of authors in that respect. Once their work is complete and sent off into the world they can stop thinking about it and move on to the next thing.
- nuancebydefault 3y agoI find this hard to believe. > cd command implementation does not change. I'm pretty sure the cd implementation needs to interface with different file systems. Those interfaces change or at least new interfaces appear when new file systems emerge. > The word processor does exactly what it needs to. What we use a word processor for, changes over time. Does the print function still work for my inkjet printer, in A4 format? Can I write emails with it, why should I even use the word processor if my email client has an embedded word processor? Can I embed images, only TIFF maybe? Unfortunately there is no such thing as forever software, unless you don't change the circumstances in which it is used, which is very unlikely.
- weavermarquez 3y agoI figured this 1994 paper would be relevant to the discussion about finished software, "Software Aging" by David Parnas. Read it for a software engineering course where the prof railed against the assumptions underlying the notion of finished software. https://www.cs.drexel.edu/~yc349/CS451/RequiredReadings/SoftwareAging.pdf https://www.cs.drexel.edu/~yc349/CS451/RequiredReadings/Soft...
- deleted 3y ago[deleted]
- rippeltippel 3y ago> When we buy a physical product, we accept that it won’t change in its lifetime. We’ll use it until it wears off, and we replace it. Not true. We accept that physical products WILL change due to wear and tear, repairs, and even deliberate modifications. It's true that car pedals will stay in the same position, and a table will keep having four legs, but their parts WILL be replaced. Physical products can also have bugs, hence the recall campaigns that happen now and then. Software just makes it easier to replace and modify, and open source allows more people to do that. It just happens that software runs on a physical product (a.k.a. hardware) that has a much lower need for maintenance than a car or a piece of fabric, so you can use it for longer if that pleases you.
- ChrisRR 3y agoFinished software? Never heard of it