Functional programming!<p>Functional programming languages have several classic features that are now gradually adopted by none FP languages.<p>Lambda expressions [1] is one such feature originating from FP languages such as Standard ML (1984) or Haskell (1990) that is now implemented in C#3.0 (2007), C++11 (2011), Java8 (2014) and even JavaScript (ECMAScript 6, 2015).<p>Pattern matching [2] is another feature that is now^2015 implemented in C#7.0. My bet is that Java and other will follow in the next versions.<p>Here is a list of FP features. Some of which are already adopted by none FP languages: Lambda expressions, Higher order functions, Pattern matching, Currying, List comprehension, Lazy evaluation, Type classes, Monads, No side effects, Tail recursion, Generalized algebraic datatypes, Type polymorphism, Higher kinded types, First class citicens, Immutable variables.<p>[1] <a href="https://en.wikipedia.org/wiki/Lambda_calculus" rel="nofollow">https://en.wikipedia.org/wiki/Lambda_calculus</a><p>[2] <a href="https://en.wikipedia.org/wiki/Pattern_matching" rel="nofollow">https://en.wikipedia.org/wiki/Pattern_matching</a>