Torvalds is an engineer applying engineer’s thinking, and here “practice” means engineering. The context was problems with a particularly awful API that just wasn’t fit for purpose, but which had twenty years’ encrusted usage to work around. He was responding to an ext4 filesystem programmer who was complaining that KDE4 users suffering dataloss on ext4 just weren’t using the bad API the way he thought they should, even though other filesystems did not exhibit the dataloss.
I must confess that, reading the email, I don’t see how he derives the last line from what he’s saying above … it doesn’t seem to follow from taking about a 20-years-encrusted SNAFU. Perhaps it does follow from a programmer demanding people use an API the way he thinks they should, rather than the way everyone conventionally had for two decades. Real-world use winning over abstractions of how things should be:
So rather than come up with new barriers that nobody will use, filesystem people should aim to make “badly written” code “just work” unless people are really really unlucky. Because like it or not, that’s what 99% of all code is.
It is, however, a widely-quoted statement—it resonates with people somehow. This is not, of course, the same as constituting or being about rationality.
It’s about rationality on the grounds that the filesystem programmer had lost sight of the necessity of winning; in this case, putting out code that actually works, rather than code that makes the programmer feel good.
It’s painful to write clunky APIs, and pleasant to write elegant APIs… but that doesn’t mean much if your elegant code would just be thrown away on release because everyone’s already using the existing API.
Torvalds is an engineer applying engineer’s thinking, and here “practice” means engineering. The context was problems with a particularly awful API that just wasn’t fit for purpose, but which had twenty years’ encrusted usage to work around. He was responding to an ext4 filesystem programmer who was complaining that KDE4 users suffering dataloss on ext4 just weren’t using the bad API the way he thought they should, even though other filesystems did not exhibit the dataloss.
I must confess that, reading the email, I don’t see how he derives the last line from what he’s saying above … it doesn’t seem to follow from taking about a 20-years-encrusted SNAFU. Perhaps it does follow from a programmer demanding people use an API the way he thinks they should, rather than the way everyone conventionally had for two decades. Real-world use winning over abstractions of how things should be:
It is, however, a widely-quoted statement—it resonates with people somehow. This is not, of course, the same as constituting or being about rationality.
It’s about rationality on the grounds that the filesystem programmer had lost sight of the necessity of winning; in this case, putting out code that actually works, rather than code that makes the programmer feel good.
It’s painful to write clunky APIs, and pleasant to write elegant APIs… but that doesn’t mean much if your elegant code would just be thrown away on release because everyone’s already using the existing API.