I think we're talking about different things here. To be clear, I absolutely agree that functional programming concepts can be applied to any other language that does not feature it as one of their strongest paradigms. An generally, it's a good idea to do that to some degree, highly dependent on general language idioms.
In order to learn those concepts though I would recommend going for a language where those concepts are somewhere between important and fundamental. And that includes fundamental concepts like Monads, ADTs and referential transparency.
Whether exceptions are fine or not within FP really depends on the definition of both. I've seen monads being overused and annoying, but I've also seen them restoring maintainability for large codebases. For asynchronous code, they are very valuable.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
I think we're talking about different things here. To be clear, I absolutely agree that functional programming concepts can be applied to any other language that does not feature it as one of their strongest paradigms. An generally, it's a good idea to do that to some degree, highly dependent on general language idioms.
In order to learn those concepts though I would recommend going for a language where those concepts are somewhere between important and fundamental. And that includes fundamental concepts like Monads, ADTs and referential transparency.
Whether exceptions are fine or not within FP really depends on the definition of both. I've seen monads being overused and annoying, but I've also seen them restoring maintainability for large codebases. For asynchronous code, they are very valuable.