Re:Java 12
by iainmerrick on Tuesday March 19, 2019 @06:41PM
(#19436855)
Pedantically, you can't just redefine a term to suit your need calling something "pure" or "unpure".
No, I think they are using those terms correctly. In FP, “pure” means absolutely no side-effects. So if you add an FP-style library to an existing imperative language, that’s “impure”.
Re:Java 12
by ilovecaching on Tuesday March 19, 2019 @06:53PM
(#19436962)
That's not the context in which the word was used, but it's a fair point. I have worked professionally with Haskell, and while I am not good at it (my forte is Erlang which is what I would consider "close to functional"), other developers I have worked with were very good, and watching them code in non functional languages and listen to how they thought about solving problems is were I developed the idea that adding a few features doesn't make a language functional.
> We found out, on the other hand, that people care for mixing that style of programming with OO, imperative, reactive, and other styles.
Which is why you forgot to mention Scala, which shows us how great such a promise land can be when we try to please everyone.
> JS, Java, C#, Rust, etc (even C++) give us.
Out of the languages you mentioned, only certain circles of Javascript (React) and Rust are arguably functional as I mentioned above. Javascript has been a real exception to the rule in how its lack of real class support left a vacuum for some FP. C++, C#, Java, and the majority of Javascript are object oriented and always will be.