https://kotlinlang.org logo
Title
a

Alex

06/13/2019, 9:00 PM
Hey guys let me introduce myself and tell you why did I come in the first place: I'm 34, I have a small boy (15 months old!) and I've been developing software professionally for the last 4 years, mostly server side Java. I've been thinking what would be the best way to start learning FP since I started with Kotlin like a year ago. I'm always eager to learn and to improve my skills and knowledge. I couldn't find a trustworthy source to learn FP in Kotlin and given that Java is the language that I know the better and that Kotlin <- Java, I've bought the Functional Programming in Java book from Pierre Yves Saumont. Currently I've read half of the book. I've also been watching some videos from Kotlin, Arrow, 47 (I know some of you guys are here), category theory, etc. But it's a hard topic and I'm completely alone cause nobody knows what I'm talking about around me… Could you guys please shine a light on me? I mean, what do you think would be the best initial approach to learn FP effectively? What's in your opinion the best book/course to learn the fundamentals in Kotlin? I know about the red book of Scala but I would prefer to focus on Kotlin cause I really like it and I have real expectations of using it at work. So, where do you think is the best place to start practicing? Raul suggested me on Twitter that maybe I could contribute to some OSS so, how? Learn through pull requests? What do you tend to recommend to newcomers?
m

Mike

06/13/2019, 9:05 PM
Pierre Yves Saumont also wrote https://www.manning.com/books/the-joy-of-kotlin, which is basically ‘Functional Programming in Kotlin’, but with a different name. But I don’t think either are really good intro to FP books. I’ve started reading https://underscore.io/books/scala-with-cats/, and it might be ok as an intro, but it’s in Scala obviously. I agree it takes a lot. I keep looking, and dabbling with FP coding, and I’m slowly learning it. Far from an expert, but I do find repetition of reading, and reading different takes, and different languages helps it all solidify in your mind.
a

Alex

06/13/2019, 9:15 PM
Also bought that book too haha. Currently waiting the order. Thanks Mike!
s

sngrekov

06/13/2019, 9:38 PM
IMO if you want to learn how to think in functional paradigm, then I would say Kotlin is bad choice. Start learn with functional language, like Ocaml or Haskell, cause they are more restrictive and will force you to write in functional manner and only after that try to apply this new knowledge on the daily basis with more general languages like Java or Kotlin.
a

Alex

06/13/2019, 9:42 PM
Well, sounds reasonable. I'll take that into account. Thanks for sharing Sergey!
p

pakoito

06/14/2019, 12:16 AM
Domain Modeling Made Functional is a good starter book! It's f# so the syntax is clear.
😉 1
t

tmg

06/14/2019, 9:10 AM
Learn you a haskell for great good
is a great start! also digital version is free : http://learnyouahaskell.com/
but that is for basics of functional programming, it's not domain modeling, or category theory. But once you know the basics, the rest is cakewalk.
a

Alex

06/14/2019, 10:16 AM
Well that's exactly what I need at this point, Tiago. Understand the basics and keep moving forward. Thanks!
p

pardom

06/14/2019, 1:28 PM
This might not be exactly what you’re looking for, but I think this is one of the best ways to get into the “functional” mindset and learn some of the building blocks of FP: pure functions & composition.

https://www.youtube.com/watch?v=3VQ382QG-y4

a

Alex

06/14/2019, 7:11 PM
Well, even though I'm not a big fan of JS it seems like a good introduction. Thanks Michael!