Functional Programming is style of crafting software where functions are the fundamental building blocks. Among other features, this allows programmers to create simpler software for complex problems.
Individual languages can either help or hinder this style of programming. The extremes swing from "Purely Functional" to "Imperative". Most functional programming languages have some imperative facilities and vice-versa.
The Functional Thinking (video) presentation is a good start, although it assumes knowledge of Java semi-technical audiences can fully appreciate the the rationale and flexibility of functional programming.
Erik Meijer's Presentations (video) are pretty good, the first few are language agnostic.
Send a message or join us now on Slack and ask any questions you have, we can refer you to whatever you need based on your experience and need.
This is a living document and work in progress. If there is something in particular that you love let us know.
We appreciate your interest!
The following links are from our Functional Programming channel on Charleston Tech Slack: