4 ms·
The inability to fully understand how a system works due to the interconnecting pieces is not a problem unique to software either! That ship sailed a long time
by 72deluxe 6y ago
The inability to fully understand how a system works due to the interconnecting pieces is not a problem unique to software either! That ship sailed a long time ago. E.g. with cars can the average person now repair it at home and maintain the entire car themselves? It would be foolish to recommend that we "fix" cars because of our inability to personally understand the entire thing from inception to finish, yet some feel we can apply the same to software.
Just look at the Windows Internals books to understand the complexity of just the systems in the operating system. It isn't something that needs to be "fixed" just because something is complex.
Everything is more complex than we think it is, and that's not really a problem.
- imglorp 6y agoCar maintenance can be shifted to another party with a different business model, eg leasing your car makes it someone else's problem. Similarly, "Functions as a Service" makes many problems the hosting provider's problem. All of the low level goop is theirs. You still have OP's problems but the responsibility surface is reduced.
- pdimitar 6y agoBut then you get an entirely new and surprising goop of problems like bursty lag problems (one out of 500 requests finishes in 5s instead of 0.1s), lack of consistency because one of the datacenters is offline, and so many others. It's more like "you now have to deal with different problems" much more than it is "you have to deal with less problems". Maybe the problem quantity got reduced from 1000+ to 50+ but the latter might swallow much more time to solve so it's really questionable which of both is better.
- cxr 6y agoI don't know whether or not you've had the opportunity/personal experience of owning two cars concurrently for which you are the only party responsible for doing repairs and maintenance, and where one is much newer (say >10 years), putting you in a position to be able to compare and contrast the two. Cars are not a good example to point to. The thing that would make cars a good example would be if cars were shown to exhibit a steady increase in essential complexity. In that case, yes, we might point to them and say, "Maybe the situation for software is the same, and we're mistaken to have any unreasonable expectations to the contrary?" But that doesn't match reality. Car manufacturers are as guilty as software developers of producing things that have gotten steadily complex without good engineering reasons to justify the complexification. (Pre-emptive request: please do not respond to this comment as if I'm arguing that cars have not become safer or more fuel efficient.)
- 72deluxe 6y agoYes I have a 1972 VW Beetle, and a 2016 VW Beetle. I can safely say that the former is far simpler and also doesn't require a computer to diagnose or repair. It also doesn't have any firmwares that I can't update, eg. the bluetooth controller in the modern Bug, or the stereo. I can't enable the telephone button on my steering wheel without paying VW. I can't enable Android Auto without paying VW £200 here in the UK. (They couldn't even get it to work when I asked them to). As for the mechanical components of the car - the modern Bug is a diesel (non-PD) so has a common rail fuel system. I can read fault codes with the OBD2 mechanism but not everything is accessible. Both tremendous fun but the modern one is 100 times more complex and I would struggle to maintain it single-handedly. But I don't feel the need to reduce the modern car or "fix" the issue of its complexity simply because it is more complex. My wife has a Mini that has developed a fault but who knows what sensor has failed according to the OBD2 codes?! I don't feel the need to "fix" that and reduce it to the old 1991 Mini Cooper I had (which had its own set of baffling problems, like in-line fuses for important things like the injector but a fuse box for non-essential things like the interior light..... but that's another story).