There's a question I've been asking myself for some time already. It is "Can you name a program that you totally satisfied with?" After reading "Software vs. Hardvare" post in VC15 blog, I came to this thought again.
What's kinda depressing me, is that I cannot remember a program that I could say to be so good that it does what it is meant to do and does not give me any frustration/dissatisfaction in any way.. Maybe there are some games that are made really nice, but what's about not-gaming software?
So I'd like to address this question to the whole community here: "Can you name a program that you may frankly say to be flawless?"
Interesting question. It's strange that nobody hasn't provided any examples yet. I'm writing this comment a few hours later after having read the post. I expected some fans to post comments like these: "Linux is perfect, it can do everything I need", "I am fond of Vim. Not only it is a good text editor, it can also play chess with you" and so on.
But from the other hand I think nobody could say that some software is flawless. In "The Mythical man-month" by Frederick Brooks it is said: "... the programmer delivers satisfaction of a user need rather than any tangible product. And both the actual need and the user's perception of that need will change as programs are built, tested, and used". I understand it as follows. Once you started using a good program it fits you well. It has all the necessary functionality you lacked before. After some time you get used to the program and start willing it to have more features because "the perception of your need" has changed.
For example, suppose you want to write C++ source code. You start typing it in Windows notepad. It is perfectly capabale because it is intended for writing text! Having written some lines of code you get frustrated - there is no auto indentation and it's very inconvenient to do it manually. So you move to Notepad++ (for instance). Great! It auto-indents the text and, more over, it has syntax highlighting. Hardly anything exists better than it!
With the code growing its getting awkward to navigate it by mouse scrolling or pressing "Page Up"/"Page down". You need some code navigation tool (Does anybody know if Notepad++ has the one?). You switch to another editor.
Then you will want to split the code in multiple files and manage them, compile it, execute, debug, refactor and so on. So you will end up with an IDE. Having started with simple text writing and a small program the evolution of your needs has led you to complex software with a wide variety of functions. And by no means it's going to satisfy you fully for a very long period of time.
Well, you kinda right and wrong at the same time, I think. You are right that if we keep wanting more and more from a single program, it will never fulfill our expectations.
Still I think it's reasonable to expect the program to be flawless at what it was supposed to do. E.g. Notepad was not supposed to be an IDE, so there's no need to blame it to be a good IDE, right? As far as I understand, Notepad was supposed to provide some simple and quick way to enter/read simple texts. Still I can't say that it is doing it as good as it should be...
I bet that almost all winning programs on Hugi Compo are "perfect". I myself once spent about a hour to write similar "perfect program" - it was about 20 bytes long (compiled code) and since so, there surely just was no place for errors. The goal was to invent self-replicating code which permanently cycles through 64k segment of memory in x86 real mode.
Besides such specific programs, I think, question of "perfect" software is senseless.