Tue, 27 Jul 2010 12:02:36 -0700, Walter Bright wrote: > retard wrote: >> Mon, 26 Jul 2010 14:04:53 -0700, Walter Bright wrote:
> That misses the point about reliability. Again, you're approaching from > the point of view that you can make a program that cannot fail (i.e. > prove it correct). That view is WRONG WRONG WRONG and you must NEVER > NEVER NEVER rely on such for something important, like say your life. > Software can (and will) fail even if you proved it correct, for example, > what if a memory cell fails and flips a bit? Cosmic rays flip a bit? ECC memory helps a bit and so does RAID arrays. A server might also have 2 + power supplies with batteries. On software side you can spawn new processes and kill old ones. Typical low-end server hardware used to serve web pages doesn't have much more hardware support for reliability. >> How the web programming world works: >> >> ''I'm not a real programmer. I throw together things until it works >> then I move on. The real programmers will say "yeah it works but you're >> leaking memory everywhere. Perhaps we should fix that." I'll just >> restart apache every 10 requests.'' -- Rasmus Lerdorf >> >> It it widely accepted that web applications fail often. It suffices if >> the developers are fixing bad code eventually, but the remaining parts >> should work reasonably well. Either a process is restarted or >> exceptions are used to catch small error conditions so the server could >> server *something* . I'm talking about practical web applications, not >> X-ray machines. > > It's retarded (!) to pretend that this is how one makes reliable > systems. I understand you meant reliable systems. But my original post was about real world web sites. I've been in a project where the manager told us to outsource development because the system written by the local workforce would have made it *too reliable*. If you can make the system only 20% more unreliable by cutting off 80% from the salaries, it's a big win. The idea is that since people accept a certain downtime and certain kind of error states for typical web sites, it's ok to have those problems. You just need to keep the number of bugs low enough. A 90..100% reliability isn't important.