The $\lambda$-calculus models the core of functional programming languages. This essay discusses a gap between the theory of the $\lambda$-calculus and functional languages, namely the fact that the former does not give a status to \textit{sharing}, the essential ingredient for efficiency in the lattter.
The essay overviews the perspective of the author, who studied and studies sharing from various angles. In particular, it explains how sharing impacts on the \textit{equational} and \textit{denotational} semantics of the $\lambda$-calculus, breaking some expected properties, and requiring the development of new, richer semantics of the $\lambda$-calculus.