It&#x27;s easy to underestimate what the advocates of functional languages are talking about. One can pass a function (pointer) to another function in C for example. Lots of languages have library support for pattern matching via regular expressions. Types are supported in various ways in most programming languages. However, these things aren&#x27;t even close to what is being talked about here, and that is why the comments are being down voted.<p>If you are interesting in studying and comparing programming languages, I  suggest picking up one of the five big functional languages: F#, OCaml, Haskell, Scala, or Clojure. Scala and Clojure are great, they run on the JVM, they perform well, are practical and pragmatic, but are probably not the best way to learn &quot;functional&quot; programming because they include too many additional features or leave out some features that some consider important. I would recommend starting with Haskell and then comparing it to the others to see if one of these could be helpful in your own programming. There are good, free resources for learning functional programming, see [1].<p>[1] <a href="http:&#x2F;&#x2F;learnyouahaskell.com" rel="nofollow">http:&#x2F;&#x2F;learnyouahaskell.com</a>