CAP theorem states that it’s impossible for a distributed computer system to have all the following simultaneously
All part of the systems see the same data.
A guarantee that each request receives a response regardless of success / failure.
- Partition tolerance
The whole system continue to work despite disconnection, message loss or any failure in the subsystems.
Eric Brewer said that a distributed computer system can only have 2 out of these 3 functions at a time.
I was looking for a specific theorem called CAP theorem, but came across these interesting, sort of funny but somewhat true, software laws.
I think these laws are useful to get better understanding of philosophy behind a software or computer science in general.
- Atwood’s Law
- Brooks’s Law
Adding manpower to a late software project makes it later.
- Conway’s law
Any piece of software reflects the organizational structure that produced it.
- Miller’s law
To understand what another person is saying, you must assume that it is true and try to imagine what it could be true of.
- Wirth’s law
Software gets slower faster than hardware gets faster.