Roy Smith wrote: > In article <mailman.4930.1388908293.18130.python-l...@python.org>, > Chris Angelico <ros...@gmail.com> wrote: > >> On Sun, Jan 5, 2014 at 2:20 PM, Roy Smith <r...@panix.com> wrote: >> > I've got a new sorting algorithm which is guaranteed to cut 10 seconds >> > off the sorting time (i.e. $0.10 per package). The problem is, it >> > makes a mistake 1% of the time. >> >> That's a valid line of argument in big business, these days, because >> we've been conditioned to accept low quality. But there are places >> where quality trumps all, and we're happy to pay for that. Allow me to >> expound two examples. >> >> 1) Amazon >> >> http://www.amazon.com/exec/obidos/ASIN/1782010165/evertype-20 >> >> I bought this book a while ago. It's about the size of a typical >> paperback. It arrived in a box too large for it on every dimension, >> with absolutely no packaging. I complained. Clearly their algorithm >> was: "Most stuff will get there in good enough shape, so people can't >> be bothered complaining. And when they do complain, it's cheaper to >> ship them another for free than to debate with them on chat." > > You're missing my point. > > Amazon's (short-term) goal is to increase their market share by > undercutting everybody on price. They have implemented a box-packing > algorithm which clearly has a bug in it. You are complaining that they > failed to deliver your purchase in good condition, and apparently don't > care. You're right, they don't. The cost to them to manually correct > this situation exceeds the value. This is one shipment. It doesn't > matter. You are one customer, you don't matter either. Seriously. > This may be annoying to you, but it's good business for Amazon. For > them, fast and cheap is absolutely better than correct.
One, you're missing my point that to Amazon, "fast and cheap" *is* correct. They would not agree with you that their box-packing algorithm is buggy, so long as their customers don't punish them for it. It meets their requirements: ship parcels as quickly as possible, and push as many of the costs (damaged books) onto the customer as they can get away with. If they thought it was buggy, they would be trying to fix it. Two, nobody is arguing against the concept that different parties have different concepts of what's correct. To JMF, the flexible string representation is buggy, because he's detected a trivially small slowdown in some artificial benchmarks. To everyone else, it is not buggy, because it does what it sets out to do: save memory while still complying with the Unicode standard. A small slowdown on certain operations is a cost worth paying. Normally, the definition of "correct" that matters is that belonging to the paying customer, or failing that, the programmer who is giving his labour away for free. (Extend this out to more stakeholders if you wish, but the more stakeholders you include, the harder it is to get consensus on what's correct and what isn't.) From the perspective of Amazon's customers, presumably so long as the cost of damaged and lost books isn't too high, they too are willing to accept Amazon's definition of "correct" in order to get cheap books, or else they would buy from someone else. (However, to the extent that Amazon has gained monopoly power over the book market, that reasoning may not apply. Amazon is not *technically* a monopoly, but they are clearly well on the way to becoming one, at which point the customer has no effective choice and the market is no longer free.) The Amazon example is an interesting example of market failure, in the sense that the free market provides a *suboptimal solution* to a problem. We'd all like reasonably-priced books AND reliable delivery, but maybe we can't have both. Personally, I'm not so sure about that. Maybe Jeff Bezos could make do with only five solid gold Mercedes instead of ten[1], for the sake of improved delivery? But apparently not. But I digress... ultimately, you are trying to argue that there is a single absolute source of truth for what counts as "correct". I don't believe there is. We can agree that some things are clearly not correct -- Amazon takes your money and sets the book on fire, or hires an armed military escort costing $20 million a day to deliver your book of funny cat pictures. We might even agree on what we'd all like in a perfect world: cheap books, reliable delivery, and a pony. But in practice we have to choose some features over others, and compromise on requirements, and ultimately we have to make a *pragmatic* choice on what counts as correct based on the functional requirements, not on a wishlist of things we'd like with infinite time and money. Sticking to the Amazon example, what percentage of books damaged in delivery ceases to be a bug in the packing algorithm and becomes "just one of those things"? One in ten? One in ten thousand? One in a hundred billion billion? I do not accept that "book gets damaged in transit" counts as a bug. "More than x% of books get damaged", that's a bug. "Average cost to ship a book is more than $y" is a bug. And Amazon gets to decide what the values of x% and $y are. > I'm not saying this is always the case. Clearly, there are companies > which have been very successful at producing a premium product (Apple, > for example). I'm not saying that fast is always better than correct. > I'm just saying that correct is not always better than fast. In the case of Amazon, "correct" in the sense of "books are packed better" is not better than fast. It's better for the customer, and better for society as a whole (less redundant shipping and less ecological harm), but not better for Amazon. Since Amazon gets to decide what's better, their greedy, short-term outlook wins, at least until such time as customers find an alternative. Amazon would absolutely not agree with you that packing the books more securely is "better", if they did, they would do it. They're not stupid, just focused on short-term gain for themselves at the expense of everyone else. (Perhaps a specialised, and common, form of stupidity.) By the way, this whole debate is known as "Worse is better", and bringing it back to programming languages and operating systems, you can read more about it here: http://www.jwz.org/doc/worse-is-better.html [1] Figuratively speaking. -- Steven -- https://mail.python.org/mailman/listinfo/python-list