In computer science, we often deal with problems that are too complex to solve directly, so we break them down into smaller, more manageable parts.
The best way to predict the future is to create it.