The use of computers in mathematics for long and complex calculations has allowed us to use mathematical tools to model the real world in detail that would have been unimaginable in past decades. In recent years, computational mathematical tools have been used for a huge variety of tasks, from detecting gravitational waves to contactless payment. All of these tasks are computational problems, usually involving very long or complex calculations, but the link between mathematics and computer science is much deeper than as a tool for solving computational problems.
Mathematics and computers share the same basic language, the language of logic, but they also share a philosophy. In object orientated programming, objects are created according to a template called a class. A class outlines the properties and operations that can be performed on the corresponding objects, and can inherit properties from parent classes. This allows the programmer to ensure objects that are similar in some way to share a common collection of properties and operations. This process of abstraction is very powerful and flexible, and is precisely the same as the process of abstraction that has been employed by mathematicians. Continue reading “Abstract Python”