This document provides an overview of lambda expressions in .NET and Java. It introduces lambda expressions and their origins in lambda calculus. Examples are given of using lambda expressions in C# and F# with LINQ and delegates. The evolution of delegates in C# is discussed, from using methods to anonymous methods to lambda expressions. Expression trees in C# are also covered. The differences between lambda expressions in C# and Java are highlighted, with examples given of sorting lists of objects using lambdas in each language. In summary, lambdas are unnamed inline functions that can be used anywhere a delegate is required to keep code encapsulated.