Anonymous functions or Lambdas are one of the most desirable features of a language. Languages like Erlang, C#, Golang, Python etc use lambdas to make life easy for developers. Unfortunately the language I worked with most of the time, Java, didn’t have any support for lambdas. When I came across the beauty of lambdas, it completely changed the way I used to write programs. Lambdas in objective-c are called blocks and they are first order functions.