Hi there, basically my question is this: should I pick Kotlin to learn "real" functional programming?
Some background:
I am - yet another - old school OO/Java developer wanting to learn functional programming. Since Java8/Lambdas/Streams I actively use "functional" concepts whenever I feel it makes sense, but more on a method-level scale.
I still have no idea how to build an entire real world app that way.
My desire to really learn FP is to evolve as a programmer, to expose myself to new concepts. This is not a career decision or something.
My plan is to start with some playing around, some katas, some coding games. And finally a "real world" web app. I have no mathematical background and I'm not interested in the academic aspects of FP. I would like to understand FP as a tool for "real world programming".
So the obvious language choice would have to be something like Haskell, to force me into "proper" functional programming.
Since I know and enjoy VS Code I was happy to see Haskell plugin support there, so I tried to get into it. But I was really struggling with the (IMHO poor) tooling. I am prepared to struggle with the new concepts, the new language, the new thinking. But fighting with the tooling for days on end really puts me off.
I am now considering F#, which is "functional first" with professional tooling (VS Code) and I will probably end up picking this.
But not before considering Kotlin again. 😄
I had already used Kotlin in private side projects two or three years ago and absolutely loved it, because it really is "the better Java". Unfortunately I can not use it in my day job, because there is no way around Eclipse in our projects for various reasons. This will not change.
So here is my question again: Should I pick Kotlin to learn "real" functional programming?
I'm aware that you guys are probably a bit biased - I'm prepared for that.
And sorry for the wall of text.