> Real World OCaml is aimed at programmers who have some experience with conventional programming languages, but not specifically with statically typed functional programming. Depending on your background, many of the concepts we cover will be new, including traditional functional-programming techniques like higher-order functions and immutable data types, as well as aspects of OCaml's powerful type and module systems.
It's a nice segue into the world of functional programming if you're not ready to give up on imperativeness just yet.
[1] - https://msdn.microsoft.com/en-us/library/hh314518.aspx
After all, if you try hard enough, you could code in a functional style in C.
Eric Lippert's Monad Posts, starting at https://ericlippert.com/2013/02/21/monads-part-one/ - Uses C# to build up Monads using examples.
Slides: https://speakerdeck.com/swlaschin/domain-driven-design-with-...
Video of talk: https://vimeo.com/97507575
http://chriswarbo.net/blog/2015-01-18-learning_functional_pr...
The nice thing that either language will help introduce functional ideals. I recommend Erlang since its so unique.
For me at least, this site made programming fun again! It's colorfully written and mostly easy to follow, though some of the concepts are a bit mind blowing if you are only familiar with OOP like I was (passing a collection of functions to map really made me stop and think). Oh and it's a pretty neat way to learn emacs if you haven't already.
And then you go from there.
The last section there is important. In the real world, your language is not always your choice, but it's perfectly possible to put functional structure in most any language.
[0] https://app.pluralsight.com/library/courses/csharp-applying-...