Computer programs must be written very carefully. If a programmer makes mistakes, or a program tries to do something the programmer did not design it to do, then the program might then stop working, which is called "crashing". When a program has a problem because of how the code was written, this is called a "bug". A very small mistake can cause a very big problem.