First-Class Citizens
The term “First-Class Citizens”, within the context of Computer Science, was coined by Christopher Strachey. This term represents the following principals:
The rights and privileges of first-class citizens
- To be named by variables.
- To be passed as arguments to procedures.
- To be returned as values of procedures.
- To be incorporated into data structures.
A common case, when a programming language refers to functions as “first-class citizens”, this equates the following principles to be true for them.
Noted, for historical reasons.











