Category theory has several faces known not just to specialists, but to other mathematicians. A term dating from the 1940s, "general abstract nonsense", refers to its high level of abstraction, compared to more classical branches of mathematics. Homological algebra is category theory in its aspect of organising and suggesting calculations in abstract algebra. Diagram chasing is a visual method of arguing with abstract 'arrows'. Topos theory is a form of abstract sheaf theory, with geometric origins, and leads to ideas such as pointless topology.
Consider the following example. The class Grp of groups consists of all objects having a "group structure". More precisely, Grp consists of all sets G endowed with a binary operation satisfying a certain set of axioms. One can proceed to prove theorems about groups by making logical deductions from the set of axioms. For example, it is immediately proved from the axioms that the identity element of a group is unique.
Instead of focusing merely on the individual objects (e.g. groups) possessing a given structure, category theory emphasizes the morphisms — the structure-preserving mappings — between these objects. It turns out that by studying these morphisms, we are able to learn more about the structure of the objects. In the case of groups, the morphisms are the group homomorphisms. A group homomorphism between two groups "preserves the group structure" in a precise sense — it is a "process" taking one group to another, in a way that carries along information about the structure of the first group into the second group. The study of group homomorphisms then provides a tool for studying general properties of groups and consequences of the group axioms.
Abstracting again, a category is itself a type of mathematical structure, so we can look for 'processes' which preserve this structure in some sense. Such a process is called a functor. It associates to every object of one category an object of another category; and to every morphism in the first category a morphism in the second.
In fact, what we have done is define a category of categories and functors – the objects are categories, and the morphisms (between categories) are functors.
By studying categories and functors, we are not just studying a class of mathematical structures and the morphisms between them, we are studying the relationships between various classes of mathematical structures. This is a fundamental idea, which first surfaced in algebraic topology. Difficult topological questions can be translated into algebraic questions which are often easier to solve. Basic constructions, such as the fundamental group of a topological space, can be expressed as functors in this way, and the concept is pervasive in algebra and its applications.
Abstracting yet again, constructions are often "naturally related", a vague notion at first sight. This leads to the clarifying concept of natural transformation, a way to "map" one functor to another. Many important constructions in mathematics can be studied in this context. 'Naturality' is a principle, like general covariance in physics, that cuts deeper than is initially apparent.
Stanislaw Ulam, and some writing on his behalf, have claimed that related ideas were current in the late 1930s in Poland. Eilenberg was Polish and studied mathematics there in the 1930s. Category theory is also, in some sense, a continuation of Emmy Noether's (one of Mac Lane's teachers) work in formalizing abstract processes. Noether realized that in order to understand a type of mathematical structure, one needs to understand the processes preserving this structure. In order to achieve this understanding, Eilenberg and Mac Lane proposed an axiomatic formalization of the relation between structures and the processes preserving them.
The subsequent development of category theory was powered first by the computational needs of homological algebra; and later by the axiomatic needs of algebraic geometry, the field most resistant to being grounded in either axiomatic set theory or the Russell-Whitehead view of 