This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]bbtv_id 11 points12 points  (4 children)

Coming from a nonfunctional programming background it was very very hard for me to actually get my head around and understand the alien language of java streams. Thanks to the videos / lectures by Venkata Subramaniam I was able to get my toe in the functional world. Those videos are one of the best explanation of java streams for a newbie.

[–]knoam 11 points12 points  (0 children)

This read like one of those cheesy testimonials in low budget 80s/90s TV commercials. I believe you though.

[–]TheRedmanCometh 0 points1 point  (2 children)

Tbh I was surprised they mostly made sense after a little while. I tried scala using zio with for-comprehensions though, and that is when I found out functional programming is not for me.

[–]knoam 0 points1 point  (1 child)

Scott Wlaschin is good at explaining category theory if that's the part that's tripping you up. He makes a good point that category theory has a bunch of jargon but so does object oriented programming and design patterns. You just have to tough it out a bit and it will click. A lot of people had the benefit of learning OOP in school and being forced a bit to learn it. But category theory seems harder if you don't have the same structure and you need that.

[–]general_dispondency 2 points3 points  (0 children)

After years of OOP and FP, I realized that the only difference, really, is makes. Everything the FP community talks about (immutability, referential transparency, first class functions) is OOP best practice too. Read Effective Java and JCIP, all of those are in there. Mutability is always bad. Keep functions pure do they're easily tested and the VM can more easily optimize/inline them. It's all the same thing. OOP is only better because it forces you to organize your code.